黃大志,游棲霞,杭智剛,黃丹
(淮海工學院機械工程學院,江蘇連云港222005)
護士助手機器人是服務機器人[1-2]的一種,能夠應用于日常醫療護理、代替醫生實施手術、軍事救援等領域。近年來,“非典”、禽流感、甲型H1N1 流感等流行病時常爆發,而遠離病毒源和傳染病患者是預防傳染病的最好方法。護士助手機器人不僅能對病房消毒,運送醫療器械、實驗樣品及結果,為病區的人運送藥、送飯和生活用品,清除病房垃圾,還能減少護理人員感染傳染病的幾率和工作強度,從而可以提高醫療機構的自動化程度。所以研制護士助手機器人具有非常重要的意義。
工作人員只需一臺PC機,就可遠程遙控護士助手機器人。工作人員根據機器人攝像頭不斷反饋回來的圖像,利用PC機上的軟件通過無線傳輸模塊向護士助手機器人發送各種命令,這樣就可遙控機器人完成巡游病房,通過攝像頭監視病人情況,通過機械手抓取藥物送給病人并清理醫療垃圾等任務。機器人的設計方案如圖1所示。

圖1 護士助手機器人方案圖
護士助手機器人的三維模型圖如圖2所示。機器人主要由車體、電機、萬向輪、機械手、攝像頭等部分組成。車體由現有醫院及衛生場所常用的護士醫療手推車改造而來,將兩個原有的萬向輪換成電機驅動的主動輪,這樣機器人就可以自由運動,具體轉向靠兩個電機的轉速差來實現。在機器人平臺上面放置一個5自由度的機械手,機械手可以到達平臺的任何地方,可以拿起送給病人的食物、藥品或藥具等。攝像頭放置在小車后面,不僅可以觀察機器人運動的環境,還可以反饋機械手運動的過程,方便控制人員精準控制機器人的運動。另外攝像頭下有兩自由度的云臺,可以調整攝像頭上下左右的位置,以達到最佳的監控角度。

圖2 機械人三維建模圖
如圖3所示,機器人控制系統主要由上位機和下位機構成。上位機為普通的PC機,只要有USB接口,就可以通過監控軟件控制機器人代替護士去做一些簡單的醫療服務。下位機主要由2個單片機及控制模塊組成。1號單片機主要負責控制無線接收模塊并和2號單片機通訊。2號單片機控制電機模塊來實現對車體運動的控制,控制機械手以及云臺的舵機。

圖3 控制系統硬件結構圖
上位機主要由PC機、無線發送模塊和攝像頭無線接收模塊組成。PC機要求配置如下:操作系統:Windows 98/2000/XP/vista/W7;CPU:Intel Pentium IV 2.8 GHz以上;內存:大于等于512 MB;硬盤:2 GB 剩余空間;接口:USB接口2個以上;光驅:16倍CD-ROM以上。
下位機主要由2個單片機以及電機驅動模塊組成。單片機選用STC89C51,該單片機比傳統51類單片機執行速度快10倍以上,內部有8KB的EPROM,3個定時器,4路外部中斷,32個I/O接口,完全滿足控制機器人的需要[3-4]。1號單片機負責與上位機、2號單片機通訊。2號單片機主要用來控制電機驅動模塊和舵機。
電機驅動模塊電路如圖4所示。用2個L298N[5]芯片來分別控制機器人2個運動電機。ENA,IN1,IN2的高低電平就可以控制電機停止,正轉,反轉和急停。2號單片機發給ENA的不同占空比的脈沖信號就可實現電機的PWM 調速。

圖4 電機驅動模塊電路
機器人的手臂和攝像頭云臺的運動都是由舵機的轉動帶動的,舵機轉動的角度與單片機發送給舵機的脈沖高電平時間的關系如表1所示。通過運動學分析后,通過軟件可操控機器手和云臺自由運動,也可設定自動運動流程。

表1 高電平時長與轉角關系
上位機與下位機的通訊都是無線的。監控攝像頭是線攝像頭,發送信號到無線接收模塊,通過模塊處理后,即可傳入PC機,通過軟件看到監控畫面。同樣PC機發出的控制指令也是通過無線的方式傳送給單片機的。采用的是APC220-43模塊,它是高度集成半雙工微功率無線數據傳輸模塊,其嵌入高速單片機和高性能射頻芯片,TTL串口接口,配合1個USB轉換器可以實現電腦與單片機之間通訊。通過串口通訊將上位機指令發送到無線發送模塊,再通過無線電方式傳送給無線接收模塊,無線接收模塊與1號單片機串行通信,這樣實際上在PC機與單片機之間建立起無線的串行通信渠道。指令經1號單片機分析完畢后,傳送給2號單片機執行控制。
機器人設計要求機器人能夠連續工作4 h以上,所以選擇24 V、5 000 mAh的可充電鋰電池。它體積小質量輕,電量充沛,完全滿足需要。
在機器人控制系統中,24 V 不能完全滿足各部件電壓的需要,需要進行降壓和穩壓。攝像頭為12 V 直流電,所以設計了24~12 V的降壓電路。驅動電機需要穩定的9 V 直流電,又將24 V 直流電經穩壓器穩定到9 V,隨著電源電量降低,加在驅動電機上的電壓波動不大,保證了控制車體運動的穩定。其他的電路系統、舵機都需要5V的直流電,有需要將24 V 降壓并穩定到5 V。這都為控制系統的穩定運行提供了保障。
軟件由上位機監控軟件和下位機單片機程序組成。該護士助手機器人通過上位機傳輸無線信號給下位機。上位機軟件由VB 語言開發完成。上位機軟件開發的重點是實現串口通信。下位機軟件基于STC89C51 單片機,利用C 語言編程,利用Keil軟件調試、編譯和生成。
護士助手機器人監控軟件如圖5所示。該軟件有以下功能:黑色區域為監控區,攝像頭收集到的圖像信息在該區域實時顯示出來,方便操作人員了解機器人的狀態。界面左下部分為機械手控制區,可以控制機械手的每個自由度運動,實現一定的功能。中下部為攝像頭控制區,可以方便地調節攝像頭云臺的前后左右狀態,來調整攝像頭拍攝的最佳位置。右下部為車體控制區,主要控制機器人前后左右自由的移動,甚至能夠原地轉動。該軟件還設置了復位功能,方便機器人自動恢復到初始狀態。為了避免機器人意外的錯誤操作,特意設置了急停功能,它能使機器人停止所有動作。

圖5 監控軟件界面
上位機監控軟件程序流程圖如圖6所示。

圖6 監控軟件程序流程圖
上位機監控軟件利用VB的通信控件MSCOMM,文件名為MSCOMM.VBX 來實現串口通信。可對該控件設置串行通信是發送數據還是接收數據,設定串口狀態和通信信息協議和格式。
下位機利用了串行通信。使用CMOS 移位寄存器或TTL 來擴充I/O 口。當單片機的RXD與通信設備的TXD 相連時,單片機接收信號。當單片機的TXD與通信設備的RXD 相連時,單片機發送信號。SBUF是串行口緩沖寄存器,包含發送和接收寄存器。
波特率(Boud Rate)指在串口通信中一秒鐘發送或接收的位數(bits/s)。波特率的設定是關鍵,串口通信準確進行的前提之一是上下位機的波特率一致。在該護士助手機器人程序中設置波特率為9 600 bits/s。
在電動機負載一定時(即轉矩一定時),降低電壓,對應的轉速不同,這樣就可實現電機調速。而要實現電機反轉,只要給電機加反向電壓即可。電機的控制是通過PWM 來實現的。PWM[6](Pulse Width Modulation)控制即脈沖寬度調制技術,通過對一系列脈沖的寬度進行調制而等效地得到所需要的波形(含幅值和形狀)。脈沖信號事由單片機通過定時器來實現的。
舵機控制的重點在于實現產生周期為20 ms的脈沖電平信號,其中當高電平在0.5 至2.5 ms之間變動時實現舵機由左極限(0)到右極限(180°)的轉動。經過多次試驗,發現機器人用的舵機控制信號的高低電平的脈寬長度參數 (h,l)與舵機的角度(θ)存在如下線性關系:h=θ/6+15;l=530-h。利用這個關系可以實現對舵機的控制。
制作的護士助手機器人樣機如圖7所示。它能夠在200 m 范圍內正常通訊和運行,能夠抓起礦泉水放到病床旁,當然也能拿起體溫計等小的醫療用品給病人。該機器人運動速度與普通人相當,運動靈活可靠,非常適合不宜護理人員經常出入的病區或隔離區。

圖7 護士助手機器人樣機
【1】常江,孟慶鑫.非完整輪式移動機器人的軌跡跟蹤滑模控制[J].控制工程,2010(6):849-852.
【2】黃大志,周慶貴,陳業強.基于單片機輪式尋跡機器人控制系統的設計[J].機床與液壓,2009,37(8):350-352.
【3】李朝青.單片機原理及接口技術[M].3版.北京:北京航空航天大學出版社.2010:17-24.
【4】張江梅,王妲.基于單片機和光電檢測技術的機器人行為控制系統[J].機床與液壓,2008,36(12):127-128,172.
【5】黃大志,周慶貴,劉明芹,等.三輪移動機器人直線行進數字PID控制的研究[J].微計算機信息,2009(35):199-200,213.
【6】庹朝永.基于單片機的直流電機PWM 調速系統設計與開發[J].煤炭技術,2011(6):62-63.