




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、麥克納姆輪淺談什么是麥克納姆輪在競賽機(jī)器人和特殊工種機(jī)器人中,全向移動(dòng)經(jīng)常是一個(gè)必需的功能。全向移動(dòng)意味著可以在平面內(nèi)做出任意方向平移同時(shí)自轉(zhuǎn)的動(dòng)作。為了實(shí)現(xiàn)全向移動(dòng),一般機(jī)器人會(huì)使用全向輪(Omni Wheel)或麥克納姆輪(Mecanum Wheel)這兩種特殊輪子。 全向輪: 麥克納姆輪全向輪與麥克納姆輪的共同點(diǎn)在于他們都由兩大部分組成:輪轂和輥?zhàn)樱╮oller)。輪轂是整個(gè)輪子的主體支架,輥?zhàn)觿t是安裝在輪轂上的鼓狀物。全向輪的輪轂軸與輥?zhàn)愚D(zhuǎn)軸相互垂直,而麥克納姆輪的輪轂軸與輥?zhàn)愚D(zhuǎn)軸呈 45 角。理論上,這個(gè)夾角可以是任意值,根據(jù)不同的夾角可以制作出不同的輪子,但最常用的還是這兩種。全向
2、輪與麥克納姆輪(以下簡稱麥輪)在結(jié)構(gòu)、力學(xué)特性、運(yùn)動(dòng)學(xué)特性上都有差異,其本質(zhì)原因是輪轂軸與輥?zhàn)愚D(zhuǎn)軸的角度不同。經(jīng)過分析,二者的運(yùn)動(dòng)學(xué)和力學(xué)特性區(qū)別可以通過以下表格來體現(xiàn)。計(jì)算過程如下,供參考,學(xué)霸可點(diǎn)開大圖驗(yàn)算:近年來,麥輪的應(yīng)用逐漸增多,特別是在 Robocon、FRC 等機(jī)器人賽事上。這是因?yàn)辂溈思{姆輪可以像傳統(tǒng)輪子一樣,安裝在相互平行的軸上。而若想使用全向輪完成類似的功能,幾個(gè)輪轂軸之間的角度就必須是 60,90 或 120 等角度,這樣的角度生產(chǎn)和制造起來比較麻煩。所以許多工業(yè)全向移動(dòng)平臺(tái)都是使用麥克納姆輪而不是全向輪,比如這個(gè)國產(chǎn)的叉車:全向移動(dòng)平臺(tái) 麥克納姆輪叉車 美科斯叉車另外一
3、個(gè)原因,可能是麥輪的造型比全向輪要酷炫得多,看起來有一種不明覺厲的感覺的確,第一次看到麥輪運(yùn)轉(zhuǎn)起來,不少人都會(huì)驚嘆。以下視頻直觀地說明了麥輪底盤在平移和旋轉(zhuǎn)時(shí)的輪子旋轉(zhuǎn)方向。麥輪的安裝方法麥輪一般是四個(gè)一組使用,兩個(gè)左旋輪,兩個(gè)右旋輪。左旋輪和右旋輪呈手性對(duì)稱,區(qū)別如下圖。安裝方式有多種,主要分為:X-正方形(X-square)、X-長方形(X-rectangle)、O-正方形(O-square)、O-長方形(O-rectangle)。其中 X 和 O 表示的是與四個(gè)輪子地面接觸的輥?zhàn)铀纬傻膱D形;正方形與長方形指的是四個(gè)輪子與地面接觸點(diǎn)所圍成的形狀。 X-正方形:輪子轉(zhuǎn)動(dòng)產(chǎn)生的力矩會(huì)經(jīng)過同一
4、個(gè)點(diǎn),所以 yaw 軸無法主動(dòng)旋轉(zhuǎn),也無法主動(dòng)保持 yaw 軸的角度。一般幾乎不會(huì)使用這種安裝方式。 X-長方形:輪子轉(zhuǎn)動(dòng)可以產(chǎn)生 yaw 軸轉(zhuǎn)動(dòng)力矩,但轉(zhuǎn)動(dòng)力矩的力臂一般會(huì)比較短。這種安裝方式也不多見。 O-正方形:四個(gè)輪子位于正方形的四個(gè)頂點(diǎn),平移和旋轉(zhuǎn)都沒有任何問題。受限于機(jī)器人底盤的形狀、尺寸等因素,這種安裝方式雖然理想,但可遇而不可求。 O-長方形:輪子轉(zhuǎn)動(dòng)可以產(chǎn)生 yaw 軸轉(zhuǎn)動(dòng)力矩,而且轉(zhuǎn)動(dòng)力矩的力臂也比較長。是最常見的安裝方式。麥輪底盤的正逆運(yùn)動(dòng)學(xué)模型以O(shè)-長方形的安裝方式為例,四個(gè)輪子的著地點(diǎn)形成一個(gè)矩形。正運(yùn)動(dòng)學(xué)模型(forward kinematic model)將得到一
5、系列公式,讓我們可以通過四個(gè)輪子的速度,計(jì)算出底盤的運(yùn)動(dòng)狀態(tài);而逆運(yùn)動(dòng)學(xué)模型(inverse kinematic model)得到的公式則是可以根據(jù)底盤的運(yùn)動(dòng)狀態(tài)解算出四個(gè)輪子的速度。需要注意的是,底盤的運(yùn)動(dòng)可以用三個(gè)獨(dú)立變量來描述: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)系的方程將無解。先試圖構(gòu)建逆運(yùn)動(dòng)學(xué)模型,由于麥輪底盤的數(shù)學(xué)模型比較復(fù)雜,我們在此分四步進(jìn)行:將底盤的運(yùn)動(dòng)分解為三個(gè)獨(dú)立變量來描述;根據(jù)第一步的結(jié)果,計(jì)算出每個(gè)輪子軸心位置的速度;根據(jù)第二步的
6、結(jié)果,計(jì)算出每個(gè)輪子與地面接觸的輥?zhàn)拥乃俣?;根?jù)第三部的結(jié)果,計(jì)算出輪子的真實(shí)轉(zhuǎn)速。一、底盤運(yùn)動(dòng)的分解我們知道,剛體在平面內(nèi)的運(yùn)動(dòng)可以分解為三個(gè)獨(dú)立分量:X軸平動(dòng)、Y軸平動(dòng)、yaw 軸自轉(zhuǎn)。如下圖所示,底盤的運(yùn)動(dòng)也可以分解為三個(gè)量:表示 X 軸運(yùn)動(dòng)的速度,即左右方向,定義向右為正;表示 Y 軸運(yùn)動(dòng)的速度,即前后方向,定義向前為正;表示 yaw 軸自轉(zhuǎn)的角速度,定義逆時(shí)針為正。以上三個(gè)量一般都視為四個(gè)輪子的幾何中心(矩形的對(duì)角線交點(diǎn))的速度。二、計(jì)算出輪子軸心位置的速度定義:為從幾何中心指向輪子軸心的矢量;為輪子軸心的運(yùn)動(dòng)速度矢量;為輪子軸心沿垂直于的方向(即切線方向)的速度分量;那么可以計(jì)算出
7、:分別計(jì)算 X、Y 軸的分量為:同理可以算出其他三個(gè)輪子軸心的速度。三、計(jì)算輥?zhàn)拥乃俣雀鶕?jù)輪子軸心的速度,可以分解出沿輥?zhàn)臃较虻乃俣群痛怪庇谳佔(zhàn)臃较虻乃俣取F渲惺强梢詿o視的(思考題:為什么垂直方向的速度可以無視?),而其中是沿輥?zhàn)臃较虻膯挝皇噶俊K?、?jì)算輪子的速度從輥?zhàn)铀俣鹊捷喿愚D(zhuǎn)速的計(jì)算比較簡單:以上方程組就是O-長方形麥輪底盤的逆運(yùn)動(dòng)學(xué)模型,而正運(yùn)動(dòng)學(xué)模型可以直接根據(jù)逆運(yùn)動(dòng)學(xué)模型中的三個(gè)方程解出來,此處不再贅述。另一種計(jì)算方式傳統(tǒng)的推導(dǎo)過程雖然嚴(yán)謹(jǐn),但還是比較繁瑣的。這里介紹一種簡單的逆運(yùn)動(dòng)學(xué)計(jì)算方式。我們知道,全向移動(dòng)底盤是一個(gè)純線性系統(tǒng),而剛體運(yùn)動(dòng)又可以線性分解為三個(gè)分量。那么只需要計(jì)
8、算出麥輪底盤在沿X軸平移、沿Y軸平移、繞幾何中心自轉(zhuǎn)時(shí),四個(gè)輪子的速度,就可以通過簡單的加法,計(jì)算出這三種簡單運(yùn)動(dòng)所合成的平動(dòng)+旋轉(zhuǎn)運(yùn)動(dòng)時(shí)所需要的四個(gè)輪子的轉(zhuǎn)速。而這三種簡單運(yùn)動(dòng)時(shí),四個(gè)輪子的速度可以通過簡單的測試,或是推動(dòng)底盤觀察現(xiàn)象得出。當(dāng)?shù)妆P沿著 X 軸平移時(shí):當(dāng)?shù)妆P沿著 Y 軸平移時(shí):當(dāng)?shù)妆P繞幾何中心自轉(zhuǎn)時(shí):將以上三個(gè)方程組相加,得到的恰好是根據(jù)傳統(tǒng)方法計(jì)算出的結(jié)果。這種計(jì)算方式不僅適用于O-長方形的麥輪底盤,也適用于任何一種全向移動(dòng)的機(jī)器人底盤。Makeblock 麥輪底盤的組裝理論分析完成,可以開始嘗試將其付諸實(shí)踐了。第一步,組裝矩形框架。第二步,組裝電機(jī)模塊。由于麥輪底盤的四個(gè)輪
9、子速度有約束關(guān)系,必須精確地控制每個(gè)輪子的速度,否則將會(huì)導(dǎo)致輥?zhàn)优c地面發(fā)生滑動(dòng)摩擦,不僅會(huì)讓底盤運(yùn)動(dòng)異常,還會(huì)讓麥輪的壽命減少。所以必須使用編碼電機(jī)。第三步,將電機(jī)模塊安裝到框架上。第四步,將麥輪安裝到框架上。第五步,安裝電路板并接線。編碼電機(jī)必須配上相應(yīng)的驅(qū)動(dòng)板才能正常工作。這里使用的 Makeblock 編碼電機(jī)驅(qū)動(dòng)板,每一塊板可以驅(qū)動(dòng)兩個(gè)電機(jī)。接線順序在下文中會(huì)提及,也可以隨意接上,在代碼中定義好對(duì)應(yīng)的順序即可。第六步,裝上電池。至此,一個(gè)能獨(dú)立運(yùn)行的麥輪底盤就完成了??刂瞥绦蚋鶕?jù)麥輪的底盤的運(yùn)動(dòng)學(xué)模型,要完全控制它的運(yùn)動(dòng),需要有三個(gè)控制量:X軸速度、Y軸速度、自轉(zhuǎn)角速度。要產(chǎn)生這三個(gè)控
10、制量,有很多種方法,本文將使用一個(gè) USB 游戲手柄,左邊的搖桿產(chǎn)生平移速度,右邊的搖桿產(chǎn)生角速度。首先將一個(gè)USB Host 模塊連接到Orion 主板的 3 口。然后插上一個(gè)無線 USB 游戲手柄。然后再添加其他細(xì)節(jié),就大功告成啦!其他細(xì)節(jié):#include #include #include MeOrion.hMeUSBHost joypad(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-12
11、8-127-15-4-0-128/右二:128-127-128-127-15-8-0-128/三角:128-127-128-127-31-0-0-128 (0001 1111)/方形:128-127-128-127-143-0-0-128 (1000 1111)/叉號(hào):128-127-128-127-79-0-0-128 (0100 1111)/圓圈:128-127-128-127-47-0-0-128 (0010 1111)/向上:128-127-128-127-0-0-0-128 (0000 0000)/向下:128-127-128-127-4-0-0-128 (0000 0100)/向左
12、:128-127-128-127-6-0-0-128 (0000 0110)/向右:128-127-128-127-2-0-0-128 (0000 0010)/左上:128-127-128-127-7-0-0-128 (0000 0111)/左下:128-127-128-127-5-0-0-128 (0000 0101)/右上:128-127-128-127-1-0-0-128 (0000 0001)/右下:128-127-128-127-3-0-0-128 (0000 0011)/選擇:128-127-128-127-15-16-0-128/開始:128-127-128-127-15-32-
13、0-128/搖桿:右X-右Y-左X-左Y-15-0-0-128MeEncoderMotor motor1(0x02, SLOT2);MeEncoderMotor motor2(0x02, SLOT1);MeEncoderMotor motor3(0x0A, SLOT2);MeEncoderMotor motor4(0x0A, SLOT1);/ 底盤:a = 130mm, b = 120mmfloat linearSpeed = 100;float angularSpeed = 100;float maxLinearSpeed = 200;float maxAngularSpeed = 200;
14、float minLinearSpeed = 30;float minAngularSpeed = 30;void setup() / 要上電才能工作,不能只是插上 USB 線來調(diào)試。motor1.begin();motor2.begin();motor3.begin();motor4.begin();Serial.begin(57600);joypad.init(USB1_0);void loop() Serial.println(loop:);/setEachMotorSpeed(100, 50, 50, 100);if(!joypad.device_online) / 若一直輸出離線狀態(tài)
15、,重新拔插 USB Host 的 RJ25 線試一下。 Serial.println(Device offline.); beDevice(); delay(1000); else int len = joypad.host_recv(); parseJoystick(joypad.RECV_BUFFER); delay(5); /delay(500);void setEachMotorSpeed(float speed1, float speed2, float speed3, float speed4)motor1.runSpeed(speed1);motor2.run
16、Speed(-speed2);motor3.runSpeed(-speed3);motor4.runSpeed(-speed4);void parseJoystick(unsigned char *buf) /Analytic function, print 8 bytes from USB Host / 輸出手柄的數(shù)據(jù),調(diào)試用 / int i = 0; / for(i = 0; i maxLinearSpeed) linearSpeed = maxLinearSpeed; break; case 2: angularSpeed += 5; if (angularSpeed maxAngula
17、rSpeed) angularSpeed = maxAngularSpeed; break; case 4: linearSpeed -= 5; if (linearSpeed minLinearSpeed) linearSpeed = minLinearSpeed; break; case 8: angularSpeed -= 5; if (angularSpeed minAngularSpeed) angularSpeed = minAngularSpeed; break; default: break; if (128 != buf0) | (127 != buf1) | (128 !=
18、 buf2) | (127 != buf3) / 處理搖桿 float x = (float)(buf2) - 127) / 128; float y = (127 - (float)(buf3) / 128; float a = (127 - (float)(buf0) / 128; mecanumRun(x * linearSpeed, y * linearSpeed, a * angularSpeed); else switch (buf4) case 0: mecanumRun(0, linearSpeed, 0); break; case 4: mecanumRun(0, -linearSpeed, 0); break; case 6: mecanumRun(-linearSpeed, 0, 0); break; case 2: mecanumRun(linearSpeed, 0, 0); break; case 7: mecanumRun(-linearSpeed/2, linearSpeed/2, 0); break; case 5: mecanumRun(-linearSpeed/2, -linearSpeed/2, 0); break; case 1: mecanumRun(linearSpeed/2, linearSpeed/2, 0); break; c
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 城管洪災(zāi)搶險(xiǎn)方案(3篇)
- 內(nèi)部審計(jì)面試題及答案
- 現(xiàn)代車輛收售方案
- 甲狀腺手術(shù)并發(fā)癥
- 場監(jiān)督管理局建設(shè)項(xiàng)目施工許可合同示范文本
- 期權(quán)產(chǎn)品面試題及答案
- 綏化中考試題及答案
- 北方小區(qū)綠化改造方案
- 銷售內(nèi)勤考試題及答案
- 票務(wù)崗位面試題及答案
- 急性胃腸炎的護(hù)理查房
- 第一章-護(hù)理學(xué)基礎(chǔ)緒論
- 煙花爆竹經(jīng)營單位安全管理人員培訓(xùn)教材課件
- J波與J波綜合征課件
- 微整面部美學(xué)設(shè)計(jì)面部風(fēng)水設(shè)計(jì)課件
- 5噸龍門吊安裝與拆除專項(xiàng)施工方案
- 康復(fù)科護(hù)理質(zhì)量監(jiān)測指標(biāo)
- 農(nóng)藥基本常識(shí)課件
- 六年級(jí)數(shù)學(xué)分?jǐn)?shù)除法、解方程計(jì)算題 (含答案)
- 高速鐵路竣工驗(yàn)收辦法
- 擬投入公路工程施工設(shè)備檢測儀器設(shè)備表
評(píng)論
0/150
提交評(píng)論