{"id":51466420,"url":"https://github.com/hijimasa/isaac-ros2-control-sample","last_synced_at":"2026-07-06T11:33:50.672Z","repository":{"id":175248043,"uuid":"652396945","full_name":"hijimasa/isaac-ros2-control-sample","owner":"hijimasa","description":"This repository provides various utilities (operation with ros2_control, automatic sensor generation and sensor data publishing) for easy use of Isaac Sim.","archived":false,"fork":false,"pushed_at":"2026-01-18T14:02:02.000Z","size":30503,"stargazers_count":103,"open_issues_count":3,"forks_count":8,"subscribers_count":7,"default_branch":"main","last_synced_at":"2026-01-18T21:15:53.250Z","etag":null,"topics":["isaac-sim","ros2","ros2-control","ros2-humble","sensor-simulation"],"latest_commit_sha":null,"homepage":"https://hijimasa.github.io/isaac_ros2_utils/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hijimasa.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-12T01:46:58.000Z","updated_at":"2026-01-18T14:02:05.000Z","dependencies_parsed_at":null,"dependency_job_id":"ce76d410-f71a-4300-b4fd-8b196d90ed4a","html_url":"https://github.com/hijimasa/isaac-ros2-control-sample","commit_stats":null,"previous_names":["hijimasa/isaac-ros2-control-sample"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hijimasa/isaac-ros2-control-sample","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hijimasa%2Fisaac-ros2-control-sample","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hijimasa%2Fisaac-ros2-control-sample/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hijimasa%2Fisaac-ros2-control-sample/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hijimasa%2Fisaac-ros2-control-sample/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hijimasa","download_url":"https://codeload.github.com/hijimasa/isaac-ros2-control-sample/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hijimasa%2Fisaac-ros2-control-sample/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35189713,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["isaac-sim","ros2","ros2-control","ros2-humble","sensor-simulation"],"created_at":"2026-07-06T11:33:50.086Z","updated_at":"2026-07-06T11:33:50.652Z","avatar_url":"https://github.com/hijimasa.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# isaac-ros2-control-sample\n- ros2_control Demo\n  ![ros2_control_demo](figs/shm_movie-2023-06-13_21.52.52.gif)\n- LiDAR output Demo\n  ![lidar_output_demo](figs/shm_movie-2023-08-05_13.14.29.gif)\n- Camera output Demo\n  ![camera_output_demo](figs/shm_movie-2023-08-11_23.57.19.gif)\n- Arm robot Demo\n  ![arm_robot_demo](figs/arm_robot_test.gif)\n\nThis repository shows how to control the robot from ros2_control to make Isaac Sim easier to use.\nImportant packages are \"topic_based_ros2_control\" and \"isaac_ros2_scripts\". \n\"topic_based_ros2_control\" provide hardware_interface class and send the commands from ros2_control to \"isaac_ros2_scripts\".\n\"isaac_ros2_scripts\" is needed bacause Isaac Sim needs specific python environment.\n\"isaac_ros2_scripts\" has the python script to launch and control Isaac Sim.\n\nThe features of this repository are below:\n- This shows how to control a robot on Isaac Sim with ros2_control.\n- This provides a Dockerfile where Isaac Sim and ROS2 Humble can coexist.\n- This currently supports prismatic and rotational joints using position and velocity control.\n- This sends joint status (position, velocity and effort) to ros2_control from Isaac Sim.\n- This launches sensors from URDF description.\n- This spawns URDF model at the desired timing and position.\n- This launchs sensors and controller at the desired timing.\n- This sets stiffness, damping and friction from URDF description.\n\n## Prerequisite\n1. Docker\n1. Isaac Sim Docker Image (Tested using image based on nvcr.io/nvidia/isaac-sim:5.1.0)\n\n## How to use\n1. Install Docker and pull Isaac Sim Docker Image.\n   refer to https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/install_container.html\n\n2. Clone the repo to your ros2 workspace\n   ```bash\n   git clone https://github.com/hijimasa/isaac-ros2-control-sample.git\n   ```\n\n3. Get git submodules\n   ```bash\n   cd isaac-ros2-control-sample\n   git submodule update --init --recursive\n   ```\n\n4. Build a docker image with shell script.\n   ```bash\n   cd docker\n   ./build_docker_image.sh\n   ```\n\n5. Launch a docker container\n   ```bash\n   ./launch_docker.sh\n   ```\n\n6. Build ros2 source codes\n   ```bash\n   colcon build \u0026\u0026 source install/setup.sh\n   ```\n\n7. Launch the package\n\n   7.1. For Mobile Robot\n   - To launch simulator\n   ```bash\n   ros2 run isaac_ros2_scripts launcher\n   ```\n\n   - To spawn robot (another terminal)\n   ```bash\n   docker exec -it isaac-sim /bin/bash\n   ros2 launch isaac_diffbot_sim diffbot_spawn.launch.py\n   ```\n\n   - To launch teleop_twist_keyboard (another terminal)\n   ```bash\n   docker exec -it isaac-sim /bin/bash\n   ros2 run teleop_twist_keyboard teleop_twist_keyboard\n   ```\n   7.2. For Arm Robot\n   - To launch simulator\n   ```bash\n   ros2 run isaac_ros2_scripts launcher\n   ```\n\n   - To spawn robot (another terminal)\n   ```bash\n   docker exec -it isaac-sim /bin/bash\n   ros2 launch franka_moveit_config demo.launch.py \n   ```\n\n\u003e [!NOTE]\n\u003e For the first time, launching Isaac Sim takes a very long time.\n\u003e Isaac Sim must be fully launched to spawn the robot.\n\n## Next\nYou can make URDF for Isaac Sim with [this documentation](https://hijimasa.github.io/isaac_ros2_utils/).\n\n## Bug\n- LaserScan topic do not published when 2D Lidar config file is used.\n- You should uncheck \"Normarize Image\" in your depth topic in RViz2 if you get black depth image.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhijimasa%2Fisaac-ros2-control-sample","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhijimasa%2Fisaac-ros2-control-sample","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhijimasa%2Fisaac-ros2-control-sample/lists"}