任务空间运动控制简介
任务空间运动控制—位置被指定给控制器作为末端执行器的姿态。然后,控制器驱动机器人的关节配置到使末端执行器移动到指定姿态的值。这有时被称为操作空间控制。
任务空间运动模型表示机器人在闭环任务空间位置控制下的运动,可使用Task Space Motion Model
模块进行控制。
机器人机械手是典型的位置控制设备。要进行任务空间控制,需要在SE(3)
中指定一个参考末端执行器姿态,然后模型会返回关节配置向量 q 及其状态导数,可对机器人关节进行闭环控制,并使用运动模型模拟机器人在此控制下的动作。
要使这种方法最接近实际系统的运动,必须准确表示控制器和被控对象的动态显示状态。虽然任务空间控制有很多不确定性,但Task Space Motion Model
模块使用的是相对简单的Jacobian-Transpose
方法(雅可比矩阵转置法),当机器人和控制器的动态参数经过精调之后,该方法的控制较为精确。
关键变量
该模型的状态变量有:
- q q q—机器人关节配置,作为关节位置的矢量。对于旋转副单位为: r a d rad rad,对于平移副单位为: m m m。
- q ˙ \dot q q˙—机器人关节速度矢量,对于旋转副单位为: r a d / s rad/s rad/s,对于平移副单位为: m / s m/s m/s。
- q ¨ \ddot q q¨—机器人关节加速度矢量,对于旋转副单位为: r a d / s 2 rad/{s^2} rad/s2,对于平移副单位为: m / s 2 m/{s^2} m/s2。
机器人的末端执行器姿态 T ( q ) T(q) T(q)是一个 4 * 4 的齐次变换矩阵,相对于机器人基座的原点定义。位置单位为米。T 的两种形式用于计算控制误差:
- T r e f T_{ref} Tref - 参考末端执行器位姿,指定为期望的末端执行器位姿。
- T a c t T_{act} Tact - 实际末端执行器实际位姿末端执行器变换分解为:
$$T = \left[ {\matrix{
R & X \cr
0 & 1 \cr
} } \right]$$
R为3 * 3的旋转矩阵,X为3 * 1的位置矩阵。
PD控制器
当运动模型使用PD控制(可使用taskSpaceMotionModel
模块)时,模型使用标准刚体动力学计算正向动力学,但受制于 PD 控制律,该控制器作用于期望姿态与实际末端执行器姿态之间的误差。
- 输入 - 该模型接受参考姿态 T r e f T_{ref} Tref和参考末端执行器速度 v r e f v_{ref} vref。
- 输出 - 模型反馈的 q 、 q ˙ 、 q ¨ q、\dot q、\ddot q q、q˙、q¨即为关节的角度、速度和加速度。
- 复杂性 - 模型的复杂性描述了所需的总体计算量。这是一个中等复杂度的运动模型。它使用完整的刚体动力学,但模型中使用的控制法则相对简单。
在该系统中,关节位置、速度和加速度均采用标准刚体机器人动力学计算。广义力输入 Q 由任务空间误差的 PD 控制器法提供,并通过雅可比转置法缩放至关节空间:
- e r o t e_{rot} erot - 是使用 rotm2eul(RrefRTact) 转换为欧拉角的旋转误差。
- e p o s e_{pos} epos - 是 xyz 坐标误差,计算公式为 X r e f − X a c t X_{ref}-X_{act} Xref−Xact。
- G(q) - 是所有关节在指定重力下保持其位置的重力扭矩和力。
- J(q) - 是给定关节配置的几何雅各布系数,更多信息,请参阅几何雅各布系数函数。
控制输入依赖于这些用户定义的参数:
-
KP - 比例增益,以 6×6 矩阵形式指定
-
KD - 微分增益,指定为 6 x 6 矩阵
-
B - 关节阻尼矢量,指定为双元素阻尼常数矢量,对旋卷关节而言单位为 N⋅s⋅rad-1,对棱柱关节而言单位为 N⋅s⋅m-1
该模型输入:
T r e f T_{ref} Tref - 参考末端执行器姿势,指定为所需的末端执行器姿势
v r e f v_{ref} vref - 参考末端执行器速度,指定为矢量
包含角速度$\omega 和平移速度 和平移速度 和平移速度{\dot X}$.