Introduction to Robotics 总结1~5

机器人学中经典教材 《Introduction to Robotics: Mechanics and Control》,也就是John Craig的中文版《机器人学导论》,刚来实验室的时候,就发现师兄们人手一本了,某些章节自己啃也是有点难度的,之前在 Youtube 上看完了斯坦福 Oussama Khatib 教授的视频Introduction to Robotics,他们上课使用的教材就是这本,一共十六篇lecture,讲解也是很通俗易懂,涵盖了机器人座标变化、D-H参数建模、动力学、运动学、PD、PID控制、力控制等基本理论。

上交大佬曾今说过:" 如果你把这本书的内容掌握了,就已经超过实验室绝大多数师兄师姐了。然而,真正把教材啃下来的并不多。所以,我在这里要换个说法了,如果你把这本书的内容掌握了,就可以胜任国内绝大多数机器人公司的开发工作了。" https://qiu6401.gitbook.io/how-to-learn-robotics/gettingstarted

这里对十六篇讲座的基本内容做了个简单的概括,可以根据需求快速的找到对应的内容。

The first lecture:

  • [40:50]:So if you have a velocity and omega at the center of mass,and you can write the energy,the kinetic energy,associated with this moving mass and inertia associated with the rigid.And simply by adding the kinetic energy of these different link,you have the total kinetic energy of the system.So the mass matrix will become a very simple form of the Jacobian,so that's why I'm going to insist on your understanding of the Jacobian,once you understand the Jacobian,,you can scale the Jacobian with the masses and the inetials get your dynamics.So going to dynamics is going to be very simple if after you really undertand the Jacobian.
  • [43:54]:Task-Oriented Control: Described as how to move the hand to this location without really focusing on how each of the joint is going to move.And this concept can be captured by simply thinking about total robot as if the robot was attracted to move the goal position.This is similiar to the way a human operate just like you are not thinking about how the joints of the body are moving,you are just moving the hand by applying these forces to move the hand to the goal position.So it's like holding the hand and pulling it down to the goal.第一篇lecture就是对课程的一个总结,其实就是这十六篇的学习重点:一个是雅可比矩阵的理解和计算;另一个就是机器人的控制问题,包括PD control和force control等等话题。出现在视频中的时间为[40:50]和[43:54]。

The second lecture:

通篇介绍的就是机器人不同座标系之间变换的方法,即旋转矩阵R和变换矩阵T。

Rotation matrix:是在乘以一个向量的时候改变向量的方向但不改变大小的效果并保持了手性的矩阵。其实旋转矩阵可以直接写出来,其值为\{B\}中单位矩阵 I 在\{A\}中的座标,如式$ ^A_BR = [^AX_B,^AY_B,^AZ_B] $,旋转矩阵的转置就是从相反的方向观察,因此$^A_BR = ^B_AR^T = ^B_AR^{-1}$。对于座标系原点重合的情况下:设座标系\{B\}中的点$^BP$,那么它在参考座标系\{A\}中的点表示为$^AP = ^A_BR^BP $ 。 对于座标系原点不重合的情况下,例如对于座标系\{B\}中的向量在参考座标系\{A\}中的表示为:$^AP_{O_A} =^AP_{O_B} + ^AP_{BORG}$。因此$^AP = ^A_BR^BP+^AP_{BORG0}$,这里涉及到加法等操作对于高纬度空间运用是比较复杂的,但是写成矩阵的形式就是$$\left[ \begin{array}{c}^AP\\1\\\end{array} \right ] = \left[ \begin{array}{cc}^A_BR & ^AP_{BORG}\\O & 1\end{array} \right ] \left[ \begin{array}{c}^BP\\1\\\end{array} \right ]$$,这就是从传说中的 $$T = \left[ \begin{array}{cc}R& P_{ORB}\\\end{array} \right ]$$其中$P_{ORB}$就是\{B\}原点在\{A\}座标系中的座标。

对于变换矩阵T,它没有和旋转矩阵R相同的转置求逆等同的特性,也就是$ T^{-1}!= T^{T} $,而是$$ ^A_BT^{-1} = ^B_AT = \left[ \begin{array}{cc}^A_BR^T & -^A_BR^T.^AP_{BORG}\\O & 1\end{array} \right ] $$。这里的$ -^A_BR^T.^AP_{BORG}=^BP_{AORG} $.

The third lecture:

旋转矩阵用9个参数来定义三维度的旋转,这意味着有六个参数其实是冗余的,对于一个旋转矩阵R = \left[\begin{array}{ccc}r_1 & r_2 & r_3\\\end{array} \right ]来说有如下关系:$$ |r1|=|r2|=|r3|=1$$$$ r1r2=r2r3=r3r1=0 $$

对于欧拉角定义的旋转ZYX,有个特定的暱称rpy,也就是使用广泛的roll-pitch-yaw ,其中ZYX欧拉角和旋转矩阵的对应关系为:

$$ ^A_BR = R_Z(\alpha).R_Y(\beta).R_Z(\gamma) $$。即为:$$ ^A_BR= \left[\begin{array}{ccc}ca & -sa & 0\\sa & ca & 0\\0 & 0 & 1\\\end{array} \right ] \left[\begin{array}{ccc}cb & 0 & sb\\0 & 1 & 0\\sb & 0 & cb\\\end{array} \right ] \left[\begin{array}{ccc}1 & 0 & 0\\0 & c\gamma & -s\gamma\\0 & s\gamma & c\gamma\\\end{array} \right ]$$.

当beta角度为90的时候,会导致机器人空间的奇异性,在该点的时候,无论如何改变其余两个角度的大小度无法影响该方向的运动。也就是说三个参数会有奇异性,九个参数会有冗余,因此引出使用四个参数定义旋转的四元数。(有点多,没记录了)

The fourth lecture:

配置D-H参数理论部分,由于之前已经了解过D-H参数配置的方法,这节比较快速过的。老师讲的也是不错的,但是英文理解肯定难受一点,所以也就没记录了。

The fifth lecture:

D-H参数配置案例:RPRR机器人,根据配置的D-H参数和公式,对于RPRR机器人,有:

$$ ^0_1T = \left[\begin{array}{cccc} c_1 & -s_1 & 0 & 0\\ s_1 & c_1 & 0 & 0\\ 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right ]$$

其中第三列$ [0,0,1]^T $表示的就是$z_0$在frame0中座标,同理前两列分别对应$x_0$$y_0$在在frame0中的座标,最后一列就是frame3的原点在frame1中的座标。

$$ ^0_2T = \left[\begin{array}{cccc} c_1c_2 & -c_1s_2 & -s_1 & -s_1d_2\\ s_1c_2 & -s_1s_2 & c_1 & c_1d_2\\ -s_2 & -c_2 & 0 & 0\\ 0 & 0 & 0 & 1\\ \end{array} \right ]$$

其中第三列$ [-s_1,c_1,0]^T $表示的就是$z_1$在frame0中座标,同理。。。。。这里需要重点关注的就是z向量,因为后面可以看到Jacobian的一半就是通过z向量定义的,$z_1,z_2...z_{end}$ in the frame0。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章