仿生蜘蛛機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)
摘要 將仿生學(xué)與機(jī)器人相結(jié)合,是根據(jù)生物界蜘蛛的生理結(jié)構(gòu)和行為舉止,設(shè)計(jì)了一種能夠運(yùn)用6足穩(wěn)定,實(shí)現(xiàn)行走、轉(zhuǎn)彎、攻擊、趴下等系列動作的仿生蜘蛛機(jī)器人,并添加了睡眠模式、聲音啟動、遙控操作等功能。不僅在硬件方面模仿生物蜘蛛的外觀,而且在軟件上設(shè)計(jì)了其生物行為,實(shí)現(xiàn)了機(jī)器人的生物特性。
關(guān)鍵詞 仿生蜘蛛機(jī)器人;Dynamixel AX-12+;Dynamixel AX-S1;舵機(jī)
近幾年,仿生學(xué)已經(jīng)從一個(gè)鮮為人知的邊緣學(xué)科走進(jìn)人們視野,運(yùn)用于生活中的各個(gè)領(lǐng)域。生物學(xué)機(jī)理與機(jī)器人的結(jié)合,形成仿生機(jī)器人,成為廣大研究人員關(guān)注的一個(gè)焦點(diǎn)。仿生機(jī)器人是機(jī)器人技術(shù)領(lǐng)域中一個(gè)新興的發(fā)展分支,是指模仿生物、能根據(jù)生物的外部形狀,運(yùn)動原理和行為方式等進(jìn)行模仿,并能從事生物特點(diǎn)工作的機(jī)器人。仿生機(jī)器人的種類多樣,涵蓋了天上、地上、水中等活動領(lǐng)域的各類機(jī)器人,其中地上行走的機(jī)器人,根據(jù)其行走方式的不同,還可以分為跳躍機(jī)器人、輪式機(jī)器人、足式機(jī)器人以及爬行機(jī)器人。文中主要對蜘蛛機(jī)器人進(jìn)行設(shè)計(jì),目標(biāo)是基于生物界中蜘蛛的生理結(jié)構(gòu),運(yùn)用其生物行為,設(shè)計(jì)出能平衡行走、判斷方向、感受外界刺激的機(jī)器人;另外,仿生蜘蛛機(jī)器人在結(jié)構(gòu)上有別于人型或輪式機(jī)器人,使其在較差路況下行走成為可能,可以執(zhí)行在廢墟中搜救等任務(wù)。因此仿生蜘蛛機(jī)器人的設(shè)計(jì)與實(shí)現(xiàn)具有較高的研究價(jià)值和實(shí)際意義。
1 機(jī)器人本體設(shè)計(jì)
生物界蜘蛛的特點(diǎn)是擁有8條腿,在行走時(shí),總會有4條腿著地,用以保持自身的平衡。其生物行為除了行走,還有轉(zhuǎn)彎、攻擊、趴下等,每個(gè)行為作業(yè)都靠腳部的運(yùn)動來實(shí)現(xiàn),因此對腿部的靈活度要求較高;其次,要使機(jī)器人具有生物的特性,需對外界的刺激做出正確的判斷和及時(shí)的響應(yīng),所以感覺器官的模擬也至關(guān)重要。
1.1 軀干設(shè)計(jì)
考慮到蜘蛛機(jī)器人軀干部位對靈活度基本沒有要求,無需搭建活動關(guān)節(jié),且整機(jī)控制器不宜受到關(guān)節(jié)活動干擾,于是將整機(jī)控制器作為軀干部位,完全符合要求,并且便于操控??刂破鞑捎?6位高性能低功耗的AVR單片機(jī),頻率最高為16 MHz,運(yùn)算速度最快為16 MI·s-1。對于小型仿生蜘蛛機(jī)器人的運(yùn)動解算和規(guī)劃,該運(yùn)算能力足以滿足控制和在線規(guī)劃的運(yùn)算要求。
1.2 腿部設(shè)計(jì)
腿部設(shè)計(jì)是實(shí)現(xiàn)蜘蛛機(jī)器人功能的關(guān)鍵。機(jī)器人設(shè)計(jì)有6足,行走時(shí)依靠兩兩間隔的3條腿構(gòu)成穩(wěn)定的三角形支撐地板,每只腿設(shè)計(jì)為3個(gè)關(guān)節(jié),即具有3個(gè)自由度。并且將軸向分布成x軸、y軸、z軸,實(shí)現(xiàn)前后、左右、上下的三維活動空間。選取18個(gè)Robotis公司的Dynamixel AX-12+機(jī)器人專用伺服電機(jī)充當(dāng)肢體關(guān)節(jié)。
Dynamixel AX-12+是機(jī)器人專用的伺服電機(jī),充當(dāng)機(jī)器人的關(guān)節(jié)。首先,Dynamixel系列機(jī)器人驅(qū)動器是一個(gè)較流行的模塊化驅(qū)動器,由齒輪減速器、精密直流電機(jī)和具有串聯(lián)功能的電路板封裝組成。盡管它體積小巧緊湊,但它可以產(chǎn)生較大的扭矩,加上高品質(zhì)材料制造并具有一定的強(qiáng)度,可以抵御一定外部沖擊。同時(shí)它還是雙向的伺服控制系統(tǒng),具有回授功能,且具有檢測內(nèi)部溫度功能,例如改變內(nèi)部溫度和供電電壓。具有報(bào)警功能:當(dāng)內(nèi)部溫度,扭矩,供電電壓等超過額定范圍時(shí),它主動反饋這種情況并閃動LED燈或關(guān)閉舵機(jī)扭矩來通知用戶,達(dá)到報(bào)警效果。
Dynamixel AX-12+的位置和速度控制精度可達(dá)1 024級(0~1 023),關(guān)節(jié)型舵機(jī)對應(yīng)最大轉(zhuǎn)角為300℃,控制角度分辨率為300/1024= 0.29°/步。如圖1所示,位置值0是0°,位置值512是150°,位置值1 023是300°等。通信波特率為7 343 bif·s-1~1 Mbit·s-1,命令信號是數(shù)字型數(shù)據(jù)包,通信協(xié)議類型為半雙工異步串口通信,不同舵機(jī)之間通過唯一的ID進(jìn)行識別,最大有254個(gè)ID。每個(gè)Dynamixel AX-12+舵機(jī)都有一個(gè)控制表存儲舵機(jī)的狀態(tài)和控制信息,這個(gè)控制表由一個(gè)RAM區(qū)和E2PROM區(qū)組成,對舵機(jī)的控制實(shí)際是通過向其控制表中寫指令;而要獲取舵機(jī)當(dāng)前狀態(tài)實(shí)際就是讀取控制表相應(yīng)的值。
1.3 感覺器官設(shè)計(jì)
設(shè)計(jì)蜘蛛機(jī)器人的感官系統(tǒng)時(shí),如果每個(gè)感官對應(yīng)一個(gè)傳感器模塊,那么對蜘蛛機(jī)器人關(guān)節(jié)活動便會增加許多牽絆與阻礙。于是,設(shè)計(jì)采用1個(gè)集超聲測距傳感器、聲音檢測傳感器、亮度傳感器、溫度傳感器和紅外線接收器于一身的Robotis公司的DynamixelAX-S1模塊來充當(dāng)機(jī)器人的感官系統(tǒng)。并且AX-S1與AX-12+機(jī)器人專用伺服電機(jī)在通信方式上一致,以便于通信和控制器統(tǒng)一管理;在機(jī)械上結(jié)構(gòu)相同,外觀上也可以達(dá)到統(tǒng)一、美觀。
1.4 本體結(jié)構(gòu)
根據(jù)生物蜘蛛外形,設(shè)計(jì)總體結(jié)構(gòu)為:以控制器作為身體部位,連接6足,將傳感器模塊作為頭部。選取合適的連接件,最終拼裝連接得到小型仿生蜘蛛機(jī)器人樣機(jī),如圖2所示。
2 機(jī)器人行為設(shè)計(jì)
控制系統(tǒng)采用模塊化設(shè)計(jì),將整個(gè)工作流程劃分為:系統(tǒng)初始化、啟動模式、生物行為等。圖3是系統(tǒng)流程圖。
2.1 系統(tǒng)初始化
機(jī)器人的初始化需要做兩部分工作,一是初始化每個(gè)伺服器的功能模式,并將每個(gè)伺服器切換到位置控制狀態(tài);二是初始化機(jī)器人的初始動作,也就是初始狀態(tài),將機(jī)器人復(fù)位。
2.1.1 伺服器初始化
初始化伺服器的功能模式是因?yàn)锳X-12+具有多種功能,如果沒有將其初始化,它將記憶之前的設(shè)置,按照之前的設(shè)置模式完成此次控制,則AX-12+不會正確工作。AX-12+的每個(gè)功能對應(yīng)地址[ADDRESS]的固有號碼,可以通過選擇地址的方法來控制各個(gè)功能。例如:要設(shè)定AX-12+的位置控制狀態(tài),首先要選定所要設(shè)置伺服器的ID。ID=1的伺服器,令address=8,則進(jìn)入其運(yùn)轉(zhuǎn)模式更改,設(shè)置mode變量,mode只有兩種狀態(tài):mode=0是無線旋轉(zhuǎn)模式,mode=1 023是正常位置控制狀態(tài)。此處設(shè)計(jì)所用的18個(gè)伺服器被用作蜘蛛機(jī)器人的6足,其位置控制狀態(tài)應(yīng)該設(shè)置為mode=1 023,且每一個(gè)伺服器都要初始化為此狀態(tài)。
2.1.2 動作初始化
動作初始化部分相對較簡單,但要建立在伺服器初始化之后,方能進(jìn)行。原理上是將每個(gè)伺服器旋轉(zhuǎn)角度調(diào)整到一定的位置上,使之呈現(xiàn)一個(gè)定型姿態(tài),作為機(jī)器人的待機(jī)動作。通過改變整個(gè)系統(tǒng)結(jié)構(gòu)的全局變量play_motion來完成動作初始化,表1對該參數(shù)進(jìn)行了對照解說,再調(diào)用Load函數(shù)執(zhí)行該動作頁面來實(shí)現(xiàn)功能。
2.2 啟動模式
2.2.1 睡眠模式
當(dāng)機(jī)器人電源開關(guān)開啟,進(jìn)行初始化之后,蜘蛛機(jī)器人進(jìn)入睡眠狀態(tài)。設(shè)計(jì)對睡眠模式的定義為:令機(jī)器人處于一個(gè)靜止姿勢,不做任何行為,等待被啟動。這里設(shè)定一個(gè)無限循環(huán),當(dāng)判斷收到喚醒命令時(shí),跳出循環(huán),開啟定時(shí)器,執(zhí)行正常行為舉止后,通過定時(shí)器的超時(shí)機(jī)制,回到睡眠模式。定時(shí)器時(shí)間值的量化級為:輸入的值每0.125 s減1,即當(dāng)定時(shí)器設(shè)置為8,便是1 s,具體實(shí)現(xiàn)中設(shè)置定時(shí)器為240,即30 s的正常行為活動后回到睡眠模式。
2.2.2 聲音啟動
在睡眠狀態(tài)中,采用兩種不同的方式:無線遙控模式和聲音啟動模式。對于聲音啟動模式,設(shè)定一個(gè)閾值,若采集的數(shù)據(jù)超過閾值時(shí),則開始正常行為活動。閾值的選擇根據(jù)傳感器AX-S1對聲音自定義的一個(gè)數(shù)量級,當(dāng)周圍沒有聲音輸出約為128的數(shù)值,聲音越大數(shù)值越接近255,聲音大小每秒輸入約為3 800次。當(dāng)檢測到像掌聲一樣一定大小以上的聲音時(shí)計(jì)一次數(shù),為避免把一次擊掌誤認(rèn)為多次,在一次計(jì)數(shù)后,采用延時(shí)方式,約為80μs后繼續(xù)計(jì)數(shù)。
2.3 生物行為
正常行為舉止:蜘蛛機(jī)器人的生物行為即自行通過傳感器采集數(shù)據(jù),對數(shù)據(jù)進(jìn)行判斷,然后進(jìn)行處理的一個(gè)仿生過程。設(shè)計(jì)過程將該生物行為定義為正常行為舉止,即正常模式。該模式下,主要研究的是蜘蛛機(jī)器人對障礙物的判斷,通過AX-S1采集到的distance_u和distance _f兩個(gè)參數(shù)進(jìn)行分析。當(dāng)上方障礙物所測距離distance_u≤20時(shí),即認(rèn)為感應(yīng)到上方有障礙物,蜘蛛則產(chǎn)生坐下的動作。當(dāng)前方障礙物所測距離distance_f≤100時(shí),再次檢測一下距離是否distance_f≤20,如果<20,則退后,向左轉(zhuǎn),回到正常模式;如果>20,則采取攻擊,攻擊結(jié)束后,回到正常模式。值得注意的是,distance_u與distance_f所采集數(shù)據(jù)也不是實(shí)際的距離,也是通過量化后的數(shù)值。
3 結(jié)束語
在自然界中,蜘蛛因其獨(dú)特的爬行機(jī)制可以在垂直的墻壁甚至倒立在天花板上行走。運(yùn)用仿生學(xué)原理設(shè)計(jì)制作的6足蜘蛛仿生機(jī)器人系統(tǒng),可以完成行走、轉(zhuǎn)彎、攻擊、趴下等系列動作,并且具有較好的人機(jī)交互功能,使蜘蛛機(jī)器人達(dá)到了仿生的效果,為進(jìn)一步研究蜘蛛機(jī)器人在危險(xiǎn)環(huán)境中或艱難路況中作業(yè)提供了一個(gè)基礎(chǔ)測試平臺和設(shè)計(jì)方案。