RoboMaster

标题: 【分享帖】麦轮正逆向运动学建模/再不懂就去打死线代老师 [打印本页]

作者: Emptyy    时间: 2017-1-15 22:21
标题: 【分享帖】麦轮正逆向运动学建模/再不懂就去打死线代老师

各位观众老爷好,宣传经理妹子琪琪说写点啥吧,写啥呢,想了想,让RM这场盛大狂欢一路跑起来的麦轮简直功不可没。

曾记得在队里不小心踩到地上一根导线,于是整条腿斜向前45°劈了个叉,那时候心想这不就是麦轮啊我去,所以麦轮到底是什么原理呢,程序上炒鸡简单的四个运动方程是怎么来的?百度的东西实在高深莫测不明觉厉,好在谷歌上看到了一篇过程详细逻辑严密的文章,寥寥几页却清晰明朗深入浅出可谓十分接地气,无论你属于机械、电控、视觉、宣传经理、项管还是扫地僧,稍微有点线代基础就能看懂,遂翻译过来跟大家分享一下,同时加了些补充说明(黑括号里的部分)方便理解。英语OK的朋友可以直接读原文(帖子底部有附件)。读完你完全可以按照同样的方法求解90°偏置的3麦轮小车的前后向运动学方程,而且是真真正正自己推导出来,对理解和控制全向小车还是很有帮助的。文章名叫Kinematic Analysis of Four-Wheel Mecanum Vehicle(4麦克纳姆轮载具的运动学分析),针对的正是常见的45°偏置的4麦轮组合,也是我们征战沙场的共同选择。原文没有来源出处,格式也甚是随性,唯一有的信息是Rev 05/31/10 ©Ehter (PDF文件名里有个编号100531)

好吧,让我们向这位叫以太的哥们致敬~也让我们向XJTU的宣传经理妹子琪琪致敬,毕竟她不提估计就没得写了...Orz


下面进入正题

定义

后向(逆向)运动学方程:根据车身速度计算每个轮的转速。

前向(正向)运动学方程:给定每个轮的转速得到车身速度。

见下图,在俯视中定义坐标系,使原点到四个轮子的距离相等,X轴向前指,Y轴向左指。

用3x1矩阵 [Vx Vy ωv]’表示车身运动的速度矢量[V],其中ωv以逆时针方向为正。

麦轮从图中左上角起,按逆时针顺序依次编号1,2,3,4。

(Xn,Yn)为第n个轮相对原点的坐标。各麦轮轮毂与X轴平行安装,r为轮毂半径,θn为麦轮n的接地辊子轴线与X轴间的夹角,以逆时针方向偏转为正。【就是辊子的偏置安装角,大小为45°】


                               
登录/注册后可看帖子
逆向运动学

令[Ω]=[ω1,ω2,ω3,ω4]’【定义每个轮子使车向前走的转向为其ω的正方向】

求解逆向运动学就是要找到一个4x3矩阵[R]使其满足:[Ω]=(1/r)[R][V]         方程1

如此,给定车身速度[V]就可计算出各轮转速[Ω]。

假设车身为刚体,那么车体的速度分量Vx、Vy就可以平移到每个麦轮的中心。

此外,由于车身还有旋转速度ωv,所以在每个麦轮的中心还有另外一组速度分量:

Vxrn=-Yn·ωv

Vyrn= Xn·ωv         方程2

【这里原文没图,补一个清楚点,见下方手绘哈哈。

注意用来分析的麦轮n可任取一个,因为只要规定好X、Y轴及转动的正方向,公式里的符号就始终一致,图中取的是右上轮】


                               
登录/注册后可看帖子

上述两组分量叠加后就得到了麦轮n的合速度矢量Vn(即麦轮n的实际速度矢量,方程中为Vxn、Vyn两个分量):

Vxn=Vx+Vxrn

Vyn=Vy+Vyrn            方程3

然后将方程2代入方程3得到:  Vxn =Vx -Yn·ωv  , Vyn =Vy +Xn·ωv  

【到这我们求出了车身速度[V]对应到每个麦轮上的速度Vn,接下来只要找到轮转速ωn与Vn之间的关系就构建完毕了。下图为麦轮n在某一时刻的速度矢量关系。

看过下图后再唐僧一遍,Vn这个合速度矢量就是麦轮n当前的实际运动速度。可以看出它是由麦轮n的轮毂中心速度Aî=ωn·r和接地自由辊子的中心速度Bû合成而来的。

另外,考虑î、û两个单位向量的线性组合,刚好构成XOY平面内的整个向量空间(当然实际上速度不可能无穷大的哈,但方向一定是全向的),这也就是麦轮能全向运动的原因。注意Bû始终是跟辊子轴垂直的,因为辊子一定是沿垂直其转轴的方向滚动,这就像Aî始终跟电机轴(平行于Y轴)垂直一样。】


                               
登录/注册后可看帖子

于是车身速度和麦轮转速之间就可以联系起来了:

ωn·r = Vxn + Vyn·tan(θn)   方程4

【自由辊子的中心速度B是随速度矢量Vn变化的,不需要求,重要的是找到A与Vn的线性关系】

将前面准备好的Vxn、Vyn代入方程4得到:

ωn·r =(Vx -Yn·ωv) + (Vy+ Xn·ωv)·tan(θn)

把r移到等号右边:

ωn =(1/r) { (Vx -Yn·ωv) + (Vy+ Xn·ωv)·tan(θn) }

再整理一下:

ωn =(1/r) { (Vx + Vy tanθn + ( Xn·tanθn-Yn)ωv) }

当当当当,如此第n个麦轮的转速ωn 跟 车身速度Vx、Vy、ωv之间就建立了线性关系。

于是就得到要求的4x3矩阵[R]:

1                tan(θ1)            X1 tan(θ1) – Y1

1                tan(θ2)            X2 tan(θ2) – Y1

1                tan(θ3)            X3 tan(θ3) – Y1

1                tan(θ4)            X4 tan(θ4) – Y1

根据第一页对θn的定义,可以得到θ1、θ3为 -45°,θ2、θ4为 +45°。代入得到:


                               
登录/注册后可看帖子

由于我们定义坐标系时原点到四个轮子的距离相等,即轮子是对称安装的,所以每个轮横、纵坐标的绝对值各自相等,令K=abs(Xn)+abs(Yn),根据每个轮坐标所在象限的符号,矩阵可化简为:


                               
登录/注册后可看帖子

将[R]代入方程1:[Ω]=(1/r)[R][V],简单乘一下,就得到逆向运动学的线性方程组了。

ω1 =1/r ( Vx – Vy – Kωv )
ω2 =1/r ( Vx + Vy – Kωv )
ω3 =1/r ( Vx – Vy + Kωv )
ω4 =1/r ( Vx + Vy + Kωv )

【注意这里转速的单位是弧度/单位时间】

是不是熟悉的配方熟悉的味道,大家的车就是这么控制的吧~


正向运动学

求解正向运动学就是要找到一个3x4矩阵[R]使其满足:

[F][Ω](r)=[V]

这个问题通常无解,因为这个线性组合构成了一个超定方程(未知数大于方程数)。

它的物理意义是,如果给定四个轮子的转速,有可能引起轮子在地上摩擦(因各轮速度方向的冲突而打滑,比如前面两个轮子向后转,后面两个轮子向前转),这时车身是没有速度的。

不过,还是可以找到一个能通过最小二乘法来提供最优解的矩阵[F]。

首先从逆向运动学方程开始,

[Ω](r)=[R][V]

两边同时左乘[R]的转置得到:

[R]’[Ω] (r)=[R]’[R][V]

两边同时左乘[R]’[R]的逆得到:

( ([R]’[R])-1 ) [R]’ [Ω] (r) = ( ([R]’[R])-1) ( [R]’[R] ) [V]

右侧化简为[V]得到:

( ([R]’[R])-1 ) [R]’ [Ω] (r) = [V]

由此得到[F]:

[F]= ( ([R]’[R])-1 ) [R]’

使用逆向运动学中化简完的[R]矩阵,很容易求出[F]:


                               
登录/注册后可看帖子

【能读到这的各位肯定都会了,整个正向方程就不赘述了。简单举个典型运动的例子:

令轮毂半径r为1,只给1号轮和3号轮向前转动的速度+1,则[Ω]=[ 1  0  1  0 ]’

也就是各取1倍的[F]第一列和第三列相加,得到 [V]=[  1/2  -1/2   0  ]’

由此可以看出,当只有左前轮和右后轮向前转时,车身往右前方行驶,前向速度1/2,右向速度1/2,自转速度为0,与我们实际控制结果吻合(当控制车向右前方行驶时,可以看到2、4号轮是不转的。)读者也可以自行代入其他转速进行观察和验证。】

【结尾声明】

本文欢迎转载,只要你觉得对别人有帮助。

主体内容翻译自谷歌搜索到的PDF文章 《Kinematic Analysis of Four-Wheel Mecanum Vehicle》

文章没有来源出处等信息,唯一标注是Rev 05/31/10 ©Ehter(PDF文件名里有个编号100531) ,请记得向Ether致敬~






作者: XJTU DJI CLUB    时间: 2017-1-15 22:44
嘻嘻(●'◡'●)给大家带来一期干货
作者: 山神hx    时间: 2017-1-15 23:47
赞一个咯!
作者: 670447360    时间: 2017-1-16 18:34
看到琪琪姐我没忍住看完了
作者: 袁云鹏    时间: 2017-1-19 18:06
6666666666666666
作者: CUMT_DJI_CLUB    时间: 2017-1-23 21:14
怪我线代不好
作者: yi2ha    时间: 2017-1-31 08:08
爱琪琪! 感谢Emptyy!
作者: huiquan    时间: 2017-2-4 09:48
这个是真的给力!
作者: 功夫lzc    时间: 2017-2-9 22:16
好厉害啊
作者: jack1234    时间: 2017-5-25 10:19
不错不错,可以好好的看看啦
作者: fbk123    时间: 2017-7-31 18:45
大赞!!!!!!
作者: huaweijian    时间: 2017-8-4 19:45
为什么图片看不了啊?
作者: huaweijian    时间: 2017-8-4 19:59
fbk123 发表于 2017-7-31 18:45
大赞!!!!!!

为啥我看不了图片啊?
作者: 15529056756    时间: 2017-9-21 15:45
我曹好牛逼,第一次觉得矩阵好有用
作者: 15529056756    时间: 2017-9-21 15:59
怎么看不到图片啊

作者: Aeroman    时间: 2017-9-21 18:31
bravo!  正在发愁怎么搞定麦轮
作者: 夕阳下的吉他    时间: 2017-10-27 00:17
谢谢分享!!!!!!!!!!!!!!1
作者: 小白狼    时间: 2017-10-30 17:08
厉害厉害,强强强--------
作者: 恰同学少年    时间: 2017-10-31 13:49
大赞啊           
作者: 滑稽的麻瓜    时间: 2017-10-31 19:47
总感觉每个帖子都应该有我的身影
作者: 好听的名字    时间: 2017-12-4 18:59
干货呐,向大佬们致敬

作者: Javan Chen    时间: 2017-12-4 22:46
赞一个  

作者: 企鹅飞    时间: 2017-12-7 21:13
膜拜一波,然后默默下载
作者: 企鹅飞    时间: 2017-12-7 21:14
好贴再赞一次啦
作者: sail    时间: 2017-12-9 19:53
为啥我也看不到图片,这货要梯子嘛
作者: 1358722560    时间: 2017-12-10 10:30
图片为什么加载不出来
作者: chenchen    时间: 2017-12-24 18:07
66666666666666666
作者: qq1039027514    时间: 2018-1-23 18:14
111111111111111111111111111111111111111111
作者: loading......    时间: 2018-1-23 21:26
66666666666666666666666666
作者: 屋顶数星星    时间: 2018-2-24 13:48
特别棒 !!!!!!!!
作者: 怪叔叔    时间: 2018-3-16 21:11
除了感谢我还能说什么

作者: 无血九痕    时间: 2018-6-9 02:35
666666666666
作者: 翘楚    时间: 2018-7-20 18:07
:o好厉害

作者: Ttaceur    时间: 2018-7-25 17:06
谢谢谢谢谢谢谢谢
作者: 卡东    时间: 2018-8-30 14:19
6666666666666666666666666666666666666666666666
作者: 毕宝山    时间: 2018-8-31 21:02
赞赞,希望论坛里更活跃一点,更多的人分享更多的看法,相互讨论与学习
作者: 年少有点狂    时间: 2018-9-3 09:49
大赞   水一下 皮一下
作者: 年少有点狂    时间: 2018-9-3 09:59
这个找了很久
作者: 木子星辰    时间: 2018-9-20 14:17
厉害了我的哥
作者: 火星探索    时间: 2018-9-21 12:06
留名 谢谢大佬
作者: 951488363    时间: 2018-9-22 09:00
66666666666666666666666
作者: 951488363    时间: 2018-9-22 09:19
666666666666666666666
作者: chigo    时间: 2018-9-26 20:34
EMMMMMMMMMM
作者: GYJ    时间: 2018-9-27 15:57
学习一波线代
作者: RipperJack    时间: 2018-9-27 20:10
6666666666666666
作者: 华中搞机帮    时间: 2018-9-28 21:39
图片看不到了,优秀的同学
作者: BILL    时间: 2019-1-31 16:07
这个很学术了
作者: Roboss    时间: 2019-3-28 14:42
大佬能不能补一下图呀
作者: 子旟    时间: 2019-4-19 00:58
图好像崩了
作者: 快拆小分队    时间: 2019-5-8 15:52
好文翻土
作者: 无名灯火    时间: 2019-5-10 21:15
我也看不了图 是不是时间太久了图片炸了
作者: 灯塔    时间: 2019-5-11 15:37
线代咋办啊啊啊啊啊
作者: 墨染江河    时间: 2019-5-12 17:15
jack1234 发表于 2017-5-25 10:19
不错不错,可以好好的看看啦

赞一个。
作者: Mar    时间: 2019-5-13 18:18
大赞大赞
作者: ACK    时间: 2019-5-21 12:30
感谢楼主的分享,
作者: 齐次炸弹    时间: 2019-5-28 18:52
线代老师,对不起,我要动手了
作者: Missl    时间: 2019-11-26 16:30
非常的不错 大赞
作者: 小白学robot    时间: 2019-11-27 16:59
图片看不了啊
作者: You蓝    时间: 2019-11-29 19:21
赞一个,顶上去

作者: hui    时间: 2019-11-30 22:11
很好,非常好
作者: 扶风大大    时间: 2020-1-11 10:41
感谢大佬分享!
作者: Tian李讼愆    时间: 2020-1-30 09:45
数学不好呜呜呜
作者: 7219xyf    时间: 2020-2-4 23:04
歪瑞古德
作者: djiuser_5TUDWdf    时间: 2020-10-23 15:43
很棒啊 线代老师都爱死了
作者: Lxun    时间: 2020-10-25 18:27
不错不错,真可以
作者: XMY6901137    时间: 2021-4-27 09:50
厉害,怎么看不到图片啊
作者: 嗯啊12138    时间: 2021-5-1 13:42
爆赞,很好非常通俗易懂
作者: 梦回极巅    时间: 2021-10-26 19:08
看不到图
作者: 无敌大可爱    时间: 2023-4-12 21:00
太感谢了
作者: RM机器人    时间: 2023-4-19 18:05
大佬还在吗,能重发一遍吗?图片和PDF都看不了
作者: 不做程序员    时间: 2023-8-27 14:55
很厉害,有收获
作者: taii    时间: 2023-11-23 19:27

不错不错,可以好好的看看啦

作者: djiuser_LuKb9Se    时间: 2024-3-2 15:38
打不开啊
作者: gsasyufguyso    时间: 2024-4-11 22:21
这个是真的给力!





欢迎光临 RoboMaster (https://bbs.robomaster.com/) Powered by Discuz! X3.2