HexArth 运动控制
机器人运动控制
本教程将详细讲解机器人运动控制中 JSON 指令的具体含义,内容涵盖矢量运动控制、姿态角旋转控制以及自平衡控制相关指令的解析。在关节角度控制方面,分别介绍以角度制和弧度制进行单关节控制的方式;在三维直角坐标控制方面,重点说明如何对六足机器人各腿末端点位进行独立坐标控制。
CMD_MOVE_INIT - 运动到初始位置
{ "T": 100 }
- 100:表示这条指令为 CMD_MOVE_INIT,让机器人的所有关节转动到初始位置。 正常情况下机器人开机时会自动转动到初始位置。
CMD_SPEED_CTRL - 运动速度控制设置
{ "T": 1, "X": 0.02, "Y": 0.02, "Yaw": 0.0 }
1:表示这条指令为CMD_SPEED_CTRL,用于设置机器人的移动速度。X表示机器人前进/后退方向上的运行速度,速度取值 -0.07 ~ +0.07,单位为 m/s,正值前进,负值后退。Y表示机器人左移/右移方向上的运行速度,速度取值 -0.07 ~ +0.07,单位为 m/s,正值左移,负值右移。Yaw表示机器人原地自转的运行速度,速度取值 -0.6 ~ +0.6,单位为 rad/s,正值左转,负值右转。
CMD_AMP_CTRL - 姿态角旋转控制设置
{ "T": 3, "r": 0.1, "p": 0.0, "y": 0.0, "f": 1 }
3:表示这条指令为CMD_AMP_CTRL,用于设置机器人姿态角旋转的幅度和周期。r表示机器人绕 x 轴旋转的幅度,幅度取值 0.0 ~ 0.3。p表示机器人绕 y 轴旋转的幅度,幅度取值 0.0 ~ 0.3。y表示机器人绕 z 轴旋转的幅度,幅度取值 0.0 ~ 0.3。f表示机器人姿态角旋转的周期,周期取值 0.0 ~ 0.4。
CMD_BALANCED_ENABLE - 自平衡模式设置
{ "T": 4, "cmd": 1 }
4:表示这条指令为CMD_BALANCED_ENABLE,用于开启/关闭机器人的自平衡模式。cmd:表示机器自平衡模式的设置参数,1表示打开自平衡模式,0表示关闭自平衡模式(自平衡模式和其它运动控制是互锁的,开启自平衡模式其它运动控制无法进行)。
CMD_DEFAULTZ - 机身高度设置
{ "T": 5, "cmd": -80.83 }
5:表示这条指令为CMD_DEFAULTZ,用于设置机器人的机身高度。cmd:需要设置的机身高度,初始位置的机身高度为 -83.18,单位是 mm,取值范围为 -140.83 ~ -60.83。
CMD_XYZT_CLAWS_CTRL - 单个腿末端点位置控制(逆运动学)
{ "T": 701, "leg": 0, "x": -0.18, "y": -109.69, "z": -80.83 }
701:表示这条指令为CMD_XYZT_CLAWS_CTRL,用于控制机器人单个腿的位置。leg表示机器人腿的编号,编号取值 0 ~ 5,右前腿编号为 0,右侧腿按顺时针方向依次递增;左前腿编号为 3,左侧腿按逆时针方向依次递增。x,y,z:分别为三个轴的具体位置,单位为 mm。
CMD_RAD_CLAWS_CTRL - 单个腿关节控制(弧度制)
{ "T": 702, "leg": 0, "coxa": 0, "femur": 0, "tibia": 1.57 }
702:表示这条指令为CMD_RAD_CLAWS_CTRL,用于控制机器人单个腿各个关节的位置。leg表示机器人腿的编号,编号取值 0 ~ 5,右前腿编号为 0,右侧腿按顺时针方向依次递增;左前腿编号为 3,左侧腿按逆时针方向依次递增。coxa为髋关节旋转角度。由于六足机器人各腿安装方位不同,各髋关节的初始角度及可转动范围存在差异。其中,右前腿与左后腿的 Coxa 初始角度为 −0.5235 rad,可转动范围为 −1.134 rad ~ 0 rad;左前腿与右后腿的 Coxa 初始角度为 0.5235 rad,可转动范围为 0 rad~ 1.134 rad;中腿的 Coxa 初始角度为 0 rad,可转动范围为 −0.7853 rad ~ 0.7853 rad。femur为大腿关节的旋转角度。初始角度为 0.5235 rad,可转动范围为 0 rad~ 1.57 rad,角度增加关节向下转动,角度减小关节向上转动。tibia为小腿关节的旋转角度。初始角度为 2.619 rad,可转动范围为 0 rad~ 3.1415 rad,角度增加关节向下转动,角度减小关节向上转动。
CMD_ANGLE_CLAWS_CTRL - 单个腿关节控制(角度制)
{ "T": 703, "leg": 0, "coxa": 0, "femur": 0, "tibia": 90 }
703:表示这条指令为CMD_ANGLE_CLAWS_CTRL,用于控制机器人单个腿各个关节的位置。leg表示机器人腿的编号,编号取值 0 ~ 5,右前腿编号为 0,右侧腿按顺时针方向依次递增;左前腿编号为 3,左侧腿按逆时针方向依次递增。coxa为髋关节旋转角度。由于六足机器人各腿安装方位不同,各髋关节的初始角度及可转动范围存在差异。其中,右前腿与左后腿的 Coxa 初始角度为 −30 °,可转动范围为 −65 ° ~ 0 ° ;左前腿与右后腿的 Coxa 初始角度为 30 ° ,可转动范围为 0 °~ 65 °;中腿的 Coxa 初始角度为 0 °,可转动范围为 −45 °~ 45 °。femur为大腿关节的旋转角度。初始角度为 30 °,可转动范围为 0 °~ -90 °,角度增加关节向下转动,角度减小关节向上转动。tibia为小腿关节的旋转角度。初始角度为 150 °,可转动范围为 0 °~ 180 ° ,角度增加关节向下转动,角度减小关节向上转动。