VLA collect / train / deploy

For teams that collect motion data (VR or sim), then train and deploy a VLA-style policy. This page is a collection and stack path. Training and policy serving are not documented here yet.

1. Collect with VR teleop

  1. Bring up the robot (mock, sim, or real) from Go to Real Hardware or Run Mock Demo.

  2. VR Teleop — ./run.sh vr or ./run.sh vr-xrt from fa-py-libraries.

  3. Optional bags: the fa-py-libraries README lists ./run.sh vr-record / ./run.sh vr-playback for /teleop/*.

Pico Enterprise vs consumer stays on the VR how-to.

2. Whole-body control with waist

Whole-body here is 全身控制 (full_body.launch.py / Lift 2S full body), not a separate waist-only product.

  1. 分体控制 vs 全身控制 — split_body.launch.py vs full_body.launch.py.

  2. ARX Lift 2S — ./quick_start.sh menu: full body.

  3. ocs2_wbc_controller — private submodule; public loader is full_body.launch.py. Topics and FSM values: that package README after access.

  4. Waist joint commands on the 分体 / Basic Joint Controller side: Basic Joint Controller (waist_lifting_*, waist_turning_command). How-to: Use Basic Joint Controller.

Internal FA wheeled-arm humanoids: fa-deploy-ws Setup after access.

3. Arm force control and load identification

VR teleop uses two compliance paths — pick by robot: VR Teleoperation — Force control and compliance.

  • MIT / force-capable HI — Panthera HT and ARX arms: HT control_mode:=mit, ARX full_control + joint_k_gains / joint_d_gains. Controller MIX: ocs2_arm_controller.

  • Vendor joint impedance — Tianji (天玑) / Rokae (珞石): controller sends position only; HI ctrl_mode JOINT_IMPEDANCE on marvin-ros2-control.

Payload identification (负载辨识) is on the Tianji / Rokae path only. Public wizard: ros2 run marvin_ros2_control tool_dyn_identify_wizard. Internal on-site flow: fa-deploy-ws Setup README after access.

Isomorphic HT mode:=mit / effort is a different page: Isomorphic Teleop.

4. Sim collection (optional)

Isaac USD → interface → composer → LeRobot record/export (not training): Synthetic Data.

LeRobot Record and Export stops at the dataset on disk.

Not in this docs set yet

  • VLA training (optimizer, dataset mix, checkpoint format)

  • VLA deploy / inference on the robot (policy node, runtime flags)

When those land, they should get their own How-To. Until then, collect with the paths above and keep training in the project that owns the model.