麥克納姆安裝及計(jì)算

上傳人:靚*** 文檔編號(hào):54838898 上傳時(shí)間:2022-02-15 格式:DOCX 頁(yè)數(shù):24 大小:578.59KB
收藏 版權(quán)申訴 舉報(bào) 下載
麥克納姆安裝及計(jì)算_第1頁(yè)
第1頁(yè) / 共24頁(yè)
麥克納姆安裝及計(jì)算_第2頁(yè)
第2頁(yè) / 共24頁(yè)
麥克納姆安裝及計(jì)算_第3頁(yè)
第3頁(yè) / 共24頁(yè)

下載文檔到電腦,查找使用更方便

12 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《麥克納姆安裝及計(jì)算》由會(huì)員分享,可在線(xiàn)閱讀,更多相關(guān)《麥克納姆安裝及計(jì)算(24頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、麥克納姆輪淺談 什么是麥克納姆輪 在競(jìng)賽機(jī)器人和特殊工種機(jī)器人中,全向移動(dòng)經(jīng)常是一個(gè)必需的功能。「全向移動(dòng)」意味著可以在平面內(nèi)做出任意方向平移同時(shí)自轉(zhuǎn)的動(dòng)作。為了實(shí)現(xiàn)全向移動(dòng),一般機(jī)器人會(huì)使用「全向輪」(OmniWheel)或「麥克納姆輪」 (MecanumWheel)這兩種特殊輪子。 全向輪: 麥克納姆輪 全向輪與麥克納姆輪的共同點(diǎn)在于他們都由兩大部分組成:輪轂和根子 (roller)。輪轂是整個(gè)輪子的主體支架,根子則是安裝在輪轂上的鼓狀物。 全向輪的輪轂軸與根子轉(zhuǎn)軸相互垂直,而麥克納姆輪的輪轂軸與根子轉(zhuǎn)軸呈 45°角。理論上,這個(gè)夾角可以是任意值,根據(jù)不同的夾角可以制作出

2、不同的輪子,但最常用的還是這兩種。 全向輪與麥克納姆輪(以下簡(jiǎn)稱(chēng)「麥輪」)在結(jié)構(gòu)、力學(xué)特性、運(yùn)動(dòng)學(xué)特性上都有差異,其本質(zhì)原因是輪轂軸與根子轉(zhuǎn)軸的角度不同。經(jīng)過(guò)分析,二者的運(yùn)動(dòng)學(xué)和力學(xué)特性區(qū)別可以通過(guò)以下表格來(lái)體現(xiàn)。 口 ■£> Ether Mecanum 分.,R > > V 6雋蓊芟 吞嫉立Mr 盤(pán)典?*:,?尸 JtAlT 曰?J.Eh>>『 才?收3工 v?rf ALi-fZ-jErt1 身 再d/ d 塞?,產(chǎn)星刊fRftA 立用款「jfi-Jjr* MlT .fqL 用餐壯 wArf?-**/ nrqmrTzxj?uAJX ?,+!姓)肛心? MM號(hào)Q w*r>j^s

3、jsn£JcAj^tg! Xftzxnc akejfij j 計(jì)算過(guò)程如下,供參考, 學(xué)霸可點(diǎn)開(kāi)大圖驗(yàn)算: 47/i~ 4丁/?- 2丁72,/- TKethreecolLimniaar?fgrs-taneflaird.ort^cLmeeanijm4--wl-ieelecivetnlelAs. respectively.TKeomursiveliidea8wineels

4、,anddia)0Dngkfor日 OivenwwKtti華pewde(r>曰>之色羊,主存。]IT"靜coneitKreerow手二r?!笆渴瑃otaEp。手nin。 force:fforwsFd,strafe,and1dhftgon曰LforagivenwKeeltorq:uiep1.Ttnesel^asttinre0roiws a.后『tjm。通}ftiotionN。尋尋m。。曰riuim!atnedomniroller匕叁日rings^日nd t?)s-wfficicfnttraciiorT量o9Mppoirttki^renationFd「。。 近年來(lái),麥輪的

5、應(yīng)用逐漸增多,特別是在Robocon、FRC等機(jī)器人賽事上。 這是因?yàn)辂溈思{姆輪可以像傳統(tǒng)輪子一樣,安裝在相互平行的軸上。而若想 使用全向輪完成類(lèi)似的功能,幾個(gè)輪轂軸之間的角度就必須是60。,90?;? 120°等角度,這樣的角度生產(chǎn)和制造起來(lái)比較麻煩。所以許多工業(yè)全向移動(dòng) 平臺(tái)都是使用麥克納姆輪而不是全向輪, 比如這個(gè)國(guó)產(chǎn)的叉車(chē): ?全向移動(dòng)平 臺(tái)麥克納姆輪叉車(chē)美科斯叉車(chē)另外一個(gè)原因,可能是麥輪的造型比全向輪要酷炫得多,看起來(lái)有一種不明覺(jué)厲的感覺(jué) 的確,第一次看到麥輪運(yùn)轉(zhuǎn)起來(lái),不少人都會(huì)驚嘆。以下視頻直觀地說(shuō)明了 麥輪底盤(pán)在平移和旋轉(zhuǎn)時(shí)的輪子旋轉(zhuǎn)方向。 麥輪的

6、安裝方法 麥輪一般是四個(gè)一組使用,兩個(gè)左旋輪,兩個(gè)右旋輪。左旋輪和右旋輪呈手 性對(duì)稱(chēng),區(qū)別如下圖。 安裝方式有多種,主要分為:X-正方形(X-square)、X-長(zhǎng)方形(X-rectangle)、 O-正方形(O-square)、O-長(zhǎng)方形(O-rectangle)。其中X和O表示的 是與四個(gè)輪子地面接觸的根子所形成的圖形;正方形與長(zhǎng)方形指的是四個(gè)輪 子與地面接觸點(diǎn)所圍成的形狀。 ? X-正方形:輪子轉(zhuǎn)動(dòng)產(chǎn)生的力矩會(huì)經(jīng)過(guò)同一個(gè)點(diǎn),所以yaw軸無(wú)法主動(dòng)旋轉(zhuǎn),也無(wú)法主動(dòng)保持yaw軸的角度。一般幾乎不會(huì)使用這種安裝方式。 ? X-長(zhǎng)方形:輪子轉(zhuǎn)動(dòng)可以產(chǎn)生yaw軸轉(zhuǎn)動(dòng)力矩,但轉(zhuǎn)動(dòng)力矩的

7、力臂一般會(huì)比較短。這種安裝方式也不多見(jiàn)。 ? 。-正方形:四個(gè)輪子位于正方形的四個(gè)頂點(diǎn),平移和旋轉(zhuǎn)都沒(méi)有任何問(wèn)題。受限于機(jī)器人底盤(pán)的形狀、尺寸等因素,這種安裝方式雖然理想,但可遇而不可求。 ?O-長(zhǎng)方形:輪子轉(zhuǎn)動(dòng)可以產(chǎn)生yaw軸轉(zhuǎn)動(dòng)力矩,而且轉(zhuǎn)動(dòng)力矩的力臂也比較長(zhǎng)。是最常見(jiàn)的安裝方式。 麥輪底盤(pán)的正逆運(yùn)動(dòng)學(xué)模型 以O(shè)-長(zhǎng)方形的安裝方式為例,四個(gè)輪子的著地點(diǎn)形成一個(gè)矩形。正運(yùn)動(dòng)學(xué)模 型(forwardkinematicmodel)將得到一系列公式,讓我們可以通過(guò)四個(gè)輪 子的速度,計(jì)算出底盤(pán)的運(yùn)動(dòng)狀態(tài);而逆運(yùn)動(dòng)學(xué)模型(inversekinematicmodel)得到的公式則是可以根據(jù)底

8、盤(pán)的運(yùn)動(dòng)狀態(tài)解算出四個(gè)輪子的速度。需要注意 的是,底盤(pán)的運(yùn)動(dòng)可以用三個(gè)獨(dú)立變量來(lái)描述:X軸平動(dòng)、Y軸平動(dòng)、yaw軸 自轉(zhuǎn);而四個(gè)麥輪的速度也是由四個(gè)獨(dú)立的電機(jī)提供的。所以四個(gè)麥輪的合理速度是存在某種約束關(guān)系的,逆運(yùn)動(dòng)學(xué)可以得到唯一解,而正運(yùn)動(dòng)學(xué)中不符合這個(gè)約束關(guān)系的方程將無(wú)解。 先試圖構(gòu)建逆運(yùn)動(dòng)學(xué)模型,由于麥輪底盤(pán)的數(shù)學(xué)模型比較復(fù)雜,我們?cè)诖朔? 四步進(jìn)行: ①將底盤(pán)的運(yùn)動(dòng)分解為三個(gè)獨(dú)立變量來(lái)描述; ②根據(jù)第一步的結(jié)果,計(jì)算出每個(gè)輪子軸心位置的速度; ③根據(jù)第二步的結(jié)果,計(jì)算出每個(gè)輪子與地面接觸的輯子的速度; ④根據(jù)第三部的結(jié)果,計(jì)算出輪子的真實(shí)轉(zhuǎn)速。 一、底盤(pán)運(yùn)動(dòng)的分解 我

9、們知道,剛體在平面內(nèi)的運(yùn)動(dòng)可以分解為三個(gè)獨(dú)立分量:X軸平動(dòng)、Y軸 平動(dòng)、yaw軸自轉(zhuǎn)。如下圖所示,底盤(pán)的運(yùn)動(dòng)也可以分解為三個(gè)量: ?表示X軸運(yùn)動(dòng)的速度,即左右方向,定義向右為正; ?表示Y軸運(yùn)動(dòng)的速度,即前后方向,定義向前為正; ?表示yaw軸自轉(zhuǎn)的角速度,定義逆時(shí)針為正。 以上三個(gè)量一般都視為四個(gè)輪子的幾何中心(矩形的對(duì)角線(xiàn)交點(diǎn))的速度。 二、計(jì)算出輪子軸心位置的速度 定義: ?為從幾何中心指向輪子軸心的矢量;?為輪子軸心的運(yùn)動(dòng)速度矢量; ?為輪子軸心沿垂直于??的方向(即切線(xiàn)方向)的速度分量; 那么可以計(jì)算出: v—+a)xr 分別計(jì)算X、Y軸的分量為: 同理可以

10、算出其他三個(gè)輪子軸心的速度。 三、計(jì)算根子的速度 根據(jù)輪子軸心的速度,可以分解出沿輯子方向的速度??和垂直于輯子方 向的速度??。其中?是可以無(wú)視的(思考題:為什么垂直方向的速度 可以無(wú)視?),而 其中??是沿輯子方向的單位矢量。 四、計(jì)算輪子的速度 從根子速度到輪子轉(zhuǎn)速的計(jì)算比較簡(jiǎn)單: 以上方程組就是O-長(zhǎng)方形麥輪底盤(pán)的逆運(yùn)動(dòng)學(xué)模型,而正運(yùn)動(dòng)學(xué)模型可以直接根據(jù)逆運(yùn)動(dòng)學(xué)模型中的三個(gè)方程解出來(lái),此處不再贅述。 另一種計(jì)算方式 「?jìng)鹘y(tǒng)」的推導(dǎo)過(guò)程雖然嚴(yán)謹(jǐn),但還是比較繁瑣的。這里介紹一種簡(jiǎn)單的逆 運(yùn)動(dòng)學(xué)計(jì)算方式。 我們知道,全向移動(dòng)底盤(pán)是一個(gè)純線(xiàn)性系統(tǒng),而剛體運(yùn)動(dòng)又可以線(xiàn)性分

11、解為 三個(gè)分量。那么只需要計(jì)算出麥輪底盤(pán)在「沿X軸平移」、「沿Y軸平移」、 「繞幾何中心自轉(zhuǎn)」時(shí),四個(gè)輪子的速度,就可以通過(guò)簡(jiǎn)單的加法,計(jì)算出 這三種簡(jiǎn)單運(yùn)動(dòng)所合成的「平動(dòng)+旋轉(zhuǎn)」運(yùn)動(dòng)時(shí)所需要的四個(gè)輪子的轉(zhuǎn)速。而 這三種簡(jiǎn)單運(yùn)動(dòng)時(shí),四個(gè)輪子的速度可以通過(guò)簡(jiǎn)單的測(cè)試,或是推動(dòng)底盤(pán)觀 察現(xiàn)象得出。 當(dāng)?shù)妆P(pán)沿著X軸平移時(shí): 當(dāng)?shù)妆P(pán)沿著Y軸平移時(shí): 當(dāng)?shù)妆P(pán)繞幾何中心自轉(zhuǎn)時(shí): 將以上三個(gè)方程組相加,得到的恰好是根據(jù)「?jìng)鹘y(tǒng)」方法計(jì)算出的結(jié)果。這 種計(jì)算方式不僅適用于O-長(zhǎng)方形的麥輪底盤(pán),也適用于任何一種全向移動(dòng)的 機(jī)器人底盤(pán)。 Makeblock麥輪底盤(pán)的組裝 理論分析完成,可以

12、開(kāi)始嘗試將其付諸實(shí)踐了。 第一步,組裝矩形框架。 第二步,組裝電機(jī)模塊。 由于麥輪底盤(pán)的四個(gè)輪子速度有約束關(guān)系,必須精確地控制每個(gè)輪子的速度, 否則將會(huì)導(dǎo)致輯子與地面發(fā)生滑動(dòng)摩擦,不僅會(huì)讓底盤(pán)運(yùn)動(dòng)異常,還會(huì)讓麥 輪的壽命減少。所以必須使用編碼電機(jī)。 第三步,將電機(jī)模塊安裝到框架上。 第四步,將麥輪安裝到框架上。 第五步,安裝電路板并接線(xiàn)。 編碼電機(jī)必須配上相應(yīng)的驅(qū)動(dòng)板才能正常工作。這里使用的Makeblock編碼電機(jī)驅(qū)動(dòng)板,每一塊板可以驅(qū)動(dòng)兩個(gè)電機(jī)。接線(xiàn)順序在下文中會(huì)提及,也 可以隨意接上,在代碼中定義好對(duì)應(yīng)的順序即可。 第六步,裝上電池至此,一個(gè)能獨(dú)立運(yùn)

13、行的麥輪底盤(pán)就完成了。 控制程序 根據(jù)麥輪的底盤(pán)的運(yùn)動(dòng)學(xué)模型,要完全控制它的運(yùn)動(dòng),需要有三個(gè)控制量:X軸速度、Y軸速度、自轉(zhuǎn)角速度。要產(chǎn)生這三個(gè)控制量,有很多種方法,本文將使用一個(gè)USB游戲手柄,左邊的搖桿產(chǎn)生平移速度,右邊的搖桿產(chǎn)生角速度。 首先將一個(gè)?USBHost模塊連接到?Orion主板的3口。 然后插上一個(gè)無(wú)線(xiàn)USB游戲手柄。 后再添加其他細(xì)節(jié),就大功告成啦! ⑦畫(huà)上幽 Q)畫(huà)兩個(gè) ④畫(huà)上毛發(fā) ? 再添加其他鈾節(jié)就大功告成了I ①畫(huà)上臉 其他細(xì)節(jié):

14、 #include#include#include"MeOrion.h" MeUSBHostjoypad(PORT_3); // 手柄代碼(紅燈亮模式) // // 默認(rèn):128-127-128-127-15-0-0-128左一:128-127-128-127-15-1-0-128 //右一:128-127-128-127-15-2-0-128 //左二:128-127-128-127-15-4-0-128 //右二:1

15、28-127-128-127-15-8-0-128 //三角:128-127-128-127-31-0-0-128(00011111) //方形:128-127-128-127-143-0-0-128(10001111) //叉號(hào):128-127-128-127-79-0-0-128(01001111) //圓圈:128-127-128-127-47-0-0-128(00101111) //向上:128-127-128-127-0-0-0-128(00000000) //向下:128-127-128-127-4-0-0-128(00000100) //向左:128-127-128

16、-127-6-0-0-128(00000110) //向右:128-127-128-127-2-0-0-128(00000010) //左上:128-127-128-127-7-0-0-128(00000111) //左下:128-127-128-127-5-0-0-128(00000101) //右上:128-127-128-127-1-0-0-128(00000001) //右下:128-127-128-127-3-0-0-128(00000011) //選擇:128-127-128-127-15-16-0-128 //開(kāi)始:128-127-128-127-15-32-0-1

17、28 //搖桿:右X-右Y-左X-左Y-15-0-0-128 MeEncoderMotor MeEncoderMotor MeEncoderMotor MeEncoderMotor motor1(0x02,SLOT2); motor2(0x02,SLOT1); motor3(0x0A,SLOT2); motor4(0x0A,SLOT1); //底盤(pán):a=130mm,b=120mmfloatlinearSpeed=100; floatmaxLinearSpeed=200; floatmaxAngularSpeed=200; floatminLinearSpeed=30

18、; floatminAngularSpeed=30; voidsetup() { //要上電才能工作,不能只是插上USB線(xiàn)來(lái)調(diào)試。 motor1.begin(); motor2.begin(); motor3.begin(); motor4.begin(); Serial.begin(57600); joypad.init(USB1_0); } voidloop() { Serial.println("loop:"); 〃setEachMotorSpeed(100,50,50,100); if(!joypad.device_online) { //若一直輸出

19、離線(xiàn)狀態(tài),重新拔插USBHost的RJ25線(xiàn)試一下 Serial.println("Deviceoffline."); joypad.probeDevice(); delay( 1000); else { intlen=joypad.host_recv(); parseJoystick(joypad.RECV_BUFFER); delay(5); } //delay(500); } voidsetEachMotorSpeed(floatspeedl,floatspeed2,floatspeed3,floatspeed4) { motor1.runSpeed(s

20、peed1); motor2.runSpeed(-speed2); motor3.runSpeed(-speed3); motor4.runSpeed(-speed4); } voidparseJoystick(unsignedchar*buf)//Analyticfunction,print8bytesfromUSBHost { //輸出手柄的數(shù)據(jù),調(diào)試用 //inti=0; //for(i=0;i<7;i++) //{ //Serial.print(buf[i]);//Itwon'tworkifyouconnecttothe MakeblockOrion. //S

21、erial.print('-'); //} //Serial.println(buf[7]); //delay(10); //速度增減 switch(buf[5]) { case 1: linearSpeed+= if(linearSpeed { linearSpeed } break; case 2: angularSpeed+= if(angularSpeed { angularSpeed }break; case4: linearSpeed-= if(linearSpeed { linearSpeed 5; >maxLinearSp

22、eed) =maxLinearSpeed; 5; >maxAngularSpeed) =maxAngularSpeed; 5;

23、 angularSpeed=minAngularSpeed; } break; default: break; } if((128!=buf[0])||(127!=buf[1])buf[3])) || (128!=buf[2])||(127 != { //處理?yè)u桿 floatx=((float)(buf[2]) 127)/128; floaty=(127-(float)(buf[3])) /128; floata=(127-(float)(buf[0])) /128; mecanumRun(x *linearSpeed,y*linearSpeed,

24、a*angularSpeed); } else switch(buf[4]) case0: mecanumRun(0,linearSpeed,0); break; case4: mecanumRun(0,-linearSpeed,0); break; case6: -linearSpeed, mecanumRun(break; case2: mecanumRun(linearSpeed,break; case7: mecanumRun(-linearS

25、peedbreak; case5: mecanumRun(-linearSpeedbreak; case1: mecanumRun(linearSpeedbreak; case3: mecanumRun(linearSpeedbreak; 0,0); 0,0); /2,linearSpeed/2,0); /2,-linearSpeed/2,0) /2,linearSpeed/2,0); /2,-linearSpeed/2,0) default:

26、 mecanumRun( 0,0,0); } break; } } } aSpeed) -xSpeed + aSpeed; + xSpeed - aSpeed; -xSpeed - aSpeed; + xSpeed + aSpeed; voidmecanumRu、floatxSpeed,floatySpeed,float floatspeed1=ySpeed floatspeed2=ySpeedfloatspeed3=ySpee

27、dfloatspeed4=ySpeedfloatmax=speed1; < speed2) max < speed3) max < speed4) max < maxLinearSpeed) if(maxif(maxif(max if(max { speed1=speed1 speed2=speed2 speed3=speed3 speed4=speed4 =speed2; =speed3; =speed4; /max*maxLinearSpeed /max*maxLinearSpeed /max*maxLinearSpeed /max*maxLinearSpeed setEachMotorSpeed(speed1,speed2,speed3,speed4);

展開(kāi)閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔

相關(guān)搜索

關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話(huà):18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶(hù)上傳的文檔直接被用戶(hù)下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!