本發(fā)明涉及一種六足機(jī)器人控制系統(tǒng)與爬樓梯步態(tài)規(guī)劃方法,屬于機(jī)器人領(lǐng)域。
背景技術(shù):
隨著中國(guó)制造2025規(guī)劃的實(shí)施,機(jī)器人會(huì)在國(guó)民經(jīng)濟(jì)中扮演越來越重要的角色。在《機(jī)器人產(chǎn)業(yè)十三五發(fā)展規(guī)劃》中提到要重點(diǎn)推進(jìn)工業(yè)機(jī)器人在民爆等危險(xiǎn)作業(yè)行業(yè)、國(guó)防軍工領(lǐng)域的推廣應(yīng)用。目前,用于此類應(yīng)用的機(jī)器人主要分成輪式和足式兩種。輪式機(jī)器人的優(yōu)點(diǎn)在于移動(dòng)迅速,并且自由度較低使得控制較為簡(jiǎn)單,而當(dāng)面對(duì)坑洼、障礙等崎嶇地貌時(shí),輪式機(jī)器人將很難適應(yīng),在這一點(diǎn)上足式機(jī)器人的優(yōu)勢(shì)十分明顯。
六足機(jī)器人作為足式機(jī)器人中極具代表性的一種,被廣泛應(yīng)用于野外勘察、太空探測(cè)、災(zāi)區(qū)救援等領(lǐng)域。這就要求機(jī)器人具有很強(qiáng)的越障能力,而樓梯作為人造環(huán)境中最為常見的障礙,同時(shí)也是最難跨越的障礙之一,機(jī)器人對(duì)其攀爬能力成為移動(dòng)機(jī)器人越障能力研究的一個(gè)重點(diǎn)。
專利“一種仿生六足機(jī)器人控制系統(tǒng)及控制方法”[專利申請(qǐng)?zhí)枺?01410653477.x,公開號(hào):cn104460672a],公開了一種適用于復(fù)雜地形下六足機(jī)器人的控制策略和控制系統(tǒng)。該系統(tǒng)利用限位開關(guān)進(jìn)行足端觸地反饋,當(dāng)足端觸地時(shí)反饋的信號(hào)容易產(chǎn)生毛刺,需要額外添加信號(hào)處理電路,增加處理器負(fù)擔(dān),且無(wú)三軸加速度計(jì),無(wú)法保證六足機(jī)器人的穩(wěn)定性。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于解決背景技術(shù)中的問題,提供一種簡(jiǎn)單高效的六足機(jī)器人爬樓梯控制系統(tǒng)和步態(tài)規(guī)劃方法。
上述目的通過以下的技術(shù)方案實(shí)現(xiàn):
本發(fā)明包括機(jī)身、控制系統(tǒng)和步態(tài)規(guī)劃,所述的機(jī)身包括軀干和行走機(jī)構(gòu),所述的軀干包括機(jī)架,所述的行走機(jī)構(gòu)包括腿a、腿b、腿c、腿d、腿e和腿f(wàn),腿a、腿b和腿c對(duì)稱分布在機(jī)架左側(cè),腿d、腿e和腿f(wàn)對(duì)稱分布在機(jī)架右側(cè),所述的腿a、腿b、腿c、腿d、腿e和腿f(wàn)分別包括基節(jié)、大腿、脛節(jié)、足端、基節(jié)舵機(jī)、腿節(jié)舵機(jī)以及脛節(jié)舵機(jī),所述的機(jī)架兩側(cè)分別通過舵盤各自連接基節(jié),所述的基節(jié)連接大腿,所述的大腿連接脛節(jié),所述的脛節(jié)連接足端,所述的基節(jié)上安裝基節(jié)舵機(jī),所述的大腿上安裝腿節(jié)舵機(jī),所述的脛節(jié)上安裝脛節(jié)舵機(jī),所述的足端上安裝足端壓力傳感器。
所述的控制系統(tǒng)包括單片機(jī)、舵機(jī)控制板、所述的安裝在每個(gè)足端的力傳感器、三軸加速度計(jì)以及航模電池,所述的力傳感器和三軸加速度計(jì)連接單片機(jī),所述的單片機(jī)連接舵機(jī)控制板,所述的舵機(jī)控制板分別連接基節(jié)舵機(jī)、腿節(jié)舵機(jī)和脛節(jié)舵機(jī),所述的航模電池分別連接單片機(jī)和舵機(jī)控制板;所述的力傳感器負(fù)責(zé)檢測(cè)足部的觸地情況并將信息反饋給單片機(jī),所述的三軸加速度計(jì)負(fù)責(zé)檢測(cè)軀干的俯仰角并將信息反饋給單片機(jī),所述的單片機(jī)將所述的力傳感器和三軸加速度計(jì)反饋的信息處理后通過算法生成每個(gè)所述的基節(jié)舵機(jī)、腿節(jié)舵機(jī)和脛節(jié)舵機(jī)的旋轉(zhuǎn)角度并發(fā)送指令給所述的舵機(jī)控制板,所述的舵機(jī)控制板接收所述的單片機(jī)指令后驅(qū)動(dòng)每個(gè)所述的基節(jié)舵機(jī)、腿節(jié)舵機(jī)和脛節(jié)舵機(jī),所述的航模電池為整個(gè)控制系統(tǒng)供電。
所述的步態(tài)規(guī)劃包括五個(gè)步驟:
步驟1:腿a、腿b、腿c、腿d、腿e和腿f(wàn)支撐于地面,執(zhí)行步驟2;
步驟2:腿a和腿b的腿節(jié)舵機(jī)分別向上轉(zhuǎn)動(dòng)β,基節(jié)舵機(jī)分別向前轉(zhuǎn)動(dòng)θ后腿節(jié)舵機(jī)分別向下轉(zhuǎn)動(dòng)直到腿a和腿b觸地,腿c、腿d、腿e和腿f(wàn)保持不變,執(zhí)行步驟3;
步驟3:腿a、腿b、腿c、腿d、腿e和腿f(wàn)的基節(jié)舵機(jī)分別向后轉(zhuǎn)動(dòng)θ,同時(shí)腿c、腿d、腿e和腿f(wàn)的腿節(jié)舵機(jī)分別向下轉(zhuǎn)動(dòng)直到軀干平行于地面,執(zhí)行步驟4;
步驟4:腿b和腿e的腿節(jié)舵機(jī)分別向上轉(zhuǎn)動(dòng)β,基節(jié)舵機(jī)分別向前轉(zhuǎn)動(dòng)θ后腿節(jié)舵機(jī)分別向下轉(zhuǎn)動(dòng)直到腿b和腿e觸地,腿a、腿b、腿e和腿f(wàn)保持不變,執(zhí)行步驟5;
步驟5:腿c和腿d的腿節(jié)舵機(jī)分別向上轉(zhuǎn)動(dòng)β,基節(jié)舵機(jī)分別向前轉(zhuǎn)動(dòng)θ后腿節(jié)舵機(jī)分別向下轉(zhuǎn)動(dòng)直到:腿c和腿d觸地,腿a、腿b、腿e和腿f(wàn)保持不變,執(zhí)行步驟1;
θ為步驟2中大腿在水平面投影與步驟1中大腿在水平面投影的夾角,范圍設(shè)定為-85°到85°。
本發(fā)明具有有益效果。
1.本發(fā)明六足機(jī)器人是一種具有冗余運(yùn)動(dòng)、多支鏈、時(shí)變拓?fù)溥\(yùn)動(dòng)機(jī)構(gòu)的移動(dòng)機(jī)器人,由于其具有18個(gè)自由度,使得多腿協(xié)調(diào)控制極具挑戰(zhàn)性,而本發(fā)明在保證六足機(jī)器人行走效率的前提下,對(duì)其運(yùn)動(dòng)步態(tài)進(jìn)行了簡(jiǎn)化,使得控制算法難度降低,同時(shí)減輕控制器的負(fù)擔(dān),提高了六足機(jī)器人反應(yīng)速度。
2.本發(fā)明的高層傳感器是力傳感器和三軸加速度計(jì),通過力傳感器作為足端反射判斷支撐相腿部是否就位,通過三軸加速度計(jì)判斷六足機(jī)器人運(yùn)行是否平穩(wěn),使得機(jī)器人能夠自主判斷當(dāng)前自身的狀況,進(jìn)而采取下一步的行動(dòng)。
附圖說明
圖1為本發(fā)明的六足機(jī)器人系統(tǒng)俯視圖;
圖2位本發(fā)明的六足機(jī)器人系統(tǒng)主視圖;
圖3為本發(fā)明的六足機(jī)器人單腿主視圖;
圖4為本發(fā)明的六足機(jī)器人單腿簡(jiǎn)化模型;
圖5為本發(fā)明的六足機(jī)器人爬梯步態(tài)俯視圖;
圖6為本發(fā)明的六足機(jī)器人行走相量圖;
圖7為本發(fā)明的六足機(jī)器人控制算法流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步說明。
如圖1、圖2和圖3所示,本發(fā)明包括軀干、行走機(jī)構(gòu)和控制系統(tǒng),軀干由上底板1和下底板5組成。行走機(jī)構(gòu)由6條腿14組成,腿a、腿b和腿c均勻分布在軀干左側(cè),腿d、腿e和腿f(wàn)均勻分布在軀干右側(cè),每條腿的包括基節(jié)7、大腿8、脛節(jié)9、足端13,基節(jié)舵機(jī)10、腿節(jié)舵機(jī)11以及脛節(jié)舵機(jī)12,基節(jié)舵機(jī)10由上底板1和下底板5夾持,通過舵盤水平放置,負(fù)責(zé)控制腿部在水平方向轉(zhuǎn)動(dòng),腿節(jié)舵機(jī)11與基節(jié)舵機(jī)10通過舵盤連接并豎直放置,負(fù)責(zé)控制腿部在豎直方向上轉(zhuǎn)動(dòng)。脛節(jié)舵機(jī)12由大腿8和脛節(jié)9夾持,通過舵盤豎直放置,負(fù)責(zé)控制脛節(jié)在豎直方向上轉(zhuǎn)動(dòng)??刂葡到y(tǒng)包括單片機(jī)電路板3、舵機(jī)控制板2、力傳感器20、三軸加速度計(jì)4以及航模電池6。
如圖4、圖5和圖6所示,本發(fā)明規(guī)劃的步態(tài)是一種周期性的四足步態(tài),理想狀態(tài)下,除了初始狀態(tài)t1和擺動(dòng)狀態(tài)t3外,同一時(shí)刻有四條腿處于支撐相,即有四個(gè)足端與地面接觸。初始狀態(tài)t1時(shí),六足機(jī)器人處于站立狀態(tài),腿a、腿b、腿c、腿d、腿e和腿f(wàn)處于支撐相,t2狀態(tài)時(shí),腿b、腿c、腿d和腿e處于支撐相,腿a和腿f(wàn)處于懸空相,腿a和腿f(wàn)的腿節(jié)舵機(jī)分別轉(zhuǎn)動(dòng)θf(wàn)使足端離開地面并分別轉(zhuǎn)動(dòng)基節(jié)舵機(jī)θc,t3狀態(tài)時(shí),腿a和腿f(wàn)腿節(jié)舵機(jī)轉(zhuǎn)動(dòng)-θf(wàn)使足端接觸地面回到支撐相,腿b、腿c、腿d和腿e保持不變,腿a和腿f(wàn)轉(zhuǎn)動(dòng)基節(jié)舵機(jī)-θc,同時(shí)腿b、腿c、腿d和腿e轉(zhuǎn)動(dòng)基節(jié)舵機(jī)θc,t3狀態(tài)結(jié)束后,六足機(jī)器人質(zhì)心向正前方移動(dòng)λ,t4狀態(tài)時(shí),腿b和腿e處于懸空相,腿b和腿e的腿節(jié)舵機(jī)分別轉(zhuǎn)動(dòng)θf(wàn)使足端離開地面并分別轉(zhuǎn)動(dòng)基節(jié)舵機(jī)θc,腿a、腿c、腿d和腿f(wàn)保持不變,t5狀態(tài)是,腿b和腿e的腿節(jié)舵機(jī)轉(zhuǎn)動(dòng)-θf(wàn)使足端接觸地面回到支撐相,腿c和腿d處于懸空相,腿c和腿d的腿節(jié)舵機(jī)分別轉(zhuǎn)動(dòng)θf(wàn)使足端離開地面并分別轉(zhuǎn)動(dòng)基節(jié)舵機(jī)θc,腿a和腿f(wàn)保持不變,t5狀態(tài)后,腿c和腿d的腿節(jié)舵機(jī)轉(zhuǎn)動(dòng)-θf(wàn)使足端接觸地面回到支撐相,回到初始狀態(tài),完成一個(gè)周期的運(yùn)動(dòng)。
如圖5所示,假設(shè)初始狀態(tài)時(shí),舵機(jī)轉(zhuǎn)動(dòng)角度均為0,具體爬樓梯控制流程如下:
步驟1:腿a和腿f(wàn)同時(shí)動(dòng)作,分別將基節(jié)舵機(jī)向yw軸負(fù)方向轉(zhuǎn)動(dòng)θc,腿節(jié)舵機(jī)向zw軸正方向轉(zhuǎn)動(dòng)θf(wàn),并執(zhí)行步驟2;
步驟2:若力傳感器a和力傳感器f反饋為0,執(zhí)行步驟3,否則執(zhí)行步驟4;
步驟3::利用插值算法將腿a和腿f(wàn)的腿節(jié)舵機(jī)分別向zw軸負(fù)方向轉(zhuǎn)動(dòng),直至力傳感器a和力傳感器f反饋不為0,此時(shí)腿a和腿f(wàn)的腿節(jié)舵機(jī)的轉(zhuǎn)動(dòng)角度分別為θf(wàn)’和θf(wàn)’,并執(zhí)行步驟4;
步驟4:腿a和腿f(wàn)分別將基節(jié)舵機(jī)向yw軸正方向轉(zhuǎn)動(dòng)θc,同時(shí)腿b、腿c、腿d和腿e分別將基節(jié)舵機(jī)向yw軸正方向轉(zhuǎn)動(dòng)θc,并執(zhí)行步驟5;
步驟5:腿b、腿c、腿d和腿e同時(shí)動(dòng)作,分別將腿節(jié)舵機(jī)向zw軸負(fù)方向轉(zhuǎn)動(dòng)θf(wàn)’,并執(zhí)行步驟6;
步驟:6:若三軸加速度計(jì)4反饋俯仰角度為0,則執(zhí)行步驟10,否則執(zhí)行步驟7;
步驟7:若三軸加速度計(jì)4反饋俯仰角度為負(fù)數(shù),則執(zhí)行步驟8,否則執(zhí)行步驟9;
步驟8:利用插值算法將腿b、腿c、腿d和腿e的腿節(jié)舵機(jī)分別向zw軸正方向轉(zhuǎn)動(dòng),直至俯仰角為0,并執(zhí)行步驟10;
步驟9:利用插值算法將腿b、腿c、腿d和腿e的腿節(jié)舵機(jī)分別向zw軸負(fù)方向轉(zhuǎn)動(dòng),直至俯仰角為0,并執(zhí)行步驟10;
步驟10:腿b和腿e同時(shí)動(dòng)作,基分別將節(jié)舵機(jī)向yw軸負(fù)方向轉(zhuǎn)動(dòng)θc,腿節(jié)舵機(jī)向zw軸正方向轉(zhuǎn)動(dòng)θf(wàn),脛節(jié)舵機(jī)向zw軸正方向轉(zhuǎn)動(dòng)θt,并執(zhí)行步驟11;
步驟11:若力傳感器b和力傳感器e反饋為0,執(zhí)行步驟12,否則執(zhí)行步驟13;
步驟12::利用插值算法將腿b和腿e的腿節(jié)舵機(jī)分別向zw軸負(fù)方向轉(zhuǎn)動(dòng),直至力傳感器b和力傳感器e反饋不為0,并執(zhí)行步驟13;
步驟13:腿c和腿d同時(shí)動(dòng)作,分別將基節(jié)舵機(jī)向yw軸負(fù)方向轉(zhuǎn)動(dòng)θc,腿節(jié)舵機(jī)向zw軸正方向轉(zhuǎn)動(dòng)θf(wàn),并執(zhí)行步驟14;
步驟14:若力傳感器c和力傳感器d反饋為0,則執(zhí)行步驟15,否則執(zhí)行步驟1;
步驟15::利用插值算法將腿c和腿d的腿節(jié)舵機(jī)分別向zw軸負(fù)方向轉(zhuǎn)動(dòng),直至力傳感器c和力傳感器d反饋不為0,并執(zhí)行步驟1。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來,在不脫離本發(fā)明原理的前提下可以做出若干改進(jìn),這些改進(jìn)也應(yīng)視為本發(fā)明的保護(hù)范圍。