[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
中尉Emptyy
2017-1-15 22:21:30 显示全部楼层

马上注册,玩转Robomaster!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Emptyy 于 2017-1-15 22:45 编辑

各位观众老爷好,宣传经理妹子琪琪说写点啥吧,写啥呢,想了想,让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致敬~





Mecanum_Kinematic_Analysis_100531.pdf

60.28 KB, 下载次数: 552

跳转到指定楼层

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
下士毕宝山
2018-8-31 21:02:21 显示全部楼层
赞赞,希望论坛里更活跃一点,更多的人分享更多的看法,相互讨论与学习

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
上等兵墨染江河
2019-5-12 17:15:58 显示全部楼层
jack1234 发表于 2017-5-25 10:19
不错不错,可以好好的看看啦

赞一个。

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
下士恰同学少年
2017-10-31 13:49:46 显示全部楼层
大赞啊           

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
少尉XJTU DJI CLUB
2017-1-15 22:44:23 显示全部楼层
嘻嘻(●'◡'●)给大家带来一期干货

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
少尉山神hx
2017-1-15 23:47:31 显示全部楼层
赞一个咯!
回复

使用道具 举报

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
少尉670447360
2017-1-16 18:34:45 显示全部楼层
看到琪琪姐我没忍住看完了

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
上等兵袁云鹏
2017-1-19 18:06:24 显示全部楼层
6666666666666666

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
中士CUMT_DJI_CLUB
2017-1-23 21:14:20 显示全部楼层
怪我线代不好

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
下士yi2ha
2017-1-31 08:08:33 显示全部楼层
爱琪琪! 感谢Emptyy!

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
少尉huiquan
2017-2-4 09:48:39 显示全部楼层
这个是真的给力!

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
上士功夫lzc
2017-2-9 22:16:50 显示全部楼层
好厉害啊
回复

使用道具 举报

[机械设计] 【干货】麦轮正逆向运动学建模/再不懂就去打死线代老师吧

  [复制链接]
上等兵jack1234
2017-5-25 10:19:24 显示全部楼层
不错不错,可以好好的看看啦

本版积分规则

触屏版 | 电脑版

Copyright © 2019 RoboMasters 版权所有

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