陳力雄,郭宛霖,張世龍,侯一航,戴杰,林秀芳
(閩江學(xué)院,福建福州,350108)
六足機器人相比于傳統(tǒng)的機器人,如履帶式機器人,具有更靈活的機械結(jié)構(gòu)和移動步態(tài),能夠在復(fù)雜的環(huán)境中平穩(wěn)地行走,可以代替人類進行設(shè)備巡視、工程勘測、排雷排爆、實時跟蹤及探測特定情況下無法進入或是會導(dǎo)致人類的生命健康遭遇威脅的工作環(huán)境。Arduino是基于單片機的開放源碼的電子原型平臺,以其易學(xué)性和靈活性,可以接收來自各種傳感器的輸入信號從而檢測出運行環(huán)境,并通過控制光源,電機以及其他驅(qū)動器來影響其周圍環(huán)境0。基于Arduino開源平臺和仿生學(xué)原理,仿生六足機器人模仿多足類動物的運動方式,具有靈活性、可靠性、穩(wěn)定性、自主性的特點,面對復(fù)雜環(huán)境條件具有強大的適應(yīng)能力。
基于對自身重量、電源損耗性和經(jīng)濟性等因素的考慮,選用樹脂作為六足機器人外型結(jié)構(gòu)主要材料,樹脂材料制品表面光潔度高,且韌性好、耐高溫、耐低溫、耐腐蝕、抗老化,使用壽命長。運用SLA(光固化技術(shù))進行3D打印,該技術(shù)是目前主流3D打印成型技術(shù)中精度最高,表面成型質(zhì)量好,打印精度高,性價比高。
仿生六足機器人的外型結(jié)構(gòu)設(shè)計使用SOLIDWORKS軟件進行三維建模,如圖1所示。六足機器人的整體結(jié)構(gòu)由多個零件構(gòu)成,主要分為軀干和腿部兩個部分。六足機器人的腿部采用仿生結(jié)構(gòu),仿昆蟲關(guān)節(jié)腿機構(gòu)。腿部的每個關(guān)節(jié)均由舵機驅(qū)動,通過主控芯片控制驅(qū)動相應(yīng)關(guān)節(jié)的舵機運動使六足機器人實現(xiàn)仿生運動。系統(tǒng)從結(jié)構(gòu)上保證了該六足機器人可以有效模擬六足昆蟲的行走方式,并可在多種復(fù)雜環(huán)境狀況下完成指定動作。
圖1 三維模型裝配圖
機器人整體尺寸約為(長×寬×高) 435mm×75mm ×434mm。具體參數(shù)如表1所示。
表1 具體尺寸參數(shù)
由于六足機器人六條腿結(jié)構(gòu)一致且尺寸大小相等,選取其中一條腿進行分析,如圖2所示,桿1表示六足機器人的大腿,桿2表示六足機器人的小腿,桿3表示六足機器人的軀干部分。假設(shè)各部分質(zhì)量均勻分布,分析A點以及B點的力和力矩可得以下結(jié)果。
圖2 力學(xué)分析模型
其中CM為大腿關(guān)節(jié)驅(qū)動力矩,BM為小腿關(guān)節(jié)驅(qū)動力矩。
使用SOLIDWORKS軟件對關(guān)鍵結(jié)構(gòu)進行有限元分析,得出六足機器人腿部結(jié)構(gòu)的靜應(yīng)力分析圖,結(jié)果如圖3所示。通過對其腿的結(jié)構(gòu)進行有限元分析,發(fā)現(xiàn)腿的各個部分結(jié)構(gòu)能夠滿足設(shè)計要求。因此可以得出該結(jié)構(gòu)符合設(shè)計要求。
圖3 靜應(yīng)力分析圖
本設(shè)計采用三角步態(tài),模仿六足昆蟲運動時的步態(tài)。六足昆蟲行走時,將兩側(cè)對稱分布的六只足分成兩組,以三角形結(jié)構(gòu)交替前進。蟲體右側(cè)中足和左側(cè)的前后足為一組,蟲體左側(cè)的中足和右側(cè)的前、后足為另一組。當(dāng)提起其中一組中所有的足時,另一組的足原地不動,支撐身體并以中足為支點,前足關(guān)節(jié)肌肉收縮,拉動身體向前,后足的關(guān)節(jié)肌肉收縮,將蟲體向前推,同時蟲體的重心落在另外一組三角形的三足上,然后重復(fù)前一組的動作交替前進。這種行走方式保證重心總是落在三角支架內(nèi)使運動更加穩(wěn)定且快速。三角步態(tài)示意圖如圖4所示。
圖4 三角步態(tài)示意圖
仿生六足機器人系統(tǒng)的組成部分中,根據(jù)六足機器人的功能需求,選用Arduino 作為開發(fā)平臺,以ATmega2560芯片作為系統(tǒng)的主控芯片,添加2.4G無線控制器模塊、紅外熱成像模塊、定位模塊、電源模塊和舵機,共同組成機器人系統(tǒng)。系統(tǒng)的總體結(jié)構(gòu)如圖5所示。
圖5 總體結(jié)構(gòu)圖
本設(shè)計采用MEGA2560 PRO控制板,如圖6所示,是基于ATmega2560(16MHz晶振)主控芯片的微控制板,采用CH340(12MHz晶振)芯片作為驅(qū)動芯片,內(nèi)存大小為256kb,同時具有54個數(shù)字接口和16個模擬接口,能夠在-40℃~85℃的環(huán)境下正常工作。相比Arduino Mega 2560,它具有更小的體積和更強大的功能,能夠滿足該仿生六足機器人系統(tǒng)的控制需求。主控芯片原理圖如圖7所示。
圖6 MEGA2560 PRO實物
圖7 主控芯片原理圖
為滿足六足機器人驅(qū)動系統(tǒng)的需求,考慮到六足機器人的穩(wěn)定性,易操作性及耐用性等,本設(shè)計的控制方案采用舵機驅(qū)動。
舵機是由變速齒輪組、直流電機、可調(diào)電位器和控制電路組成的一套自動控制系統(tǒng),常作為機器人的驅(qū)動部件。舵機通過信號線與主控芯片進行連接,在使用過程中對信號線發(fā)送指定信號來指定舵機輸出軸的旋轉(zhuǎn)角度和速度。該系統(tǒng)選用 MG90s 舵機作為驅(qū)動元件,因本設(shè)計需要不斷控制機器人各關(guān)節(jié)運行固定的角度來模擬六足機器人的仿生動作。該舵機不但扭力大,精度高,且采用舵機插拔線控制,便于插拔和舵機延長線的選型及更換,適合多自由度機器人的設(shè)計。實物如圖8所示。
圖8 舵機
該舵機輸出軸的角度根據(jù)時基脈沖來控制,一般需要一個20ms左右的時基脈沖,在0.5~2.5ms 的脈沖控制下,舵機轉(zhuǎn)動相應(yīng)的角度。該舵機轉(zhuǎn)動角度為180°,那么對應(yīng)的控制關(guān)系如表2所示。
表2 脈沖角度對應(yīng)表
為了方便遠程控制六足機器人,本設(shè)計使用了遙控模塊。無線遙控模塊采用基于2.4G無線傳輸技術(shù),2.4G技術(shù)具有保密性好、省電、雙向雙工工作、傳輸距離遠、傳輸帶寬較大等優(yōu)點,可以對仿生六足機器人進行遠距離控制。模塊分為接收器和控制器兩部分。接收器可實現(xiàn)遠距離接收,因其具有強大的頻率接收能力。該模塊不僅頻率高而且控制時信號好,抗干擾能力強,適合應(yīng)用于復(fù)雜的環(huán)境中,滿足該系統(tǒng)在復(fù)雜環(huán)境下的遠距離控制需求。
采用AMG8833紅外熱成像傳感器,如圖9所示,是一個8×8的紅外熱傳感器陣列。它將通過I2C返回一組64個單獨的紅外溫度讀數(shù)。該傳感器可以準確測量溫度范圍為 0℃~80℃的溫度,它可以在7m的距離內(nèi)檢測到人。結(jié)構(gòu)緊湊而簡單,體積小,便于集成。因此采用該傳感器作為紅外熱成像模塊。
圖9 AMG8833
該六足機器人在運動到控制者視野之外時,能夠拍攝周圍影像,并將畫面實時傳輸給操控者,因此需要圖像傳輸模塊來實現(xiàn)該功能。本設(shè)計采用FPV高清攝像頭,如圖所示,清晰度達1000TVL,圖像清晰。它具有體積小,質(zhì)量輕,且功耗小等優(yōu)點。工作電壓為7.4V。
圖像傳輸功能由600mW發(fā)射器和接收器來實現(xiàn),工作頻率為5.8G,發(fā)射距離可以達到1km,體積和質(zhì)量都很小,適合需要遠距離操作的六足機器人使用。
考慮到六足機器人的負載能力及各模塊所需的電力,選擇鋰電池作為機器人的能源。鋰電池具有高能量密度、高功率、使用壽命長等特點。鋰電池有優(yōu)良的高低溫放電性能,可以在-20℃~+60℃工作,高溫放電性能高于其他各類電池。常應(yīng)用于汽車及工業(yè)電力行業(yè),非常合適作為六足機器人的能源。
根據(jù)控制板和攝像頭的電壓需求,需引一路電壓為7.4V的電路接入Arduino 控制板和高清攝像頭進行供電。根據(jù)舵機工作電壓的需求,另引一路經(jīng)過降壓穩(wěn)壓模塊將電壓穩(wěn)定至5V后接入舵機進行供電。因此本設(shè)計采用7.4V 15C的鋰電池,符合機器人系統(tǒng)供電需求。
本文所搭建的仿生六足偵察機器人利用ATMEGA 2560芯片對18個舵機進行控制,從而實現(xiàn)對仿生六足偵察機器人的運動的控制。針 對不同的使用場景與復(fù)雜地形,仿生六足機器人在行進過程中,需要具有前進、后退、轉(zhuǎn)向、克服障礙物等多項功能,對于運動的速度、運動的平穩(wěn)性等參數(shù)具有不同要求。從而為了應(yīng)付不同的環(huán)境,仿生六足偵察機器人設(shè)有不同步態(tài),共四種:三角步態(tài)、波紋步態(tài)、四足步態(tài)、波浪步態(tài)。并且Arduino控制板通過2.4G無線接收器連接PS2控制器對四種步態(tài)進行選擇,實現(xiàn)對仿生六足機器人進行遠距離無線操作。
同時,本文所搭建的仿生六足偵察機器人還搭載了紅外傳感器和FPV相機,將其所偵查的復(fù)雜地形數(shù)據(jù)傳回控制器進行反饋與響應(yīng)。傳感器所傳回的反饋使得控制系統(tǒng)形成了一個閉環(huán)控制系統(tǒng),增強了仿生六足機器人抵抗干擾的能力,改善了系統(tǒng)的響應(yīng)的穩(wěn)定性。主程序流程圖如圖10所示。
圖10 主程序流程圖
采用了19段的代碼來對機器人進行控制。首先進行參數(shù)定義,例如手柄端口定義,伺服端口定義以及LED端口定義等。再進行變量聲明,手柄變量中的手柄類型、手柄震動,逆運動學(xué)變量,抬腿模式變量,定位和行走變量等等。之后便是對象聲明18個伺服系統(tǒng)。再編寫一個啟動程序。進入到主程序,檢查手柄類型、設(shè)置幀時間、讀取輸入、將腿復(fù)位、使用IK計算定位腿部-除非將全部設(shè)置為90度模式、電池監(jiān)視器和LED輸出、打印調(diào)試數(shù)據(jù)、處理模式,如果需要,重新設(shè)置抬腿首過標志。接著開始各個子程序的編寫:有處理手柄控制器輸入、腿部IK例行程序(反向運動學(xué)(IK)系統(tǒng))、波紋步態(tài)、四足步態(tài)、三腳步態(tài)、波浪步態(tài)、計算行走步幅、帶控制器的實體平移(xyz軸)、身體隨控制器旋轉(zhuǎn)(xyz軸)、單腿提升模式、設(shè)置所有的伺服為90度、電池監(jiān)視器例行程序、LED條形圖程序、打印調(diào)試數(shù)據(jù),共14個子程序。
三腳架步態(tài)功能程序如下所示,從控制器中讀取命令,三條機械足為一組,一組向前移動時,另外一組提供支撐。
計算行走步幅調(diào)整運動模式程序如下所示,傳感器將檢測到的數(shù)據(jù)傳輸至控制器,通過分別計算步幅和旋轉(zhuǎn)三角的值,設(shè)置正常行走模式和慢速行走模式的持續(xù)時間。
本文設(shè)計了一種基于Arduino的仿生六足機器人。Arduino主控制器驅(qū)動舵機,安裝在機器人上的傳感器將采集到的環(huán)境數(shù)據(jù)傳輸回控制端,依據(jù)反饋數(shù)據(jù)和影像實現(xiàn)環(huán)境偵察工作,并控制舵機的輸出軸的旋轉(zhuǎn)角度和速度,調(diào)整運動模式,維持六足機器人的運動姿態(tài),適應(yīng)所在環(huán)境。此外,增加了遙控模塊,基于2.4G無線傳輸技術(shù),實現(xiàn)了遠程機器操控,大大增加了泛用性。