孟 凱,李 鑫
(河南工程學院 機械工程系,河南 鄭州 451191)
六足機器人與輪式機器人和履帶式機器人相比有著顯著的特點,它六足行走,運動穩定性突出,環境適應性好,能適應復雜多變的地形,在搶險、偵查、探測等領域有著較為廣泛的應用[1-3].本研究結合藍牙模塊、Mini USB 32舵機控制器等模塊化器件,提出了一個便于編程和調試的低成本小型六足機器人系統.
由仿生學研究可知,六足機器人的單足設計2個自由度就能實現所需的運動要求,每個足設置2個關節.水平關節用于在水平方向上擺動腿以實現邁步,并可以調整運動過程中機器人的重心位置,使運動穩定.豎直關節用于在豎直方向上擺動腿,使其與地形相適應,主要影響機器人的重心高度,它與跟關節協調運動,可以實現一定范圍內的避障功能.
六足機器人每足設計2個自由度,豎直方向1個自由度,水平方向1個自由度,足上設計了2個舵機,分別連接在2個平行臂上.平行臂分別與支腿相連,在腿部加入四連桿機構,使足部運動更協調穩定,如圖1所示.根據足部設計結構,選用矩形底盤,機械結構如圖2所示.

圖1 足關節結構Fig.1 A joint of foot structure

圖2 總體結構Fig.2 Overall structure
舵機性能的好壞直接影響到六足機器人的整體性能,機器人的負載能力、運動精度和可靠性等都取決于舵機的性能.本次設計的六足機器人對控制精度的要求不高,如果選用控制精度較高的進口舵機則成本太高.六足機器人在運動過程中最少三足作用于地面,舵機需要承受較大的扭力,而國產的TowerPro—MG995型舵機的性價比較高,并且堵轉扭矩為13.0 kg·cm(6.0V).考慮到經濟因素,最終選擇 TowerPro—MG995 型舵機作為關節驅動元,舵機參數見表1.

表1[4] TowerPro—MG995參數表Tab.1 TowerPro—MG995 parameter table
舵機的控制信號是PWM信號,利用占空比的變化改變伺服電機的位置.舵機的瞬時運動速度是由其內部的直流馬達和變速齒輪組的配合決定的,在恒定的電壓驅動下,其數值唯一,但其平均運動速度可以通過分段停頓的控制方式來改變.例如,我們可把動作幅度為90°的轉動細分為128個停頓點,通過控制每個停頓點時間的長短來實現從0°到90°變化的平均速度.
由于六足機器人所要控制的舵機數多達12個,用單片機來產生PWM控制信號并控制單位時間內發送到舵機控制端的脈沖個數,所要編寫的程序較為復雜,調試起來也較為繁瑣.為了提高控制精度與編程效率,可采用舵機控制器來產生控制舵機的PWM信號.這種控制方式可以實現多個伺服電機的協調優化控制,程序設計者可以把富余的精力用來研究機器人的動作設計與運動規劃.
本次采用的是Mini USB 32微型舵機控制器,它是一款功能強、體積小的微型舵機控制器,有著較高的位置控制精度及運動控制精度.它不但可以實現單個舵機的速度與位置控制,還可以通過單個字符控制多個舵機的協調運動,結構見圖3.

1. Mini USB接口; 2.TTL串口跳線; 3.比特率設置;4.對外5 V供電接口; 5.4路輸入接口; 6.舵機信號接口;7.舵機電源正極; 8.舵機電源負極; 9.舵機供電;10.控制板電源(7~12 V)
串口通訊一般選用有線連接,例如常用的RS232與RS485都是利用雙絞線連接上位機與下位機的通訊端口,按位發送接收數據.但是,對于六足機器人的調試和在線控制來說,機器人在運動過程中必須拖著較長的通訊線,這不但限制了六足機器人的動作幅度,也給調試帶來了不便.
藍牙技術是一種短距離無線通訊技術,能在電腦與外部設備之間進行無線信息交換.它支持點對點及點對多點通信,工作在全球通用的2.4 GHz ISM頻段,數據速率為1 Mbps,采用時分雙工傳輸方案實現全雙工傳輸.

圖4 BTM-1藍牙串口模塊Fig.4 BTM-1 bluetooth serial interface module
藍牙串口模塊結合了藍牙技術與串口通訊的優點,數據的傳輸采用藍牙技術,在上位機的程序開發過程中直接調用虛擬串口就能實現數據的無線通信.利用藍牙串口模塊,能夠簡化電腦與六足機器人之間的通信,使在線調試和控制變得更加便捷,機器人的運動靈活性也得到了加強.與單片機控制的六足機器人相比,采用藍牙通訊的機器人,人與機器人的互動性得到了加強.圖4為所采用的藍牙串口模塊BTM-01.
本次設計的控制系統的核心思想是,利用VB6.0的MSComm控件發送控制字符到虛擬串口,通過藍牙適配器把控制字節傳遞到藍牙接收模塊,Min USB 32舵機控制器根據藍牙模塊轉換后的控制字節驅動舵機完成相應的動作.程序結構框圖見圖5,程序界面見圖6.

圖5 上位機程序結構框圖Fig.5 PC control procedure flow diagram

圖6 控制程序界面Fig.6 Control program interface
Mini USB 32的控制字符必須以回車鍵(ASCⅡ13)字符作為一個連貫的命令輸入,在沒有收到ASCⅡ13字符時,Mini USB 32接收到的指令不會被執行.Mini USB 32的所有命令數據必須是ASCⅡ的字符串,同時它對ASCⅡ的格式不敏感,可以根據需要使用其他字符如空格、換行等,以增加控制程序的可讀性.
控制字符格式:
#
例如:#5 P1600 #10 P750 T2500
在上位機程序的執行過程中,只需要把控制字符發送到串口的發送緩沖區即可實現控制動作.如要實現六足機器人從直立到向前爬行的狀態,VB程序如下:
Case 1
MSComm1. PortOpen = True
MSComm1.Output = "#16P1700 #0P1300 #18P1350 #2P1900 #20P1250 #4P1750 #22P1100 #6P1600 #24P700 #8P2300 #26P1400 #10P2100 T1000" & vbCr
Case 2
MSComm1.Output = "#16P2000 #0P1300 #18P1350 #2P1900 #20P1250 #4P1500 #22P1100 #6P1600 #24P1000 #8P2300 #26P1400 #10P2100 T1000" & vbCr
Case 3
MSComm1.Output = "#16P2000 #0P1300 #18P1350 #2P1630 #20P1250 #4P1500 #22P1400 #6P1600 #24P1000 #8P2300 #26P1400 #10P1610 T1000" & vbCr
Case 4
MSComm1.Output = "#16P1700 #0P1300 #18P1100 #2P1630 #20P1250 #4P1750 #22P1400 #6P1900 #24P700 #8P2300 #26P1100 #10P1610 T1000" & vbCr
Case 5
MSComm1.Output = "#16P1700 #0P1000 #18P1100 #2P1630 #20P1500 #4P1750 #22P1400 #6P1900 #24P700 #8P2000 #26P1100 #10P1610 T1000" & vbCr
Case 6
MSComm1.Output = "#16P1700 #0P1000 #18P1350 #2P1630 #20P1500 #4P1750 #22P1400 #6P1600 #24P700 #8P2000 #26P1400 #10P1610 T1000 " & vbCr
(舵機端口號定義:#16為左前腿旋轉,#18為左前腿上下,#20為左中腿旋轉,#22為左中腿上下,#24為左后腿旋轉,#26為左后腿上下,#0為右前腿旋轉,#2為右前腿上下,#4為右中腿旋轉,#6為右中腿上下,#8為右后腿旋轉,#10為右后腿上下.)
以上所設計的六足機器人系統實現了人與機器人系統的互動,藍牙串口模塊的應用給程序的調試和動作的設計帶來了較大的便利.Mini USB 32舵機控制器的使用,使得控制程序的編寫不再復雜,使設計者的精力可主要集中于機器人動作的設計與軌跡優化方面,模塊化的設計也給整個系統帶來了較高的穩定性和可擴展性.
參考文獻:
[1] 徐鯉鴻,黨皓,陳偉海,等.一種六足步行機器人的自由步態算法[J].微計算機信息,2008(5):200-202.
[2] Yang J M. Tripod gaits for fault tolerance of hexapod walking machines with a locked joint failure[J].Robotics and Autonomous Systems,2005(5):180-189.
[3] 葉獻偉,陳樊,高建華.六足仿生機器人越障步態方法研究[J].浙江理工大學學報,2008,25(5):215-216.
[4] 孟凱,何慶中,張瑞洋.小型仿人機器人系統的設計[J].機械工程師,2008(10):58-60.