Controllers Reference

ROS 2 controllers in arms_ros2_control.

分体控制 vs 全身控制

Mode

Controllers

Launch

分体控制 (Split Body)

Arm MPC: OCS2 Arm Controller (ocs2_arm_controller). Body / head / 灵巧手: Basic Joint Controller (basic_joint_controller)

ocs2_arm_controller split_body.launch.py (launch_mode split_body)

全身控制 (Full Body)

Unified OCS2 WBC Controller (ocs2_wbc_controller, ocs2_wheel_humanoid)

ocs2_arm_controller full_body.launch.py (launch_mode full_body)

Concepts: 分体控制 vs 全身控制. How-to: Use Basic Joint Controller. /fsm_command is std_msgs/Int32; Action / Service types and WBC body/head topics: FSM and Topics. Msg / srv / action definitions: arms_ros2_control_msgs README. End-effectors on OCS2 launches: type / left_type / right_type from robot_common_launch.

In This Section

Quick Reference

Controller

Purpose

Visibility

Basic Joint Controller

Joint FSM (HOME / HOLD / MOVEJ); body/head/灵巧手 in 分体控制 (basic_joint_controller)

Public

ocs2_ros2

MPC library

External

OCS2 Arm Controller

Arm MPC; 分体控制 with Basic Joint (ocs2_arm_controller)

Public

OCS2 WBC Controller

全身控制 (ocs2_wbc_controller)

Private

ocs2-humanoid

ocs2_wheel_humanoid library

Private

lina_planning

Trajectory primitives

Private

Adaptive Gripper Controller

夹爪 (adaptive_gripper_controller, three channels + force feedback); arms_target_manager Cartesian topics

Public

ROS 2 parameters

Per-controller param tables; Startup vs Runtime

Public