跳到主要内容

7.11 机器人运控状态接口

7.11.1 获取运控状态接口​

订阅话题名数据类型策略(QoS)备注
/mc/leg/walking_phasestd_msgs::msg::Float64摆臂相位;通过fk计算两脚x距离差
/mc/leg/walking_odomnav_msgs::msg::Odometry里程计信息,提供机器人x,y, yaw位置,x,y轴速度。position.x,position.y为x,y轴位置。orientation.x, y, z, w为 yaw角度转为的四元数。linear.x, linear.y为x,y轴速度
/mc/leg/waist_measured/joint_statessensor_msgs::msg::JointState测量的腰部位姿:x,y,z,roll,pitch,yaw。注意:1. (walker_learning_control版)不同于s1,该位姿均基于两脚的中心 2. (walker_leg_controller版),初始measure都是0.
/mc/leg/waist_desired/joint_statessensor_msgs::msg::JointState期望的腰部位姿:x,y,z,roll,pitch,yaw
/mc/leg/leg_statusstd_msgs::msg::String腿部状态:standInit(伺服回零后的状态),standing(学习站立状态),positionCtrl(位控站立状态),damping(阻尼模式),dynamic(运动模式,行走或奔跑),timeoutstanding(超时站立状态)
/mc/leg/task_statusstd_msgs::msg::String腿部任务状态:idle(空闲状态),navigating(导航控制状态),armCtrl(手臂控制状态),keyboardCtrl(键盘控制状态),remoterCtrl(航模控制状态)

7.11.2 切换运控状态接口​

服务名数据类型备注
/mc/leg/motion_ctrlmc_task_msgs::srv::GaitModeSwitch控制机器人启动,停止止步

GaitModeSwitch 类型定义​

# 发布启停模式切换:dynamic(踏步) /stand(静止站立) /stop(停止,暂时不使用)
int32 STOP=1
int32 STAND=2
int32 DYNAMIC=3
int32 POSITION_CTRL=4
int32 DAMPING=6
int32 mode
---
rosa_msgs/NodeState state

注意箭头的单双方向: