王康南 王利霞
摘 要:文中基于仿生學原理,設(shè)計了一種以六足昆蟲為原型的六足機器人控制系統(tǒng),該系統(tǒng)可控制機器人實現(xiàn)多種仿生動作。系統(tǒng)采用主從設(shè)計結(jié)構(gòu),以Arduino開源平臺為主機控制核心,以STM32F103為從機控制核心,通過LDX-218數(shù)字舵機來驅(qū)動運動關(guān)節(jié),在系統(tǒng)軟件的控制下實現(xiàn)了蜘蛛和普通螃蟹兩種行走模式,具有完成多種仿生運動動作以及自主超聲波避障,紅外桌面防跌等功能。實驗結(jié)果表明,該六足仿生機器人運動平穩(wěn),適應(yīng)能力強,具有很高的實用價值。
關(guān)鍵詞:Arduino平臺;仿生;六足機器人;控制系統(tǒng)
中圖分類號:TP242 文獻標識碼:A 文章編號:2095-1302(2018)01-00-04
0 引 言
在人們對生活的不斷認識和探索過程中,對機器人的需求逐漸增多。其中六足仿生機器人憑借其自身的靈活性、可靠性、穩(wěn)定性、自主性特點以及對多種復(fù)雜地形的適應(yīng)能力,逐漸成為國內(nèi)外機器人研究的熱點[1-3]。因而設(shè)計研究具有卓越足式移動能力的六足仿生機器人,對于多足機器人技術(shù)的相關(guān)研究和應(yīng)用具有重要意義[4,5]。
鑒于上述背景,本文根據(jù)六足綱昆蟲的外形結(jié)構(gòu)與運動特性,基于仿生學原理,設(shè)計了一種基于Arduino平臺的六足仿生機器人控制系統(tǒng)。根據(jù)六足仿生機器人控制功能需求,制定了相應(yīng)的總體設(shè)計方案。采用主從設(shè)計結(jié)構(gòu)的控制系統(tǒng)硬件電路以及系統(tǒng)軟件,搭建了一種基于Arduino平臺的六足仿生機器人,并通過樣機實驗驗證了設(shè)計的正確性。
1 控制系統(tǒng)總體設(shè)計方案
1.1 總體設(shè)計方案
根據(jù)六足機器人控制系統(tǒng)的設(shè)計要求,選用ATmega32u4芯片作為主機的主控芯片,選用STM32F103RBT6作為從機舵機控制板的控制芯片,選用Arduino Leonardo作為二次開發(fā)平臺,添加PS2手柄遙控模塊、超聲波模塊、紅外避障模塊和OLED顯示屏模塊,共同完成六足機器人控制系統(tǒng)的搭建??刂葡到y(tǒng)的整體設(shè)計方案如圖1所示。
1.2 主要部件的設(shè)計
1.2.1 驅(qū)動元件
為滿足六足機器人驅(qū)動系統(tǒng)的控制要求,考慮到機器人的經(jīng)濟性,易操作性及學習的廣泛應(yīng)用性等,本設(shè)計采用舵機驅(qū)動控制方案。
舵機是由變速齒輪組、小型直流電機、可調(diào)電位器和控制電路組成的一套自動控制系統(tǒng),舵機通過電源線及信號線與外界連接,在使用過程中可通過對信號線發(fā)送指定信號來指定舵機輸出軸的旋轉(zhuǎn)角度和速度,常作為機器人和航模的驅(qū)動部件。因本設(shè)計需要不斷控制機器人各關(guān)節(jié)運行固定的角度來模擬六足機器人的仿生動作,因此選用LDX-218數(shù)字舵機作為該設(shè)計的驅(qū)動元件。它作為機器人專用的伺服電機,不但扭力大,精度高,且采用舵機插拔線控制,便于插拔和舵機延長線的選型及更換,適合多自由度機器人的搭建。舵機實物如圖2所示。
控制方式:舵機輸出軸的角度根據(jù)時基脈沖來控制,在0.5~2.5 ms的脈沖控制下,舵機轉(zhuǎn)動相應(yīng)的角度。以180°的舵機為例 (本設(shè)計選用180°舵機),所對應(yīng)的控制關(guān)系見表1所列。
1.2.2 腿部設(shè)計
文中設(shè)計的六足機器人的腿部關(guān)節(jié)采用昆蟲式三自由度關(guān)節(jié)腿機構(gòu),每個腿部關(guān)節(jié)均由舵機驅(qū)動,關(guān)節(jié)與關(guān)節(jié)之間的連接構(gòu)件采用簡單、輕便且堅韌的玻纖代替,在降低機器人重量的同時增加了六足機器人的靈活度。通過舵機控制板驅(qū)動相應(yīng)關(guān)節(jié)的舵機運動使六足機器人完成腿部運動,確保六足機器人能夠在復(fù)雜路況上完成相應(yīng)的仿生動作。系統(tǒng)從結(jié)構(gòu)上保證了該六足機器人可有效模擬六腳昆蟲的行走方式,并可在多種復(fù)雜環(huán)境狀況下完成指定動作。
1.2.3 材料選擇
基于對自身重量和電源損耗等因素的考慮,選用碳纖維作為主要肢體材料。碳纖維是一種含碳量高達95%以上且具有高強度、高模量纖維的新型纖維材料。其質(zhì)量比金屬鋁輕,但強度卻高于鋼鐵,并具有耐腐蝕、高模量的特性。這款材料不僅具有碳材料的固有本征特性,同時還兼?zhèn)浼徔椑w維的柔軟可加工性,方便在實驗室對其加工。
2 關(guān)鍵硬件電路設(shè)計
2.1 主機--Arduino Leonardo控制板
考慮到Arduino開源和易于二次開發(fā)的特點,選用將ATmega32u4作為主控芯片的Arduino Leonardo作為主機控制板。
該控制板可直接使用ATmega32u4的USB通信功能,在調(diào)試時通過USB連接電腦和Leonardo進行程序編寫;在運行六足機器人時采用外接電源供電方式控制六足機器人的運動。主從機采用串口通信,將舵機控制板的RX接Arduino的TX,舵機控制板的TX接Arduino的RX,并將兩個板子共地 (舵機控制板的GND連接Arduino的GND)。
2.2 從機舵機控制板
2.2.1 電源及USB電路
舵機控制板采用USB供電方式,以FT232RL作為接口轉(zhuǎn)換芯片。采用USB供電模式的優(yōu)點在于僅需一根USB線就可使用該舵機控制板,包括下載、供電、調(diào)試等。所設(shè)計的從機電源及USB外圍電路如圖3所示。
2.2.2 從機主控電路
鑒于六足機器人的自由度較多,且每個關(guān)節(jié)均需采用舵機驅(qū)動,故應(yīng)對多個舵機進行控制。本設(shè)計采用STM32F103RBT6作為舵機控制板的控制芯片。
STM32F103RBT6豐富的Flash資源和SRAM,以及串口、USB、IO引腳等已完全滿足其作為舵機控制板來存儲動作信息并接收主機指令,完成指定動作的需求,且價格較低,是從機舵機控制板主芯片的較好選擇。
基于STM32F103RBT6的舵機控制板CPU部分的從機主控電路如圖4所示。
2.2.3 E2PROM電路
六足機器人的運動調(diào)試需要存儲指定的動作組。為了存儲足夠多的動作,本設(shè)計選用容量為256 KB的AT24C256 E2PROM芯片。
基于該芯片設(shè)計的從機E2PROM電路如圖5所示。
2.2.4 主要接口電路
六足機器人共有18個自由度,那么STM32F103RBT6需提供18個I/O口給舵機以進行控制,為了便于后期進行二次開發(fā),應(yīng)多預(yù)留一些舵機控制I/O口。為了實現(xiàn)主機與從機的通訊,留置RX、TX接口便于后期實現(xiàn)主從機連接。
接口電路如圖6所示。設(shè)計完成的舵機控制板如圖7所示。
2.3 主要傳感器模塊
在本設(shè)計中分別采用紅外遙控模塊、超聲波測距模塊、紅外避障模塊等實現(xiàn)六足機器人的遙控操作,使六足機器人具有自主避障和防跌落功能。
2.3.1 紅外遙控接收模塊
選用VS1838B作為紅外遙控接收模塊,該模塊可在2.7~5.5 V電壓下正常工作。同時該模塊采用低功耗設(shè)計,能夠在寬角度及長距離條件下正常接收遙控信號。
2.3.2 超聲波測距模塊
系統(tǒng)選用HC-SR04超聲波測距模塊,其傳輸距離范圍較寬,且測距精度較高,已廣泛應(yīng)用于機器人測距避障領(lǐng)域。該模塊含有超聲控制電路、發(fā)射器以及接收器。
2.3.3 紅外防跌落模塊
紅外防跌落模塊的檢測距離可通過模塊上方的小電位器旋鈕調(diào)節(jié),有效距離范圍為2~30 cm。該模塊具有干擾小、檢測靈敏、便于裝配等優(yōu)點。將該模塊安裝于六足機器人的足部來探測桌面邊緣,實現(xiàn)防跌落功能。
2.3.4 顯示模塊
采用OLED顯示模塊顯示電源、行走距離以及障礙物距離等信息。OLED具有對比度高、厚度薄、視角廣、反應(yīng)速度快等優(yōu)點。該模塊具有多種接口方式,如并行接口,SPI串行接口及I2C串行接口。本設(shè)計采用I2C串行接口模式。主要傳感器模塊的連接如圖8所示。
3 控制系統(tǒng)軟件設(shè)計
文中所搭建的六足仿生機器人在上電開機后進行初始化設(shè)置,將各腿部關(guān)節(jié)的舵機位置、超聲波云臺小舵機位置以及OLED顯示屏信息復(fù)位,之后運行三角步態(tài)行走程序。在行走過程中通過超聲、紅外等傳感器獲取相關(guān)信息,送給Arduino主機接收處理,協(xié)調(diào)從機完成步態(tài)行走的調(diào)整控制。下文重點介紹六足仿生機器人在行走避障和桌面防跌落實驗的軟件設(shè)計:
(1)在行走避障實驗中,為防止在障礙物檢測過程中將檢測到的腿部機構(gòu)誤認為是障礙物而執(zhí)行避障程序進行轉(zhuǎn)彎的問題,六足仿生機器人采用高姿態(tài)前進模式。在前進過程中,模塊會自動讀取機身與障礙物之間的距離,并做出相應(yīng)反饋控制,從而完成機器人的自動避障,具體流程如下:
①若超聲波檢測的障礙物距離大于35 cm,則繼續(xù)保持前進動作;
②若超聲波檢測的障礙物距離等于35 cm,則左右搖頭,尋找沒有障礙物或距離障礙物較遠的方向,通過對兩個方向的檢測來驅(qū)動機身左轉(zhuǎn)或右轉(zhuǎn);
③若障礙物突然出現(xiàn),即超聲波檢測的障礙物距離小于35 cm,則執(zhí)行后退動作,后退至35 cm處再執(zhí)行步驟②。
行走避障軟件設(shè)計流程如圖9所示。
(2)在桌面防跌落實驗中,運行程序前先調(diào)整紅外避障模塊的避障距離,開機初始化后運行低姿態(tài)前進動作,在行進過程中利用安裝于足部的紅外避障模塊檢測反饋是否能感應(yīng)到桌面信息。具體流程如下:
①若避障模塊仍能感應(yīng)到桌面信息,則繼續(xù)前進;
②若避障模塊檢測不到桌面信息,則執(zhí)行左轉(zhuǎn)或右轉(zhuǎn)動作以防止跌落;
③若左前腿檢測不到桌面信息,則執(zhí)行右轉(zhuǎn)動作;若右前足檢測不到桌面信息,則執(zhí)行左轉(zhuǎn)程序以防止跌落。
桌面防跌落軟件設(shè)計流程如圖10所示。
4 調(diào)試與實驗
在上述工作的基礎(chǔ)上完成的六足機器人樣機如圖11所示。在機器人軀干上預(yù)留傳感器的安裝孔和布線孔,便于控制主板、電池、PS2接收機、超聲波云臺舵機、紅外傳感器等各傳感模塊的安裝及布線。在安裝機器人腿部關(guān)節(jié)時,需調(diào)整舵機處于中位以保證機器人前后足不會發(fā)生碰撞,并調(diào)整機器人各舵機的偏差,減少機器人舵機安裝時的誤差,以保證后期機器人調(diào)試順利進行。
所設(shè)計實現(xiàn)的六足仿生機器人可實現(xiàn)12種仿生動作,3種仿生姿態(tài),5種可調(diào)節(jié)速度。該仿生機器人既能夠通過PS2手柄和紅外控制其在多種復(fù)雜環(huán)境下完成必要的動作,實現(xiàn)所需功能,又能自主脫機運行仿生避障、桌面防跌等附加功能。
5 結(jié) 語
本設(shè)計給出了一種六足仿生機器人的控制系統(tǒng)設(shè)計方案,搭建完成了六足仿生機器人樣機。該機器人可以很好地模仿并拓展六足昆蟲的運動方式,較輪式或履帶式機器人而言適應(yīng)性更強。在此基礎(chǔ)上通過增加部分傳感器或設(shè)備,拓展機器人的其他實用功能。本設(shè)計內(nèi)容可為今后進一步研究六足機器人的應(yīng)用工作提供參考與借鑒。
參考文獻
[1]徐小云,顏國正,丁國清,等.六足移動式微型仿生機器人的研究[J].機器人, 2002, 24(5): 427-431.
[2]朱國杰,田文凱,呂承哲,等.六足仿生機器人機構(gòu)與控制系統(tǒng)設(shè)計[J].測控技術(shù), 2017, 36(1): 55-58.
[3]李滿宏,張明路,張建華,等.六足機器人關(guān)鍵技術(shù)綜述[J].機械設(shè)計, 2015(10): 1-8.
[4]韓寶玲,劉廣新,羅慶生,等.基于AVR和STM32的六足仿生機器人控制系統(tǒng)[J].計算機系統(tǒng)應(yīng)用,2016, 25(6): 59-63.
[5]孫培.六足仿生機器人控制系統(tǒng)研究[D].南京:南京林業(yè)大學,2010.
[6]謝杰騰,顏曉文.基于Android手機語音和Arduino控制板的機器人控制系統(tǒng)[J].物聯(lián)網(wǎng)技術(shù),2015,5(3):101-102.
[7]李嘉秀.基于Arduino平臺的足球機器人在RCJ中的應(yīng)用[J].物聯(lián)網(wǎng)技術(shù),2015,5(3):97-100.
[8]王賀,王鳳嬌,于蘭浩,等.基于Arduino的六足仿生機器人的設(shè)計與研究[J].南方農(nóng)機,2017,48(16):33.