This repository provides an example of synchronizing a TM Robot with Isaac Sim. Users can control the TM Robot externally via Moveit using the TM ROS Driver and synchronize its pose to Isaac Sim. Additionally, users can build their own simulation environment based on their specific needs. The provided robot USD serves as a component that can be imported for use.
- TM ROS Driver (Humble)
- Isaac Sim 4.2.0
Install the driver according to the TMflow version of your TM Robot. For example, for TMflow 2:
https://github.com/TechmanRobotInc/tm2_ros2/tree/humble
-
Installation:
TM ROS Driver Installation Guide -
For driver usage and controlling the robot with Moveit, refer to:
TM ROS Driver Usage
-
Install Isaac Sim 4.2.0 according to Nvidia's official hardware requirements and download:
- System Requirements
Installation Guide(Omniverse Launcher will be deprecated and will no longer be available starting October 1, 2025.)- download
If installed via Omniverse Launcher, the default installation path is usually:
~/.local/share/ov/pkg/isaac-sim-4.2.0
- Modify
tmros_setup.sh
to set the correct TM ROS Driver path and Robot IP. - Modify
run_demo.sh
to set your Isaac Sim path, then run:./run_demo.sh
- Modify
tmros_setup.sh
to set the correct TM ROS Driver path. - Run
run_demo_virtual.sh
to launch the virtual robot:./run_demo_virtual.sh
Now, you can control the TM Robot using Moveit and synchronize its pose to Isaac Sim.
You can also synchronize the robot's pose by using OmniGraph nodes to subscribe to Joint States from the /joint_states
topic. For more details, refer to the isaac sim official tutorial:
Add Joint States in UI