六足仿生機器人原理解析及實(shí)物設計,包含軟硬件設計
一 研究目的
人類(lèi)對于外太空探險的欲望從未間斷過(guò),因此,如何在不危害人類(lèi)生命的前提下,挑選先遣部隊之探險員,值得深思。近年來(lái)有相當多的探討兩足至多足機器人的在外太空的應用,過(guò)去兩足機器人多為轉型機械系統,其運動(dòng)局限于二維平面,無(wú)法克服許多山區崎嶇的地形。六足機器人具有跨障能力,可以克服崎嶇的地形,且機器人比人類(lèi)更能承受苛刻的工作環(huán)境,因此可以運用在許多危險的工作,例如火山的研究或其他星球的探測等。
在國外已由很多學(xué)者深入探討過(guò)可移動(dòng)式機器人的設計與改進(jìn)。一般的移動(dòng)式機器人的移動(dòng)方式可分為輪形、足形。在足形移動(dòng)式方面有分為兩足、四足、六足和多足機器人,另外還有蛇形移動(dòng)機器人。
無(wú)論在靜止或行走,六足機器人的移動(dòng)較具靈活性變化,但其步行控制需要有良好的控制與規劃,六足機器人較不受地形限制,可四處移動(dòng)是探索未知環(huán)境的一項利器,更是良好的研究題材。
二 系統總體方案
六足仿生機器人分為機器人模塊和無(wú)線(xiàn)遙控模塊兩個(gè)大部分。他們的組成框圖如下圖所示。兩個(gè)模塊都是以PIC32單片機為控制核心,通過(guò)在2.8寸的TFT屏上模擬出按鍵控制機器人實(shí)現各種功能。
圖1、六足機器人模塊
圖2、無(wú)線(xiàn)遙控模塊
三 硬件設計
3.1 機器人的步態(tài)研究
a.前進(jìn)步態(tài)(黑橢圓代表該腳著(zhù)底,空心橢圓代表沒(méi)著(zhù)地)
圖3、 初始狀態(tài) 圖4、第一組的三只腳抬起來(lái)
圖5、第一組三只腳前移 圖6、第二組三只腳抬起來(lái)
圖7、第一組的三只腳利用對地 圖8、第二組的三只腳著(zhù)地
摩擦力將來(lái)身體前移,第二組的三只腳前移
圖9、第二組的三只腳利用對地摩擦力將身體前移,第一組的三只腳前移,然后從圖4
開(kāi)始重復執行,實(shí)現機器人的進(jìn)退步態(tài)。
注意:為了讓機器人能夠直線(xiàn)運動(dòng),必須讓每只腳的前進(jìn)距離必須相同。
b.拐彎步態(tài)
圖10、初始狀態(tài) 圖11、第一組的三只腳抬起來(lái)
圖12、第一組的三只腳拐彎并踩到 圖13、第一組的三只腳利用對地的摩擦
地面上,然后第二組的三只腳抬起來(lái) 力使機器人拐彎一定角度,第二組的三只腳拐一定角度
圖14、第一組的三只腳抬起來(lái), 圖15、第二組的三只腳利用對地
第二組的三只腳著(zhù)地 的摩擦力使機器人拐彎一定角度,第一組 的三 只腳拐一定角度
圖16、第二組的三只腳抬起來(lái),第一組的三
只腳著(zhù)地,然后從圖13開(kāi)始重復執行
注意:該結構每次拐彎的最大角度為30度,拐彎的最小角度為1度。所以通過(guò)程序可以設置拐彎角度1到255度的任意拐彎。
3.2結構設計
圖20、機器人的整體
圖21、在舵機后面裝上軸承,在腳底安裝按鍵用來(lái)檢測地面信息
圖22、單只腳
圖23、未裝上機械臂時(shí)
圖24、裝上機械臂以后
圖25、裝上無(wú)線(xiàn)攝像頭以后
四 軟件設計
程序流程圖
圖26、機器人模塊流程圖
圖27、遙控模塊流程圖
通過(guò)程序控制機器人的與地面的高度
圖17、機器人腳部控制示意圖
圖17中a為機器人大腿的長(cháng)度,b為機器人小腿的長(cháng)度。H為機器人跟地面的距離,L為機器人的第二個(gè)關(guān)節跟機器人的腳尖的水平距離。B位控制大腿舵機的角度,C為控制小腿舵機的角度。
比如要實(shí)現機器人與地面的高度H=10cm,機器人的腳伸長(cháng)的水平距離L=8cm。則可以通過(guò)調用求角函數:qiujiao(8,10);求出機器人在該條件下的大腿舵機角度,和小腿舵機角度。
讓舵機旋轉到這個(gè)角度就可以實(shí)現預定的高度跟腳伸長(cháng)水平距離的值。在實(shí)際測量中得知該結構配合這個(gè)算法的誤差小于0.3cm。
求角實(shí)現程序如下:
void qiu_jiao(float L,float H)
{
float a=6,b=10,c,B1,B2;
L=L-3;
H=H;
c=sqrt(H*H+L*L);
B2=acos(H/c);
B1=acos((a*a+c*c-b*b)/(2*a*c));
B=B1+B2;
B=180*B/3.141592;
C=acos((a*a+b*b-c*c)/(2*a*b));
C=180*C/3.141592;
}
下圖為腳底按鍵檢測地面信息的判斷:
圖18、按鍵檢測地面信息流程圖
利用3個(gè)定時(shí)器23個(gè)舵機控制
舵機的控制信號為脈寬調制(PWM)信號。周期為20ms。脈沖寬度為0.5~2.5ms相對應舵盤(pán)的位置為0~180度,呈線(xiàn)性變化。在控制信號線(xiàn)提供一定的脈寬脈沖時(shí),舵機輸出軸保持在相對應的角度上,單個(gè)舵機控制型號如圖1所示。周期T為20ms,其中變化的時(shí)間為t,變化范圍為0.5~2.5ms,每一個(gè)舵機的控制型號至少有17.5ms是低電平且不會(huì )變化。
圖19、單個(gè)舵機控制型號示意圖
在20ms內,首先置控制信號為高電平,t時(shí)間后取反,舵機轉軸將轉到t時(shí)間是對應的角度。t時(shí)間后取反,舵機轉軸將轉到t時(shí)間是對應的角度。t的最大取值為2.5ms(在2.5ms后將控制型號置成高電平將不會(huì )影響到控制信號對舵機的控制),則在20ms內最多可以控制8路信號(20/2.5=8)。
采用3個(gè)定時(shí)器多舵機分時(shí)控制的思想,實(shí)現對23個(gè)舵機的協(xié)調控制。將23個(gè)舵機分成3組。
原理圖
圖28、機器人部分原理圖
圖28為機器人部分原理圖利用Digilent Cerebot™ 32MX4的JH,JJ和JK的第1,2兩個(gè)IO口共計18個(gè)IO口控制機器人腳部的18個(gè)舵機。用JK拓展口的其他6個(gè)IO口外接按鍵來(lái)檢測地面信息。6個(gè)發(fā)光二極管用來(lái)指示該腳是否接觸到地面。用JE拓展口的5個(gè)IO口控制機械臂的5個(gè)舵機。用JD口的4個(gè)IO口控制A7105無(wú)線(xiàn)模塊,傳輸數據實(shí)現遠程控制。
圖29、無(wú)線(xiàn)遙控部分原理圖
圖29 為無(wú)線(xiàn)遙控部分原理圖,利用Digilent Cerebot™ 32MX4的JD口的4個(gè)IO口控制A7105無(wú)線(xiàn)模塊,傳輸數據實(shí)現遠程控制。利用JA,JB和JC三個(gè)拓展口控制TFT彩屏液晶。
結束
本設計通過(guò)以MIPS構架的PIC32單片機實(shí)現對仿生六足機器人基本步態(tài)控制,使機器人可按照典型步態(tài)協(xié)調靈活運動(dòng)。該六足機器人前進(jìn)一步的最大距離是8CM 。一次拐彎的最大角度為30度。機械臂夾起來(lái)的重物最重為150g左右。無(wú)線(xiàn)攝像頭數據傳輸的最遠距離達到200米以上。
實(shí)驗表明,按照機器人運動(dòng)步態(tài)研究結果,運動(dòng)控制通過(guò)算法對機器人運動(dòng)進(jìn)行控制,運動(dòng)速度可通過(guò)改變舵機控制脈寬和各腿運動(dòng)間隔時(shí)間來(lái)調整,其運動(dòng)平穩。在實(shí)際運用有廣闊的前景。
評論