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