摘 要: 介紹了一款基于單片機控制的六足仿生蟑螂機器人。該機器人在外形和足部結構上仿生蟑螂,六足均勻分布于身體兩側,每足給出了3個自由度;機器人的步態采用經典的三足步態法;該運動控制器由STC12C5A60S2單片機和舵機組成,采用多舵機分時控制的方法,機器人能實現按所設計的步態規劃進行前進、后退、左轉、右轉等動作;同時添加了語音模塊,機器人能在預定程序下隨音樂進行舞蹈動作。
關鍵詞: 六足仿生機器人;三足步態法;STC12C5A60S2單片機;舵機
0 引言
仿生學是20世紀60年代初誕生的一門集生物科學和工程技術于一體的邊緣學科,主要通過學習、模仿、復制和再造生物系統的結構、功能、工作原理及控制機制,來改進現有的或創造新的機械、儀器、建筑和工藝過程[1]。蟑螂運動靈活穩定,對地形適應能力強,是仿生的熱點。本文所設計的六足仿生爬蟲機器人,其外形及其機械結構參考蟑螂的特點,運動控制器由STC12C5A60S2單片機和舵機組成,采用多舵機分時控制,能夠按照指令要求正確切換功能并且完成相應動作。
1 機體結構設計
仿生蟑螂六足機器人由軀體和足兩個基本部分組成,足和軀體的配置采用正相對稱分布。基于自然界中絕大部分蟑螂的軀體都呈近似長方形結構,因此軀體設計成以身體縱向中心線為對稱軸的多邊形,且長與寬之比約為3:1,材料選用高強度且質量較輕的鋁合金。6條腿均勻分布于身體兩側,腿形參考蟑螂足部結構,4個關節分別為髖關節、大腿、小腿和踝關節,其中前3個關節為驅動關節,各關節之間的連桿分別稱為基節、股節和脛節[2]。3個驅動關節均由伺服電機驅動,如圖1中黑點所示,關節間連接構件采用性能良好的合成塑料代替鋁合金,進一步降低了整機的重量,又增加了整機機構的靈活度。系統通過控制相應關節伺服電機的運動,使機器人能夠實現18個自由度的靈活運動,能夠實現步行足在可達區域內任意自由定位。
2 步態規劃
六足仿生機器人通常采用典型的交替三角形步態[3]進行直線行走,即將身體兩側的6條腿分成兩組,以三角形支架結構交替前行。身體左側的前、后足及右側的中足為一組,右側的前、后足和左側的中足為另一組,分別組成兩個三角形支架。當一組三角形支架中所有的足同時提起時,另一組三角形支架的3只足原地不動支撐身體,接著重心前移,并以中足為支點向前移動,同時機體的重心落在另一組三角形支架的3只足上,然后再重復前一組的動作,以此交替運動使機體前行。
在所設計的步行機器人尾部左右兩端分別安裝兩個驅動電機,每個驅動電機控制位于自己對應側的前腿和后腿,兩腿中間用鉸鏈相連,使得兩腿擺動方向一致。中間兩條腿采用第三個驅動電機,可驅動中間兩條腿同時沿順時針或逆時針方向轉動20°~30°。當機器人從休息狀態開始向前直線運動時,機器人中間兩腿不轉動方向,前腿和后腿同時向后移動,從而使機器人向前移動。當機器人向右運動時,第三驅動電機驅動中間兩腿沿順時針方向轉動一定角度(20°~30°),從而使機器人向右側轉動,這時機器人的重量由右側前腿、右側后腿和左側中間腿支撐,左側前腿和左側后腿向前移動。同理,當驅動中間兩腿沿逆時針方向轉動一定角度(20°~30°)時,機器人向左移動。
3 硬件系統設計與實現
3.1 STC12C5A60S2芯片介紹
STC12C5A60S2/AD/PWM系列單片機是宏晶科技生產的單時鐘/機器周期(1T)的單片機,是高速/低功耗/超強抗干擾的新一代8051單片機。其指令代碼完全兼容傳統8051,但速度快8~12倍;內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(250 k/s),針對電機控制,強干擾場合。STC12C5A60S2系列單片機幾乎包含了數據采集和控制中所需的所有單元模塊,可稱得上一個片上系統。
3.2 直流電機及其驅動模塊
受機器人的框架材料影響,機器人本身的重量大,所以對直流電機的力矩要求就很高,本文選用了力矩大約為5 kg/cm的25GR-370直流減速電機。在測試過程中,該電機性能穩定,輸出力矩也達到了預期設計要求。
直流電機驅動模塊采用ST公司的L298N芯片,可以直接驅動兩路46 V、2 A以下的直流電機,可以方便地控制直流電機速度和方向,也可以控制兩相步進電機。本模塊應用了光耦芯片TLP521-4隔離控制信號與L298橋式驅動部分電路的電氣連接,控制信號為低電平時導通光耦驅動L298工作,控制信號可以直接接單片機I/O口,杜絕了單片機不能驅動光耦的現象;輸入控制信號與L298橋式驅動部分分開布地,嚴格單點共地。以上兩個措施最大限度地減小了強電部分對控制電路部分的影響,保證系統的可靠運行。
L298N型驅動器的電路連接圖如圖2所示。
L298有邏輯電源和動力電源兩路電源,圖中6 V為邏輯電源,由J4接入,12 V為動力電源,由J6接入;J1與J2分別為單片機控制兩個電機的輸入端;J3與J5分別與兩個電機的正負極相連;ENA與ENB直接接入6 V邏輯電源,使兩個電機時刻都工作在使能狀態。本設計中使用的電機是線圈式的,在從運行狀態突然轉換到停止狀態或從順時針狀態突然轉換到逆時針狀態時會形成很大的反向電流,因此在電路中加入二極管進行泄流,保護芯片的安全。
3.3 舵機
舵機即伺服馬達,是一種位置(角度)伺服的驅動器,適用于需要角度不斷變化并可以保持的控制系統。這里選用的是Power HD 1501MG型舵機,這款舵機的力矩比較大,達到了17 kg/cm,完全滿足小型簡易機器人的需求。舵機驅動模塊的輸入線分別為控制信號線、電源線以及地線,3根線需連接準確,否則會損害單片機可控板。
舵機的控制利用的是周期為20 ms的PWM(脈寬調制)信號,其脈沖寬度為0.5 ms~2.5 ms,分別對應的舵機轉角為-90°~+90°,如圖3所示。控制信號由接收機的通道進入信號調制芯片,獲得直流偏置電壓。舵機內部有一個基準電路,產生周期為20 ms、寬度為1.5 ms的基準信號,將獲得的直流偏置電壓與電位器的電壓進行比較,獲得電壓差輸出。最后,電壓差的正負輸出到電機驅動芯片決定電機的正反轉。當電機轉速一定時,通過級聯減速齒輪帶動電位器旋轉,使得電壓差為0,電機停止轉動。使用單片機控制舵機,多是利用定時器和中斷的方式來完成控制[4]。
本文所設計的仿生爬蟲機器人共用了18個舵機,其連接方式參考了蟑螂的足部結構,舵機連接位置為圖1中的黑色圓點處。
3.4 語音模塊
語音模塊采用華仕通訊推出的新一代語音模塊HSTAMFP,內部采用華邦工業級語音芯片,功放采用美國進口數字式功放,全部是昂貴的IC,從而設計出大功率、高品質的語音模塊,支持6~20k動態采樣,動態加載不同采樣率音頻文件不需要改動外部時鐘。數字功放是迄今為止最好的功放,不用散熱片就能達到高功率輸出,其效率極高,是常用的OTL功放的4~5倍。
4 軟件系統設計與實現
4.1 編譯軟件及芯片添加
采用了C語言編寫,并在Keil uVision2開發環境下編譯、調試。開發界面如圖4所示。
由于Keil uVision2是一款國外軟件,而所使用的STC12C5A60S2芯片是國產的,在Keil uVision2的芯片數據庫里沒有,因此需在Keil uVision2中添加國產的STC系列芯片才能進行編譯。
4.2 程序設計思路
采用定時器和中斷的方式來完成對18個舵機的分時控制。由于舵機信號周期T為20 ms,信號的脈沖寬度為0.5~2.5 ms,因此在一個周期內最多可以控制8路信號(20 ms/2.5 ms=8)。將18個舵機分成3組,定時器0控制舵機1~6,定時器1控制舵機7~12,定時器2控制舵機13~18。先預裝高電平時間長度,啟動定時器,當計數溢出時觸發中斷,電平拉低并重裝低電平時間長度。舵機控制程序流程圖如圖5所示。
4.3 舵機控制器軟件
對機器人舞蹈動作的控制,本文采用的是32路舵機控制器軟件,其工作界面如圖6所示。
該軟件可實現上位機對舵機的直接控制,其使用方法如下:電腦插上藍牙,打開軟件界面,選擇好藍牙com口和波特率,點擊界面最下方的“導入”、“導入完整值”,選擇編譯好的舵機控制文檔,并點擊“恢復初始位置”,打開機器人上的電源開關,點擊軟件界面“聯機”,當界面閃爍顯示“on line”之后再次點擊“恢復初始位置”,最后點擊“運行”即可,機器人即按照預定程序自動執行相應的舞蹈動作。
5 結論
本文所設計的六足仿生蟑螂機器人樣機長約16 cm,寬約6 cm,高約3 cm,重量約4.3 kg,外形如圖7所示。對樣機進行行走實驗,其結果表明該樣機可實現直線行走及左、右拐彎等,還可隨音樂按既定程序實現跳舞功能。
參考文獻
[1] 申景金.一種新型六足仿生蟲的結構設計與動力學分析[D].南京:南京航空航天大學,2008.
[2] 張建斌,宋榮貴,陳偉海,等.基于運動靈活性的蟑螂機器人機構參數優化[J].北京航空航天大學學報,2010,36(5):513-518.
[3] 韓建海,趙書尚,李濟順.六足機器人行走步態的協調控制[J].機電工程,2004,21(4):8-10.
[4] 儲忠,阮賢實,虞剛明.六足仿生機器人步態研究和運動控制器設計[J].伺服控制,2009(8):67-70.