摘" 要:本文模仿“黃金車輪蜘蛛”的獨(dú)特運(yùn)動(dòng)特性,設(shè)計(jì)具備六足行走與球狀滾動(dòng)轉(zhuǎn)換功能的仿生機(jī)器人。本文使用SolidWorks設(shè)計(jì)機(jī)器人外形,利用Raspberry Pi 完成運(yùn)動(dòng)控制,以 LX-224舵機(jī)驅(qū)動(dòng)機(jī)器人腿部,并結(jié)合視覺(jué)算法優(yōu)化機(jī)器人的結(jié)構(gòu),使機(jī)器人的傳動(dòng)方式更合理、高效,提高了機(jī)器人的穩(wěn)定性、精度以及運(yùn)動(dòng)性能。試驗(yàn)結(jié)果表明,本文設(shè)計(jì)的機(jī)器人成功模擬了蜘蛛的行走姿態(tài),具備視覺(jué)功能以及球狀特性,能夠進(jìn)行物體識(shí)別和滾動(dòng)變形。本文研究為機(jī)器人設(shè)計(jì)和生物模仿提供了新方法,能夠應(yīng)用于復(fù)雜地形中。
關(guān)鍵詞:仿生;結(jié)構(gòu)設(shè)計(jì);機(jī)器視覺(jué);六足機(jī)器人;變形
中圖分類號(hào):TP 316 " 文獻(xiàn)標(biāo)志碼:A
仿生學(xué)是一門融合生命科學(xué)與機(jī)械、材料和信息等工程技術(shù)的交叉學(xué)科,其研究和模擬生物的結(jié)構(gòu)、功能、行為及其調(diào)控機(jī)制,為工程設(shè)計(jì)與系統(tǒng)構(gòu)造提供創(chuàng)新思路。在機(jī)械仿生領(lǐng)域,大自然中的生物,尤其是昆蟲(chóng)和節(jié)肢動(dòng)物為工程師提供了源源不斷的靈感。
2015年以來(lái),國(guó)內(nèi)外多所高校和科研機(jī)構(gòu)設(shè)計(jì)了各類多足仿生機(jī)器人。姜樹(shù)海等[1]開(kāi)發(fā)了六足仿生甲蟲(chóng)機(jī)器人,橢圓形機(jī)體兩側(cè)各有3條腿,設(shè)計(jì)并利用關(guān)節(jié)電機(jī)驅(qū)動(dòng)直行以及轉(zhuǎn)彎步態(tài);王立權(quán)等[2]設(shè)計(jì)的仿生蟹機(jī)器人有6條三自由度爬行腿和2條劃槳式肢體,腿槳復(fù)合驅(qū)動(dòng)拓寬了其運(yùn)動(dòng)形式;劉仲成[3]設(shè)計(jì)了仿生螳螂機(jī)器人,研究其在非結(jié)構(gòu)化地形上的高機(jī)動(dòng)性和操作能力,機(jī)器人具有四足與六足2種形態(tài),其中2條前腿具備抓取功能,能夠執(zhí)行雙臂操作。國(guó)內(nèi)外學(xué)者在多足爬行機(jī)器人的結(jié)構(gòu)設(shè)計(jì)、步態(tài)分析以及運(yùn)動(dòng)控制方面取得明顯進(jìn)展。例如,黃麟等[4]研究弓背蟻的傳統(tǒng)步態(tài),為六足機(jī)器人步態(tài)規(guī)劃提供了參考。本文在結(jié)構(gòu)設(shè)計(jì)和仿生對(duì)象選擇方面進(jìn)行創(chuàng)新,機(jī)器人開(kāi)發(fā)前景廣闊。
1 設(shè)計(jì)方案
1.1 運(yùn)動(dòng)結(jié)構(gòu)設(shè)計(jì)
機(jī)器人結(jié)構(gòu)包括腿部和主板2個(gè)部分(如圖1所示)。
本文根據(jù)蜘蛛腿部形態(tài)設(shè)計(jì)了機(jī)器人的2種腿型(如圖2所示),一種是長(zhǎng)型腿,另一種是短型腿。機(jī)器人配有4條長(zhǎng)型腿,2條短型腿,每條腿各串聯(lián)3個(gè)LX-224舵機(jī)對(duì)關(guān)節(jié)進(jìn)行控制。機(jī)器人變形成球體后,長(zhǎng)型腿為其翻滾提供條件,短型腿幫助其翻滾用力。為了完成翻滾運(yùn)動(dòng),需要兩者驅(qū)動(dòng)關(guān)節(jié)配合,共同發(fā)揮作用。在腿部結(jié)構(gòu)設(shè)計(jì)過(guò)程中,本文改變了各部件的比例,更還原蜘蛛“趴伏”的姿態(tài)。腿部關(guān)節(jié)之間采用精密的金屬軸承進(jìn)行連接,減少摩擦損耗,提高轉(zhuǎn)動(dòng)效率。在關(guān)節(jié)處設(shè)計(jì)減震墊,以吸收在運(yùn)動(dòng)過(guò)程中的沖擊力,保護(hù)舵機(jī)免受損害。本文設(shè)計(jì)采用流線型的鏤空?qǐng)D案,不僅減輕質(zhì)量,而且提高了翻滾效率。在腿與底座的連接處增加電機(jī),以提高腿部的自由度。
為了對(duì)電機(jī)運(yùn)動(dòng)進(jìn)行精準(zhǔn)控制,本文采用PID控制算法,控制系統(tǒng)集成了傳感器反饋機(jī)制,實(shí)時(shí)監(jiān)控腿部位置,控制移動(dòng)速度,保證動(dòng)作的準(zhǔn)確性和穩(wěn)定性。本文采用路徑規(guī)劃算法調(diào)整機(jī)器人腿部長(zhǎng)度、形狀和電機(jī)輸出效率等參數(shù),設(shè)計(jì)合理的翻滾軌跡。為了使機(jī)器人在翻滾過(guò)程中保持重心穩(wěn)定,須調(diào)整腿部姿態(tài)和電機(jī)輸出功率,防止翻滾失控或者側(cè)翻。
本文精確控制這些“輪子”的半徑變化,對(duì)前進(jìn)方向進(jìn)行即時(shí)調(diào)整,提高了機(jī)器人的運(yùn)動(dòng)能力與適應(yīng)性。
1.2 視覺(jué)算法設(shè)計(jì)
本文選擇分辨率高、噪點(diǎn)低的攝像頭和GP2Y0A21紅外距離傳感器來(lái)采集圖像信息。采用卡爾曼濾波算法融合多個(gè)傳感器的數(shù)據(jù),可以更準(zhǔn)確地構(gòu)建周圍環(huán)境的三維模型,為路徑規(guī)劃、物體跟蹤和避障提供可靠依據(jù)。根據(jù)仿生蜘蛛需要識(shí)別的特定物體收集并標(biāo)注有針對(duì)性的數(shù)據(jù)集,對(duì)YOLOv3進(jìn)行微調(diào)和訓(xùn)練,提升識(shí)別精度和泛化能力。
為解決仿生蜘蛛計(jì)算資源有限的問(wèn)題,本文利用ShuffleNet輕量級(jí)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)YOLOv3進(jìn)行壓縮并加速,能夠縮小模型尺寸,降低計(jì)算復(fù)雜度,提高實(shí)時(shí)性。
YOLOv3檢測(cè)包括2個(gè)步驟。1)檢測(cè)對(duì)象位置。YOLOv3 輸入圖像至多層卷積網(wǎng)絡(luò),逐層提取圖像中的特征信息。YOLOv3在不同尺度執(zhí)行特征圖的下采樣和上采樣操作,對(duì)小物體和大物體進(jìn)行多尺度檢測(cè)。每一層經(jīng)過(guò)卷積操作和池化處理后,生成多個(gè)特征圖,從中提取物體位置的候選區(qū)域。2)對(duì)檢測(cè)對(duì)象進(jìn)行分類。YOLOv3在定位候選區(qū)域的基礎(chǔ)上使用卷積層提取高層語(yǔ)義特征,將不同的特征圖進(jìn)行拼接并進(jìn)一步分類,以識(shí)別檢測(cè)對(duì)象的類別。采用分類和邊框回歸的多任務(wù)學(xué)習(xí)方式確定物體的類別,并利用邊界框回歸精確定位物體的位置。使用殘差單元來(lái)加深網(wǎng)絡(luò)結(jié)構(gòu),解決梯度消失問(wèn)題。在檢測(cè)過(guò)程中利用特征拼接技術(shù)融合不同尺度的特征,提高檢測(cè)精度和魯棒性。
經(jīng)過(guò)以上步驟,YOLOv3能夠在準(zhǔn)確識(shí)別圖像分類的基礎(chǔ)上精確定位物體的位置并標(biāo)注邊框。對(duì)YOLOv3進(jìn)行優(yōu)化配置,提高六足機(jī)器人的圖像識(shí)別效率和準(zhǔn)確性,滿足在復(fù)雜環(huán)境中的實(shí)時(shí)檢測(cè)需求。
2 理論計(jì)算
2.1 機(jī)器人步態(tài)
2.1.1 機(jī)器人步態(tài)選擇
在機(jī)器人的步態(tài)方面,本文選擇比較平穩(wěn)的六足直行步態(tài),如圖3所示。
當(dāng)t=T/3時(shí),3、6號(hào)腿為擺動(dòng)相的終止位姿,2、5號(hào)腿為擺動(dòng)相的中點(diǎn)位姿,1、4號(hào)腿為支撐相的終止位姿。當(dāng)t=2T/3時(shí),1、4號(hào)腿為擺動(dòng)相的終止位姿,3、6號(hào)腿為支撐相的中點(diǎn)位姿,2、5號(hào)腿為支撐相的終止位姿。六足步態(tài)共有3種位姿方式。方式一進(jìn)行一次有序循環(huán)交替變換,形成了六足步態(tài)的動(dòng)作。方式二在運(yùn)動(dòng)的過(guò)程中最多有6只腳與地面接觸,是承載能力最強(qiáng)的狀態(tài)。方式三在機(jī)器人腿擺動(dòng)的過(guò)程中有4條腿支撐地面,是支撐腿最少的狀態(tài)。支撐腿的數(shù)目隨運(yùn)動(dòng)發(fā)生變化,導(dǎo)致機(jī)器人重心波動(dòng)[5]。
2.1.2 機(jī)器人運(yùn)動(dòng)學(xué)正解
為了描述六足機(jī)器人的運(yùn)動(dòng)學(xué)模型,本文利用旋轉(zhuǎn)矩陣和平移矩陣對(duì)坐標(biāo)系進(jìn)行轉(zhuǎn)換,位姿矩陣An如公式(1)所示。
(1)
式中:Rot(Z,θn)為圍繞Z軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣,旋轉(zhuǎn)角度為θn,描述了關(guān)節(jié)n的旋轉(zhuǎn)情況;Trans(an,0,dn)為平移矩陣,描述沿X軸和Z軸的平移;Rot(X,αn)為圍繞X軸旋轉(zhuǎn)的旋轉(zhuǎn)矩陣;αn為旋轉(zhuǎn)角度,描述了相鄰連桿之間的扭轉(zhuǎn)角;an為沿X軸方向相鄰連桿之間的距離;dn為沿Z軸方向相鄰連桿之間的平移量。
采用D-H法建立連桿模型,D-H參數(shù)見(jiàn)表1。
將表1中數(shù)據(jù)代入公式(1),得到從第一個(gè)關(guān)節(jié)至第二個(gè)關(guān)節(jié)的變換過(guò)程,如公式(2)所示。
(2)
式中:A1為從第一個(gè)關(guān)節(jié)至第二個(gè)關(guān)節(jié)的變換矩陣;L1為連桿一的長(zhǎng)度;θ1為連桿一的夾角。
從第二個(gè)關(guān)節(jié)至第三個(gè)關(guān)節(jié)的變換過(guò)程如公式(3)所示。
(3)
式中:A2為從第二個(gè)關(guān)節(jié)至第三個(gè)關(guān)節(jié)的變換矩陣;L2為連桿二的長(zhǎng)度;θ2為連桿二的夾角。
從第三個(gè)關(guān)節(jié)至末端的變換過(guò)程如公式(4)所示。
(4)
式中:A3為從第三個(gè)關(guān)節(jié)至末端的變換矩陣;L3為連桿三的長(zhǎng)度;θ3為連桿三夾角。將機(jī)器人末端點(diǎn)的局部坐標(biāo)變換到全局坐標(biāo),得到機(jī)器人運(yùn)動(dòng)方程,如公式(5)所示。式中:nx、ny、nz、ox、oy、oz、ax、ay和az描述了機(jī)器人足端點(diǎn)坐標(biāo)系的旋轉(zhuǎn)分量,其作用是將局部坐標(biāo)轉(zhuǎn)換為全局坐標(biāo);px、py和pz描述了機(jī)器人足端點(diǎn)在全局坐標(biāo)系中的位置,即足端點(diǎn)的坐標(biāo)。
利用連桿參數(shù)計(jì)算機(jī)器人腳端落足點(diǎn)坐標(biāo),如公式(6)所示。
(6)
2.1.3 機(jī)器人運(yùn)動(dòng)學(xué)逆解
在已知六足機(jī)器人的腳端位置x、y和z的情況下,利用逆運(yùn)動(dòng)學(xué)計(jì)算各關(guān)節(jié)的旋轉(zhuǎn)角度。由于存在無(wú)解或多解的情況,因此需要進(jìn)一步分析計(jì)算條件。
將公式(6)前兩行變換相除,得到公式(7)。
(7)
根據(jù)公式(7)得到第一關(guān)節(jié)的旋轉(zhuǎn)角度,如公式(8)所示。
(8)
同理計(jì)算得到θ2,θ3,如公式(9)、公式(10)所示。
(9)
(10)
經(jīng)過(guò)以上步驟計(jì)算θ1、θ2和θ3,能夠確定機(jī)器人腿部在末端落足點(diǎn)的運(yùn)動(dòng)學(xué)逆解。這個(gè)過(guò)程對(duì)六足仿生機(jī)器人的姿態(tài)控制具有重要意義,當(dāng)已知腳端位置時(shí)能夠精確確定每個(gè)關(guān)節(jié)的旋轉(zhuǎn)角度。
2.2 研究成果
研究人員完成了多個(gè)核心環(huán)節(jié)的開(kāi)發(fā)與設(shè)計(jì)工作,包括SolidWorks設(shè)計(jì)與建模、OpenCV視覺(jué)功能開(kāi)發(fā)、零部件材料選擇、電機(jī)選型以及傳感器配置,保證系統(tǒng)功能齊全、高效。
在形體設(shè)計(jì)方面,本文完全DIY設(shè)計(jì)機(jī)器人,包括所有關(guān)鍵部件,例如關(guān)節(jié)、足部和外殼等。研究人員利用SolidWorks進(jìn)行設(shè)計(jì)與建模,完成了整體的裝配工作,保證機(jī)器人結(jié)構(gòu)合理、穩(wěn)固,運(yùn)動(dòng)性能高。
在視覺(jué)系統(tǒng)方面,本文使用OpenCV庫(kù),并采用Python編寫(xiě)了專用的視覺(jué)處理算法。實(shí)時(shí)處理攝像頭采集的數(shù)據(jù),使機(jī)器人能夠識(shí)別物品、進(jìn)行檢測(cè)并鎖定追蹤目標(biāo),YOLOv3 算法效果如圖4所示。
本文對(duì)視覺(jué)識(shí)別程序進(jìn)行了多次優(yōu)化,包括選擇更合適的濾波器,調(diào)整閾值參數(shù)以及優(yōu)化算法流程,以提高識(shí)別的精準(zhǔn)性和實(shí)時(shí)性。本文在仿真環(huán)境中調(diào)試了機(jī)器人的運(yùn)動(dòng)表現(xiàn),完成了更逼真的動(dòng)畫(huà)演示。
本文設(shè)計(jì)的沙漠黃金車輪蜘蛛仿生進(jìn)行了對(duì)應(yīng)的仿真試驗(yàn),試驗(yàn)結(jié)果表明可以實(shí)現(xiàn)基本行走功能、視覺(jué)(尋找物體)功能和變形翻滾功能,未來(lái)會(huì)進(jìn)一步優(yōu)化吐絲功能。仿生機(jī)器人可以適應(yīng)不同的地形條件,并且視覺(jué)功能出色,因此用途非常廣泛,例如可以應(yīng)用于垃圾檢索和環(huán)保領(lǐng)域。
3 結(jié)語(yǔ)
本文對(duì)黃金車輪蜘蛛進(jìn)行仿生研究,設(shè)計(jì)并制作了一款模仿黃金車輪蜘蛛的六足機(jī)器人。對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)仿真,利用樹(shù)莓派控制總線舵機(jī)實(shí)現(xiàn)機(jī)器人的基本行走和變形翻滾功能,并加入視覺(jué)模塊以拓展更多功能。機(jī)器人可以適應(yīng)多種地形,承擔(dān)多個(gè)領(lǐng)域的任務(wù),具有一定實(shí)用性。
參考文獻(xiàn)
[1]姜樹(shù)海.仿生甲蟲(chóng)六足機(jī)器人結(jié)構(gòu)設(shè)計(jì)與步態(tài)分析[J].南京林業(yè)大學(xué)學(xué)報(bào) (自然科學(xué)版),2012(36):115-120.
[2]王立權(quán).兩棲仿生機(jī)器蟹模型建立與步行足協(xié)調(diào)控制技術(shù)研究[D].哈爾濱:哈爾濱工程大學(xué),2003.
[3]劉仲成.仿生螳螂六足機(jī)器人設(shè)計(jì)與調(diào)試[J].黑龍江科技信息,2018(13):142-143.
[4]黃麟,韓寶玲,羅慶生,等.仿生六足機(jī)器人步態(tài)規(guī)劃策略試驗(yàn)研究[J].華中科技大學(xué)學(xué)報(bào):自然科學(xué)版,2007(12):4.
[5]郭建,梁永杰,張曉佳,等.基于步態(tài)規(guī)劃的六足機(jī)器人運(yùn)動(dòng)學(xué)分析與計(jì)算[J].機(jī)床與液壓,2023,51(5):66-73.