跳到主要内容

1. 通信流程图

2. mpc的x和u

2.1 OCS2中状态向量顺序

也即话题/humanoid_mpc_observation里的state

idxcontent
0vcom_x
1vcom_y
2vcom_z
3L_x / robotMass
4L_y / robotMass
5L_z / robotMass
6p_base_x
7p_base_y
8p_base_z
9theta_base_z
10theta_base_y
11theta_base_x
12:na关节角度

2.2 OCS2中控制向量顺序

也即话题/humanoid_mpc_observation里的input, 顺序如下:

idxcontent
0:3ll_heel_force
3:3ll_toe_force
6:3lr_heel_force
9:3lr_toe_force
12:3rl_heel_force
15:3rl_toe_force
18:3rr_heel_force
21:3rr_toe_force
24:na关节速度

3. 话题说明

/humanoid/**

用于可视化的话题,可以忽略

/humanoid_controller/**

控制器相关的话题,主要有:

/humanoid_controller/com/r:质心位置

/humanoid_controller/com/r_des:质心期望位置

/humanoid_controller/com/rd:质心速度

/humanoid_controller/com/rd_des:质心期望速度

/humanoid_controller/optimizedState_mrt/com/angular_vel_xyz:从mpc(mrt)取得的质心线速度,顺序为xyz

/humanoid_controller/optimizedState_mrt/com/angular_zyx:从mpc(mrt)取得的质心角速度,顺序为zyx

/humanoid_controller/optimizedState_mrt/base/linear_vel_xyz:从mpc(mrt)取得的躯干线速度

/humanoid_controller/optimizedState_mrt/base/pos_xyz:从mpc(mrt)取得的躯干位置

/humanoid_controller/optimizedState_mrt/joint_pos:从mpc(mrt)取得的关节位置

/humanoid_controller/optimizedInput_mrt/force_*:从mpc(mrt)取得的第x个接触点的接触力

/humanoid_controller/optimizedInput_mrt/joint_vel:从mpc(mrt)取得的关节期望速度

/humanoid_controller/optimized_mode: mpc给出的mode

/humanoid_controller/swing_leg

/humanoid_controller/wbc_planned_body_acc/angular:wbc优化后的躯干角加速度

/humanoid_controller/wbc_planned_body_acc/linear:wbc优化后的躯干线性加速度

/humanoid_controller/wbc_planned_contact_force/left_foot:wbc优化后的左脚所有接触点的接触力

/humanoid_controller/wbc_planned_contact_force/right_foot:wbc优化后的右脚所有接触点的接触力

/humanoid_controller/wbc_planned_joint_acc:wbc优化后的关节加速度

/humanoidmpc**

ocs2源码中mpc交互的相关话题.

/humanoid_mpc_gait_time_name: 步态的时间和名字

/humanoid_mpc_mode_scale:步态的缩放比例,用于控制步频

/humanoid_mpc_mode_schedule:步态序列

/humanoid_mpc_observation:观测,mpc端接收

/humanoid_mpc_policy:mpc计算的结果

/humanoid_mpc_target:发送给mpc的期望状态

/joint_cmd

用于控制机器人

  • control_modes: 每一个关节对应的控制模式
  • header:时间戳等信息
  • joint_q:关节角
  • joint_v:关节速度
  • tau:关节扭矩
  • tau_max:最大关节扭矩
  • tau_ratio:扭矩系数

/monitor

监控mpc,wbc等模块的频率(Hz)与耗时(ms)

/sensor_data_raw

实物机器人, 仿真器发布的传感器原始数据

/state_estimate

/state_estimate/end_effector/contact_point_*/feet_height:第x个接触点的"足端高度"

/state_estimate/end_effector/contact_point_*/pos:第x个接触点的位置

/state_estimate/end_effector/contact_point_*/vel:第x个接触点的速度

/state_estimate/mode:估计的步态mode

/state_estimate/base/linear_vel:估计的躯干线速度,顺序为xyz

/state_estimate/base/pos_xyz:估计的躯干位置,顺序为xyz

/state_estimate/base/angular_vel_zyx:估计的角速度,顺序为zyx

/state_estimate/base/angular_zyx:估计的欧拉角,顺序为zyx(ypr)

/state_estimate/joint/pos:估计的关节位置

/state_estimate/joint/vel:估计的关节速度

/tf

tf树

/odom

用于可视化,无需关注

/pose

由状态估计器发布,无需关注