標(biāo)題: 麥克納姆輪全向輪戰(zhàn)車程序精髓分享 [打印本頁]

作者: 太空將軍    時間: 2018-5-20 03:38
標(biāo)題: 麥克納姆輪全向輪戰(zhàn)車程序精髓分享
本帖最后由 太空將軍 于 2018-5-20 03:53 編輯

麥克納納姆輪是一種全向輪,底盤可以向前向后,也可以像螃蟹左右橫向移動,原地轉(zhuǎn)動,任何方向的飄逸都行,所以挺好玩的,所以將最簡單最精髓的部分分享出來,一定要切記!切記!切記!參考資料論文中我畫圈的逆運動學(xué)公式,自己利用數(shù)學(xué)算一下,不難的。(論文中其它部分完全可以忽略,因為我們搞應(yīng)用的,就是把別人的研究成果拿來用就好了)你是學(xué)霸非要全部看懂,我不攔你滴!只需要提供X_Y_W_speed的值,就能逆運算出W1、W2、W3、W4四個輪子的轉(zhuǎn)速。!超級簡單

制作出來的智能車實物圖:





部分單片機源程序如下:
  1. //地點:武夷學(xué)院機器人實驗室
  2. //作者:0721的
  3. //描述:RM戰(zhàn)車2號程序
  4. //交流QQ:825470791
  5. //輪子的安裝請參考圖片!。!
  6. int32_t L=250,W=200,R=75;                 //車尺寸,單位mm
  7. int32_t X_speed=0;
  8. int32_t Y_speed=0;
  9. int32_t W_speed=0;
  10. int32_t right_or_left=0;
  11. int32_t forward_or_back=0;
  12. int32_t W_right_or_left=0;
  13. char motor1_Direction;            //0或者1       四個輪子方向
  14. char motor2_Direction;            //0或者1
  15. char motor3_Direction;            //0或者1
  16. char motor4_Direction;            //0或者1
  17. int32_t W1=0,W2=0,W3=0,W4=0;                   //四個電機的轉(zhuǎn)速
  18. int pwm_data1=0,pwm_data2=0;               //電機1、2輸出
  19. int pwm_data3=0,pwm_data4=0;               //電機3、4輸出

  20.                 W1=((forward_or_back)*X_speed*2-(right_or_left)*Y_speed*2-W*W_right_or_left*W_speed-L*W_speed)/R;        //矩陣運算得出W1,W2,W3,W4   
  21.                 W2=((forward_or_back)*X_speed*2+(right_or_left)*Y_speed*2-W*W_right_or_left*W_speed-L*W_speed)/R;        
  22.                 W3=((forward_or_back)*X_speed*2-(right_or_left)*Y_speed*2+W*W_right_or_left*W_speed+L*W_speed)/R;         //此處強烈建議參考文件夾中的論文中的
  23.                 W4=((forward_or_back)*X_speed*2+(right_or_left)*Y_speed*2+W*W_right_or_left*W_speed+L*W_speed)/R;          //我打紅圈的逆運動學(xué)公式,可能加減符號有問題!
  24.                                  
  25.                 if(W1>0)motor1_Direction=0;else motor1_Direction=1;//0為正轉(zhuǎn),1為反轉(zhuǎn)
  26.                 if(W2>0)motor2_Direction=0;else motor2_Direction=1;
  27.                 if(W3>0)motor3_Direction=0;else motor3_Direction=1;
  28.                 if(W4>0)motor4_Direction=0;else motor4_Direction=1;         
  29.                                       
  30.                 pwm_data1=2*abs(W1);  //pwm為算出的占空比值
  31.                 pwm_data2=2*abs(W2);
  32.                 pwm_data3=2*abs(W3);
  33.                 pwm_data4=2*abs(W4);
  34.                 if(pwm_data1<0)pwm_data1=0;if(pwm_data1>75)pwm_data1=75;  //限值,萬一算出來的值超過了你最大PWM允許的值需要限值的
  35.                 if(pwm_data2<0)pwm_data2=0;if(pwm_data2>75)pwm_data2=75;  //我的是75,你的根據(jù)你的PWM思路自己掌握
  36.                 if(pwm_data3<0)pwm_data3=0;if(pwm_data3>75)pwm_data3=75;
  37.                 if(pwm_data4<0)pwm_data4=0;if(pwm_data4>75)pwm_data4=75;
  38.                 //電機的正反轉(zhuǎn)接線能否正確,靠你自己啦!!加油!!
復(fù)制代碼

所有資料51hei提供下載:
麥克納姆輪最簡單控制資料.zip (2.26 MB, 下載次數(shù): 567)




作者: 開心的澤哥    時間: 2018-5-27 17:18
大佬有沒有arduino教程的?
作者: 太空將軍    時間: 2018-6-6 03:46
開心的澤哥 發(fā)表于 2018-5-27 17:18
大佬有沒有arduino教程的?

有,加我就行
作者: kcsj666    時間: 2018-6-19 10:22
太空將軍 發(fā)表于 2018-6-6 03:46
有,加我就行

大佬能不能列一下器材清單?新手上路不知道都需要什么模塊
作者: 開心的澤哥    時間: 2018-7-3 11:37
太空將軍 發(fā)表于 2018-6-6 03:46
有,加我就行

能不能給我一下您的聯(lián)系方式>

作者: zs13688    時間: 2018-11-24 11:25
謝謝。。。。。。。。
作者: shenqi2188    時間: 2018-12-11 09:19
大佬大佬
作者: wwh15697    時間: 2019-1-20 10:31
厲害啊,大佬。
作者: MoMoNiz    時間: 2019-3-6 00:31
前來學(xué)習(xí)!
作者: 1145284121    時間: 2019-3-11 13:35
Robomaster原車?yán)鰜砜蛇行
作者: a2569808500    時間: 2019-3-23 17:23
麥輪的當(dāng)前速度和方向偏移的關(guān)系應(yīng)該怎么控制,速度大了得撞上,速度小了又跑偏了
作者: 傻傻呆呆    時間: 2019-4-29 14:51
能提供一下聯(lián)系方式嗎
作者: 飄散微塵    時間: 2019-5-8 22:02
謝謝分享
作者: a214562573    時間: 2019-5-28 17:42
大佬問下這個代碼直接放在keil4上就可以了嗎 是51的代碼嗎?
作者: zhlip    時間: 2019-6-19 11:43
一個輪子就要幾十塊錢
作者: FTC小白    時間: 2019-9-13 15:35
開心的澤哥 發(fā)表于 2018-5-27 17:18
大佬有沒有arduino教程的?

我看到你是18年發(fā)起提問,這會也成大神了,我就是你18年時候的樣子,能給我點兒建議嗎,學(xué)習(xí)路線以及學(xué)習(xí)教程。
作者: pctao    時間: 2019-10-19 10:57
很好的學(xué)習(xí)資料!正想了解這方面的知識!
作者: wyq145202    時間: 2019-11-9 19:41
大佬有咩有STM32f1教程的,同時含有PID控制算法。
作者: 好音樂慢生活    時間: 2019-12-9 15:36
很給力!!!!!!
作者: kjd面包    時間: 2020-1-2 08:08
謝謝分享
作者: 1255206999    時間: 2020-1-10 19:38

大佬有沒有arduino教程的?
作者: 1255206999    時間: 2020-1-10 19:48

大佬有沒有arduino教程的?
作者: 莊玉鑫    時間: 2020-4-12 11:22
求arduino控制程序!跪謝大佬
作者: zlljackx    時間: 2020-6-4 13:14
謝謝謝謝
作者: iieiieiie    時間: 2020-8-7 23:41
a214562573 發(fā)表于 2019-5-28 17:42
大佬問下這個代碼直接放在keil4上就可以了嗎 是51的代碼嗎?

大佬 您有這個51的代碼嗎
小弟實在是不會
若看到還望您能回我一下

作者: sad520ljh    時間: 2020-12-15 10:43
這戰(zhàn)車,是什么比賽的嗎?
作者: chjchj816    時間: 2021-1-7 08:40




麥克納納姆輪 高大上的樣子




歡迎光臨 (http://www.torrancerestoration.com/bbs/) Powered by Discuz! X3.1