找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 27677|回复: 26
打印 上一主题 下一主题
收起左侧

麦克纳姆轮全向轮战车程序精髓分享

  [复制链接]
跳转到指定楼层
楼主
本帖最后由 太空将军 于 2018-5-20 03:53 编辑

麦克纳纳姆轮是一种全向轮,底盘可以向前向后,也可以像螃蟹左右横向移动,原地转动,任何方向的飘逸都行,所以挺好玩的,所以将最简单最精髓的部分分享出来,一定要切记!切记!切记!参考资料论文中我画圈的逆运动学公式,自己利用数学算一下,不难的。(论文中其它部分完全可以忽略,因为我们搞应用的,就是把别人的研究成果拿来用就好了)你是学霸非要全部看懂,我不拦你滴!只需要提供X_Y_W_speed的值,就能逆运算出W1、W2、W3、W4四个轮子的转速!!!超级简单

制作出来的智能车实物图:





部分单片机源程序如下:
  1. //地点:武夷学院机器人实验室
  2. //作者:0721的
  3. //描述:RM战车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;                   //四个电机的转速
  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;          //我打红圈的逆运动学公式,可能加减符号有问题!
  24.                                  
  25.                 if(W1>0)motor1_Direction=0;else motor1_Direction=1;//0为正转,1为反转
  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,你的根据你的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.                 //电机的正反转接线能否正确,靠你自己啦!!加油!!
复制代码

所有资料51hei提供下载:
麦克纳姆轮最简单控制资料.zip (2.26 MB, 下载次数: 565)



评分

参与人数 4黑币 +141 收起 理由
sad520ljh + 30 共享资料的黑币奖励!
冰星海 + 6 很给力!
liuwei0378 + 5 很给力!
admin + 100 共享资料的黑币奖励!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏22 分享淘帖 顶3 踩
回复

使用道具 举报

沙发
ID:339202 发表于 2018-5-27 17:18 | 只看该作者
大佬有没有arduino教程的?
回复

使用道具 举报

板凳
ID:57512 发表于 2018-6-6 03:46 | 只看该作者
开心的泽哥 发表于 2018-5-27 17:18
大佬有没有arduino教程的?

有,加我就行
回复

使用道具 举报

地板
ID:353718 发表于 2018-6-19 10:22 来自手机 | 只看该作者
太空将军 发表于 2018-6-6 03:46
有,加我就行

大佬能不能列一下器材清单啊?新手上路不知道都需要什么模块
回复

使用道具 举报

5#
ID:339202 发表于 2018-7-3 11:37 | 只看该作者

能不能给我一下您的联系方式>
回复

使用道具 举报

6#
ID:410940 发表于 2018-11-24 11:25 来自手机 | 只看该作者
谢谢!!!!!!!!!
回复

使用道具 举报

7#
ID:443813 发表于 2018-12-11 09:19 | 只看该作者
大佬大佬
回复

使用道具 举报

8#
ID:470505 发表于 2019-1-20 10:31 | 只看该作者
厉害啊,大佬。
回复

使用道具 举报

9#
ID:430107 发表于 2019-3-6 00:31 | 只看该作者
前来学习!
回复

使用道具 举报

10#
ID:336991 发表于 2019-3-11 13:35 | 只看该作者
Robomaster原车拉出来可还行
回复

使用道具 举报

11#
ID:247778 发表于 2019-3-23 17:23 | 只看该作者
麦轮的当前速度和方向偏移的关系应该怎么控制,速度大了得撞上,速度小了又跑偏了
回复

使用道具 举报

12#
ID:524451 发表于 2019-4-29 14:51 | 只看该作者
能提供一下联系方式吗
回复

使用道具 举报

13#
ID:512152 发表于 2019-5-8 22:02 | 只看该作者
谢谢分享
回复

使用道具 举报

14#
ID:526810 发表于 2019-5-28 17:42 | 只看该作者
大佬问下这个代码直接放在keil4上就可以了吗 是51的代码吗?
回复

使用道具 举报

15#
ID:318672 发表于 2019-6-19 11:43 来自手机 | 只看该作者
一个轮子就要几十块钱
回复

使用道具 举报

16#
ID:611204 发表于 2019-9-13 15:35 | 只看该作者
开心的泽哥 发表于 2018-5-27 17:18
大佬有没有arduino教程的?

我看到你是18年发起提问,这会也成大神了,我就是你18年时候的样子,能给我点儿建议吗,学习路线以及学习教程。
回复

使用道具 举报

17#
ID:626518 发表于 2019-10-19 10:57 | 只看该作者
很好的学习资料!正想了解这方面的知识!
回复

使用道具 举报

18#
ID:334089 发表于 2019-11-9 19:41 | 只看该作者
大佬有咩有STM32f1教程的,同时含有PID控制算法。
回复

使用道具 举报

19#
ID:659698 发表于 2019-12-9 15:36 | 只看该作者
很给力!!!!!!
回复

使用道具 举报

20#
ID:349489 发表于 2020-1-2 08:08 | 只看该作者
谢谢分享
回复

使用道具 举报

21#
ID:684786 发表于 2020-1-10 19:38 | 只看该作者

大佬有没有arduino教程的?
回复

使用道具 举报

22#
ID:684786 发表于 2020-1-10 19:48 | 只看该作者

大佬有没有arduino教程的?
回复

使用道具 举报

23#
ID:715295 发表于 2020-4-12 11:22 | 只看该作者
求arduino控制程序!跪谢大佬
回复

使用道具 举报

24#
ID:235329 发表于 2020-6-4 13:14 | 只看该作者
谢谢谢谢
回复

使用道具 举报

25#
ID:702042 发表于 2020-8-7 23:41 | 只看该作者
a214562573 发表于 2019-5-28 17:42
大佬问下这个代码直接放在keil4上就可以了吗 是51的代码吗?

大佬 您有这个51的代码吗
小弟实在是不会
若看到还望您能回我一下
回复

使用道具 举报

26#
ID:475993 发表于 2020-12-15 10:43 | 只看该作者
这战车,是什么比赛的吗?
回复

使用道具 举报

27#
ID:120677 发表于 2021-1-7 08:40 | 只看该作者




麦克纳纳姆轮 高大上的样子
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表