分体控制 vs 全身控制¶
Two real launch paths in ocs2_arm_controller, also offered as split body / full body in the open-deploy-ws arx-lift2s README.
分体控制 (split) |
全身控制 (whole-body) |
|
|---|---|---|
Meaning |
Arms and body/head (and typically hands) run as separate controllers |
One unified whole-body MPC controller |
Arm / body |
ocs2_arm_controller + basic_joint_controller ( |
ocs2_wbc_controller using |
Launch |
|
|
Lift2S menu |
|
same menu → full body |
split_body.launch.py is the split (分体) path. Whole-body control uses full_body.launch.py (there is no public standalone ros2 launch ocs2_wbc_controller … entry).
Packages¶
Basic Joint Controller (
basic_joint_controller) — joint FSM HOME / HOLD / MOVEJ;/fsm_commandisstd_msgs/Int32. How-to: Use Basic Joint Controller.OCS2 Arm Controller (
ocs2_arm_controller) — arm MPC FSM HOME / OCS2 / HOLD (package README).OCS2 WBC Controller (
ocs2_wbc_controller) — private submodule; 全身 MPC. States and topics are in that package README after access.
FSM command values, Action / Service tables, and WBC Cartesian topics: FSM and Topics. Controllers index: Controllers reference.
/body_target*, /head_target*, /mode_command, and WbcCurrentState need ocs2_wbc_controller and that robot’s 全身 launch/config. Default mock demos (demo.launch.py) and 分体 do not imply those features are present; capability bits are machine-dependent. Public Taku mock uses split_body.launch.py robot:=taku; full_body.launch.py robot:=taku still needs the private ocs2_wbc_controller submodule (shipping config/ocs2/fixed_base_tcp.info is not enough).