Skip to content

Add Isaac Sim integration for Unitree Go1#86

Open
kawtharzaidan95-max wants to merge 1 commit into
qiayuanl:masterfrom
kawtharzaidan95-max:isaac-sim-integration
Open

Add Isaac Sim integration for Unitree Go1#86
kawtharzaidan95-max wants to merge 1 commit into
qiayuanl:masterfrom
kawtharzaidan95-max:isaac-sim-integration

Conversation

@kawtharzaidan95-max

Copy link
Copy Markdown

Summary

This PR adds Isaac Sim 5.1 support for the Unitree Go1 to the existing
legged_control framework.

The integration connects:

  • Isaac Sim and its ROS 2 Humble bridge
  • A host ROS 2 TCP socket bridge
  • ROS 1 Noetic running inside Docker
  • The existing NMPC/WBC legged controller

Main additions

  • ROS 1 isaac_legged_hw hardware-interface package
  • ROS 1 and ROS 2 socket bridges
  • Isaac Sim torque and sensor bridge
  • Go1 Isaac USD stage
  • Docker-compatible stack launcher
  • Isaac-specific controller configuration
  • Contact-mode conversion and optional velocity-command filter
  • Complete installation, startup, troubleshooting, and safety documentation

Startup

The ROS and controller stack can be started with:

./isaac_sim/start_isaac_legged_stack.sh

Isaac Sim can then be launched with:

./isaac_sim/run_isaac_sim.sh

The controller must be running before starting the Isaac timeline to prevent
the robot from initially receiving zero torque.

See docs/isaac/README.md for the full procedure.

## Validation

Tested with:

- Isaac Sim 5.1
- ROS 2 Humble on the host
- ROS 1 Noetic inside Docker
- Unitree Go1
- Cheater state estimator/controller

Validation results:

- All 12 Go1 joints mapped correctly
- ROS 2 to ROS 1 socket communication operational
- ROS 1 joint-state rate approximately 231 Hz
- Controller remained in the running state
- A 0.05 m/s trot command moved the robot approximately 0.12 m in 3 seconds
- The robot stopped and remained upright after publishing a zero command
- Base height stabilized at approximately 0.30 m

## Checks completed

- C++ packages built successfully in Docker
- ROS launch files parsed successfully
- Python scripts compiled successfully
- Shell scripts passed syntax checks
- Full Isaac Sim GUI motion test completed
- Machine-specific USD lidar reference removed

## Notes

The included USD stage references NVIDIA Isaac Sim 5.1 assets. Those assets
must be accessible through Isaac Sim and remain subject to NVIDIA's licensing
terms.

This integration uses the cheater controller and simulation torque settings.
It is intended for simulation and must not be connected directly to physical
hardware.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant