A hands-on guide to collecting data, training policies, and deploying autonomous medical robotics workflows on real hardware
Simulation has been a cornerstone in medical imaging to address the data gap. However, in healthcare robotics until now, it's often been too slow, siloed, or difficult to translate into real-world systems. That’s now changing. With new advances in GPU-accelerated simulation and digital twins, developers can design, test, and validate robotic workflows entirely in virtual environments - reducing prototyping time from months to days, improving model accuracy, and enabling safer, faster innovation before a single device reaches the operating room.
In this post, we'll walk through the starter workflow and its technical implementation details to help you build a surgical assistant robot in less time than ever imaginable before.
The SO-ARM starter workflow introduces a new way to explore surgical assistance tasks, and provides developers with a complete end-to-end pipeline for autonomous surgical assistance:
Collect real-world and synthetic data with SO-ARM using LeRobot
Post-train GR00T N1.5, evaluate in Isaac Lab, then deploy to hardware
This workflow gives developers a safe, repeatable environment to train and refine assistive skills before moving into the Operating Room.
The workflow implements a three-stage pipeline that integrates simulation and real hardware:
Data Collection: Mixed simulation and real-world teleoperation demonstrations using SO-101 and LeRobot
Model Training: Post-training GR00T N1.5 on combined datasets with dual-camera vision
Policy Deployment: Real-time inference on physical hardware with RTI DDS communication
Notably, over 93% of the data used for policy training was generated synthetically in simulation, underscoring the strength of simulation in bridging the robotic data gap.
The workflow combines simulation and real-world data to address the fundamental challenge that training robots in the real world is expensive and limited, while pure simulation often fails to capture real-world complexities. The approach uses approximately 70 simulation episodes for diverse scenarios and environmental variations, combined with 10-20 real-world episodes for authenticity and grounding. This mixed training creates policies that generalize beyond either domain alone.
The workflow requires:
GPU: RT Core-enabled architecture (Ampere or later) with ≥30GB VRAM for GR00T N1.5 inference
SO-ARM101 Follower: 6-DOF precision manipulator with dual-camera vision (wrist and room). The SO-ARM101 features WOWROBO vision components, including a wrist-mounted camera with a 3D-printed adapter.
SO-ARM101 Leader: 6-DOF Teleoperation interface for expert demonstration collection
Notably, developers could run all the simulation, training and deployment (3 computers needed for physical AI) on one DGX Spark.
For real-world data collection with SO-ARM101 hardware or any other version supported in LeRobot:
python /path/to/lerobot-record \
--robot.type=so101_follower \
--robot.port=<follower_port_id> \
--robot.cameras="{wrist: {type: opencv, index_or_path: 0, width: 640, height: 480, fps: 30}, room: {type: opencv, index_or_path: 2, width: 640, height: 480, fps: 30}}" \
--robot.id=so101_follower_arm \
--teleop.type=so101_leader \
--teleop.port=<leader_port_id> \
--teleop.id=so101_leader_arm \
--dataset.repo_id=<user>/surgical_assistance/surgical_assistance \
--dataset.num_episodes=15 \
--dataset.single_task="Prepare and hand surgical instruments to surgeon"For simulation-based data collection:
# With keyboard teleoperation
python -m simulation.environments.teleoperation_record \
--enable_cameras \
--record \
--dataset_path=/path/to/save/dataset.hdf5 \
--teleop_device=keyboard
# With SO-ARM101 leader arm
python -m simulation.environments.teleoperation_record \
--port=<your_leader_arm_port_id> \
--enable_cameras \
--record \
--dataset_path=/path/to/save/dataset.hdf5For users without physical SO-ARM101 hardware, the workflow provides keyboard-based teleoperation with the following joint controls:
Joint 1 (shoulder_pan): Q (+) / U (-)
Joint 2 (shoulder_lift): W (+) / I (-)
Joint 3 (elbow_flex): E (+) / O (-)
Joint 4 (wrist_flex): A (+) / J (-)
Joint 5 (wrist_roll): S (+) / K (-)
Joint 6 (gripper): D (+) / L (-)
R Key: Reset recording environment
N Key: Mark episode as successful
After collecting both simulation and real-world data, convert and combine datasets for training:
# Convert simulation data to LeRobot format
python -m training.hdf5_to_lerobot \
--repo_id=surgical_assistance_dataset \
--hdf5_path=/path/to/your/sim_dataset.hdf5 \
--task_description="Autonomous surgical instrument handling and preparation"
# Post-train GR00T N1.5 on mixed dataset
python -m training.gr00t_n1_5.train \
--dataset_path /path/to/your/surgical_assistance_dataset \
--output_dir /path/to/surgical_checkpoints \
--data_config so100_dualcam The trained model processes natural language instructions such as "Prepare the scalpel for the surgeon" or "Hand me the forceps" and executes the corresponding robotic actions. With the latest LeRobot release (v0.4.0) you will be able to post-train GR00T N1.5 natively in LeRobot!
Simulation is most powerful when it's part of a loop: collect data → train → evaluate → deploy. Isaac Lab supports this full pipeline:
Teleoperate robots using keyboard or hardware controllers
Capture multi-camera observations, robot states, and actions
Create diverse datasets with edge cases impossible to collect safely in real environments
Deep integration with Isaac Lab's RL framework for PPO training
Parallel environments (thousands of simulations simultaneously)
Built-in trajectory analysis and success metrics
Statistical validation across varied scenarios
Automatic optimization for production deployment
Support for dynamic shapes and multi-camera inference
Benchmarking tools to verify real-time performance
This reduces time from experiment to deployment and makes sim-to-real a practical part of daily development.
Isaac for Healthcare SO-ARM Starter Workflow is available now. To get started:
Clone the repository: git clone https://github.com/isaac-for-healthcare/i4h-workflows.git
Choose a workflow: Start with the SO-ARM Starter Workflow for surgical assistance or explore other workflows
Run the setup: Each workflow includes an automated setup script (for example, tools/env_setup_so_arm_starter.sh)
GitHub Repository: Complete workflow implementations
Documentation: Setup and usage guides
GR00T Models: Pre-trained foundation models
Hardware Guides: SO-ARM101 setup instructions
LeRobot Repository: End-to-end robotics learning