HexArth 运动控制

来自Waveshare Wiki
跳转至: 导航搜索

机器人运动控制

HexArth_Web端使用中,介绍了如何通过Web端来控制机器人运动,其中包含关节运动控制和自平衡控制。

在本教程中,将介绍机器人运动控制的JSON指令具体含义。主要包括矢量运动控制和姿态角旋转控制、自平衡控制的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 ° ,角度增加关节向下转动,角度减小关节向上转动。