Introduction

Stack-specific notes. Concrete names come from repository READMEs / launch / xacro — not a generic ROS 2 textbook.

Topics Covered

  • Terminology — 驱动层 ↔ Hardware Interface; 分体 / 全身; 夹爪 / 灵巧手; mock_components / isaac / gz

  • ros2_control Here — hardware:= → ros2_control_hardware_type; Acone plugin table (运控: controller vs hardware interface)

  • Workspace Layout — open-deploy-ws tree and ./init_repo.sh

  • Naming Conventions — Launch robot:= selects the description (not type); platform chassis / arms / variant; EEF type / left_type / right_type (not gripper:=); hardware values

  • FSM and Topics — std_msgs/Int32 /fsm_command (3 = OCS2 on mixed stacks; MOVEJ = 4); Topic vs Action vs Service; WBC body/head + /mode_command

  • 分体控制 vs 全身控制 — split_body (OCS2 Arm + Basic Joint) vs full_body (OCS2 WBC)

  • Source vs Deb — GitHub Release .deb vs source via ./init_repo.sh

  • Submodules Visibility — parent|path|public|private and init