迭代牛顿-欧拉法
- 牛顿欧拉法的步骤
- 向外回归(outward recursion)
-
- 向内回归(inward recursion)
-
- 牛顿欧拉法的三种形式
- 无坐标系NE算法(Coordinate-Free Algorithm)
- 连杆坐标系NE算法(Link-Coordinates Algorithm)
- 3-D向量NE算法
牛顿欧拉法的步骤
牛顿欧拉法(NE)是求解机器人动力学逆解的一种方法。动力学逆解定义为:已知机器人的构型
q
q
q和运动的速度
q
˙
\dot{q}
q˙和加速度
q
¨
\ddot{q}
q¨,求解产生这种运动状态的各关节的力矩
τ
τ
τ。
我们把机器人的构型描述成一棵树,base body 为根节点,相应的末端工具手就是叶节点。NE分为两次回归:向外回归和向内回归,每个回归分为2步,所以NE一共四部。
向外回归(outward recursion)
step 1
从根节点开始向外逐个计算每个link的速度和加速度,一直计算到末端。速度公式为
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527194842271.png)
其中v
i
i
i是link i的速度,v
p
(
i
)
p(i)
p(i)是link i-1的速度,
Φ
i
Φ_i
Φi是joint i的运动矩阵,
q
i
˙
\dot{q_i}
qi˙是joint i的速度。
对上式求导即可得每个link的加速度
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527195224903.png)
上式没有考虑重力的作用,若是考虑重力加速度的作用,a
0
0
0也就是初试加速度应该为-a
g
g
g。
step 2
根据每个link的速度和加速度计算其运动方程
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527195940487.png)
其中
I
i
I_i
Ii是link i的惯量,f
i
a
^a_i
ia是link i所受合力
向内回归(inward recursion)
step 3
根据每一个关节,计算link 所受的力
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527200340463.png)
上式中,f
i
e
^e_i
ie是该link所受外力,比如弹簧、阻尼、力场力,包括由于和环境接触而受到的力。f
i
_i
i是joint i施加于link i的力,
c
(
i
)
c(i)
c(i)是link i的所有子link,就是接在link i上的link。
故而上式可以变成
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527200721927.png)
如果重力也需要考虑在内,应当将重力包含在f
i
e
^e_i
ie中。
step 4
计算每个joint 应当提供的力矩
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527200934758.png)
牛顿欧拉法的三种形式
无坐标系NE算法(Coordinate-Free Algorithm)
最为简单方便,但是不适合数值计算。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527201110474.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODQ1ODc4,size_16,color_FFFFFF,t_70)
连杆坐标系NE算法(Link-Coordinates Algorithm)
先解释一下什么是两岸坐标系算法,
如果为每一个link都定义了一个坐标系、并且与link i相关的计算都是在这个为link i定义的坐标系中计算的,这个算法就叫做连杆坐标系算法(Link-Coordinates Algorithm)。
式(3.71)~(3.75)中,(3.73)和(3.75)只和link i有关,因而符合连杆坐标系算法的要求。(3.71)、(3.72)和(3.74)不符合要求,需要进行处理。
处理后的结果如下所示
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527201717302.png)
其实就是把不是用link i坐标系表示的变量,统统换成用link i坐标系表示。
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527203140554.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODQ1ODc4,size_16,color_FFFFFF,t_70)
其中jtype返回joint i的关节类型,xjcalc计算关节i的变换矩阵。
3-D向量NE算法
![在这里插入图片描述](https://img-blog.csdnimg.cn/20210527203905774.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxODQ1ODc4,size_16,color_FFFFFF,t_70)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)