1)基本概念

前面我们介绍了正向运动学,已知机械臂各个关节的角度和杆件的几何参数,我们可以算出手臂末端点的状态。对于反向运动学,就是我们已知空间中某个点的状态,求机械臂到达这个点时,各个关节的旋转角度。

Reachable workspace:手臂可以用一种以上的姿态到达的位置。

Dexterous workspace:手臂可以用任意的姿态到达的位置。

Subspace:手臂在定义首尾的T所能达到的变动范围。

机器学习有反向传播吗 机器人反向运动学_算法


如图,第一幅图里面的l2杆末端位置,还有一个对称姿态可以到达,这个点就被称为reachable workspace;第二幅图里面的原点,连杆可以以任意姿态到达,被称为 dexterous workspace。由于齐次旋转矩阵里面是三角函数,因此,算出来的解不一定是唯一解(解的多样性),由于手臂本身的几何限制等,有的解算出来可能并不能运作。如何选择呢?

多种解的选择方式:离目前状态最近的解,最快,最省能…还要考虑避开障碍物

机器学习有反向传播吗 机器人反向运动学_算法_02


求解方法:

解析法:代数或几何方法

数值法:利用电脑软件去跑,不断逼近

目前,大部分的六轴机械臂,设计成最后三轴相交于一点的话,求解会方便许多,都能得到解析解。2)举例说明如何求解

机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_03


上图是我们在学正向运动学的时候求解的变换矩阵,就是已知了各个关节角度和杆件几何特征,求得的末端点的状态。对于同一个机械臂,我们来反求各个关节的角度。

机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_04


几何解:

机器学习有反向传播吗 机器人反向运动学_机器学习_05


代数解:

机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_06


机器学习有反向传播吗 机器人反向运动学_机械臂_07


机器学习有反向传播吗 机器人反向运动学_算法_08


3)6自由度机械臂的求解

我们先对移动部分进行求解

机器学习有反向传播吗 机器人反向运动学_机械臂_09


其中变换矩阵由D-H表达法计算出来的

机器学习有反向传播吗 机器人反向运动学_算法_10


机器学习有反向传播吗 机器人反向运动学_神经网络_11


机器学习有反向传播吗 机器人反向运动学_机器学习_12


机器学习有反向传播吗 机器人反向运动学_算法_13


我们再对转动部分进行求解

机器学习有反向传播吗 机器人反向运动学_机器学习_14


5)一般问题求解

机器学习有反向传播吗 机器人反向运动学_机器学习_15


先精确定义机械臂与操作物体间的相对位置关系。

手臂放在某个位置上面,我们建立一个坐标系,base frame

对于机械臂我们定义手腕的坐标系,wrist frame

机械手上面的工具与机械臂手腕之间的转换,我们在工具位置上面建立一个坐标系,tool frame

对于操作空间,如某个桌子上面的物体,我们的桌子位置与机械臂放置位置间要有个转换,我们先定义桌子的坐标,station frame

对于机械臂的目标,我也要建立一个goal frame,与tool frame对应。

机器学习有反向传播吗 机器人反向运动学_机械臂_16


机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_17


在现实中,对于不同位置的杯子,我们借由摄像系统去找寻。

机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_18


我们就可以按照前面介绍的反求方法去计算各个关节应该转动的角度。

机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_19


机器学习有反向传播吗 机器人反向运动学_机器学习有反向传播吗_20


机器学习有反向传播吗 机器人反向运动学_机械臂_21


以上我们用机械臂解决的问题就是,如何让机械臂旋转正确的角度来抓取桌子上面的物体(反向运动学)。抓取完物体后,如何让机械臂延正确的轨迹运行到指定位置呢?我们下次进行讲解。