付艷玲,張慶,王宏偉,呂慶,王婉
(中國檢驗檢疫科學研究院,北京,100176)
仿生口腔機器人是根據仿生學原理,模擬人體口腔運動功能的仿生機器人。此類機器人是基于綜合仿生學,結合空間機構設計、智能控制技術、電機驅動技術等多種學科模擬人體口腔機構特點、行為方式和運動功能的裝置【1】。然而,由于人體口腔特殊的不規則構造和復雜的運動模式,導致此類機器人對控制系統有著更高的要求【2】。
早期的機器人設計中通常采用AVR系列微控制器[3]、DSP數字信號控制器[4]等對功能簡單的機器人系統進行控制,此類控制系統集成度低、實時性差,一定程度上降低了機器人的自動化程度。基于此,本文以實驗室自行研制的仿生口腔機械裝置為對象,采用stm32系列嵌入式微處理器及μC/OS-II實時多任務操作系統構成控制系統的核心,執行單元的驅動模塊采用通用器件搭建,設計了一套集成度高、體積小、功耗小、實時性好的硬件控制系統平臺,并基于此平臺進行了相關功能的軟件設計及實驗驗證。
在控制系統設計之前,本文通過人體口腔的構造以及運動功能分析,搭建了仿生口腔機器人的機械本體結構。仿生口腔機器人在結構設計時遵循了“行態仿生,突出功能”的原則,利用Solidworks設計了仿生部件、機械零部件和組件等,并對各仿生部件及組件進行組合,形成一個完整的裝配體【5】,其總體結構圖如圖1所示。

圖1 仿生口腔機器人建模結構圖
仿生口腔機器人的機械結構自下而上分成底座、仿生脖頸和仿生口腔三個部分,具有如圖2所示的4個自由度,分別負責仿生口腔腔體水平旋轉、上下旋轉、傾斜翻轉和頜面開合運動控制。仿生口腔機器人的機械結構本體,能夠滿足機器人的仿生機械部分的機構及性能要求,是控制系統設計的母板和基礎。

圖2 仿生口腔機器人關節自由度示意圖
仿生口腔機器人的運動狀態是一個非常復雜的過程,以現有的技術手段對其進行運動解析基本無法實現,本文對口腔機器人的仿生關節的運動功能進行簡化處理,為整體的設計實現帶來了可能。
基于仿生口腔機器人的機械結構和運動需求,其控制系統要同時控制4個關節驅動器工作,并進行大量計算協調多關節的運動,還要具備良好的擴展性,因此控制系統的主控制器決定采用高性能、低成本、低功耗,具有多路PWM輸出功能和豐富I/O端口的STM32系列微控制器。關節驅動器采用直流舵機,即一種位置(角度)伺服驅動器。控制系統的控制原理如圖3所示。

圖3 控制系統控制原理圖
控制系統具備很好的單機性能,用于人機交互的液晶觸摸顯示屏用來完成機器人的動作規劃,確定機器人的運動狀態;主控制器接收液晶屏輸入的用戶指令,并將指令解析成對應的運動模式,然后轉換為對關節驅動器的操作指令,發送給各個關節驅動器,完成多關節的協調運動;關節驅動器處于控制系統的終端,接收主控制器的指令信息,完成對關節的驅動控制。
控制系統的硬件電路由核心控制單元及其外圍接口電路,舵機驅動電路、人機交互模塊、存儲器模塊、藍牙模塊、電源管理模塊等組成【6】。系統硬件結構圖如圖4所示。控制系統實現操控功能的關鍵模塊為主控部分、電源部分和人機交互部分。電源部分負責給控制系統的各個模塊供電。主控部分響應人機界面輸入的控制指令,對仿生口腔機器人的機械結構進行集中控制,負責機械結構各關節的舵機驅動。人機交互部分是操作者與主控制器的數據交互,主要用于實現信息顯示、狀態顯示、信息輸入、狀態輸出等信息交互功能。

圖4 控制系統硬件結構圖
主控部分采用基于Cortex-M3內核的STM32F103ZET6作為主控制器。該控制器集成了多路PWM控制單元和豐富的外圍I/O資源、具有運行處理速度快,低功耗以及多任務等特點。這款控制器的高性能、高性價比、簡單易用的開發方式,能充分滿足本項目的設計需求。
關節驅動器采用30kg單軸金屬數字伺服舵機DS3230,工作電壓為4.8V-6.8V,可控角度為360度,脈寬范圍為500us-2500us,控制精度為3us,工作頻率為50-330Hz,驅動方式為PWM驅動輸出。DS3230數字伺服舵機內部采用MCU控制,單次PWM脈寬控制信號可鎖定舵機輸出角度,因此在性能上具有控制精度高、線性度好、與控制協議嚴格一致的特點,既能達到位置控制又能實現閉環反饋。DS3230數字伺服舵機外部采用金屬外殼和金屬齒輪設計,因此此款舵機具有良好的散熱性和較長的使用壽命。關節驅動器模塊結構圖如圖5所示。

圖5 關節驅動模塊結構圖
電源管理模塊采用便攜式電源管理模式,配備單節18650鋰電池的可邊充邊放的電源方案。電源管理模塊增加有UPS功能,并具備鋰電池過充保護、過放保護、限流保護、過溫保護和輸出短路保護等功能。電源管理模塊的供電輸出為直流5V,充電電流為500mA。由于伺服舵機會產生噪音,而且伺服舵機在重負載時也會拉低放大器的電壓,為了提高控制系統的穩定性,電源管理模塊為舵機驅動和控制電路分開供電,實現相互間的電源隔離,并進行比例必須合理電源供應。電源管理模塊設計原理如下圖6所示。

圖6 電源模塊設計原理圖
人機交互部分通過接入LCD觸摸顯示屏給用戶提供一個可視化的人機交互接口。系統中采用的是分辨率為4.3寸的電容觸摸屏模塊ATK-4.3TFTLCD。該模塊屏幕分辨率為800*480電容觸摸屏,16位真彩顯示,采用自帶GRAM的NT35510驅動,無需外加驅動器,支持5點同時觸摸,具有非常好的操控效果。
在控制系統中,根據仿生口腔機器人的運動需求生成相應PWM信號,經控制線傳送到各關節舵機,該PWM信號的時基脈沖為20ms,脈寬為0.5-2.5ms,脈沖的寬度決定了舵機的轉動角度,因此舵機的轉動角度由可變寬度的脈沖來進行控制。一般來說,不同舵機的最大轉動角度可能不相同,但是其中間位置的脈沖寬度是一定的,那就是1.5ms,從這個位置到最大轉動角度與最小轉動角度的量完全一樣【7】。當控制系統發出指令,控制信號經由控制線進入舵機內部的信號調制模塊,獲得直流偏執電壓。將獲得的直流偏執電壓和內部電位器的電壓比較,得到電壓差輸出,電壓差的正負決定電機的正反轉。直流電機主軸驅動旋轉電位器旋轉,當電位器輸出的電壓信號與輸入控制信號轉換出的直流偏執電壓之間的電壓差為零時電機停止轉動,此時電機保持在所需角度,當接收到下一個不同的脈沖控制信號,舵機會按這個原理轉動到新的角度【8】。
Stm32f103zet6產生PWM信號要用到定時器,其內部的定時器資源非常豐富,在軟件設計中,Stm32f103zet6使用2個通用定時器,每個定時器產生2路PWM波。確定PWM信號發生通道后要進行時鐘、GPIO口以及定時器配置,然后根據指令讀取關節角度,并轉換成對應占空比的PWM信號,最后輸出周期為20ms的PWM脈沖控制信號。軟件的設計與開發工具采用Keil uVision5集成開發環境,程序設計語言為C語言,在軟件開發和調試過程中,在功能實現的基礎上,還應具有完整的注釋、精良的架構、良好的擴展性、完備的保護系統、運行前的模擬系統等特點。軟件控制流程如圖7所示。

圖7 軟件控制流程圖
設計實現的仿生口腔機器人由控制電路板、水平相驅動器、垂直相驅動器以及機械部分組成,實現支撐體帶動口腔腔體的4個自由度復合運動。實驗將對自下而上4個自由度的舵機驅動控制進行測試。舵機的控制信號是一個20ms左右的時基脈沖,其高電平部分為0.5ms-2.5ms范圍內的角度控制脈沖部分。以00-1800為角度范圍,對應的控制關系如表1所示。

表1 角度脈寬換算
關節1、關節2和關節3主要實現對仿生腔體的支撐和聯動的作用,完成腔體水平旋轉、上下旋轉和傾斜翻轉功能。其運動設計參數、PWM控制信號、實測數據如下表2所示。

表2 測試記錄
關節4主要負責仿生口腔的頜面開合運動,運動狀態為垂直開合運動,其運動設計參數、PWM控制信號、實測數據如下表3所示。

表3 測試記錄
通過人體口腔的構造以及運動功能分析,搭建了一種簡單、可靠的仿生口腔機械架構,并以stm32f103zet6為核心控制器和PWM脈沖波為控制信號設計了控制系統,完成了仿生口腔機器人的設計與實現。該機器人機械結構仿真度高,控制系統對機器人各關節的控制準確,整體系統運行穩定可靠,自動化程度高,符合設計要求。