{"id":21390746,"url":"https://github.com/interpause/isaac_ros-dev","last_synced_at":"2026-07-11T19:31:38.534Z","repository":{"id":206131433,"uuid":"715912030","full_name":"Interpause/isaac_ros-dev","owner":"Interpause","description":null,"archived":false,"fork":false,"pushed_at":"2023-11-13T14:03:50.000Z","size":10,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-23T01:08:48.480Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Interpause.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-11-08T04:40:16.000Z","updated_at":"2023-11-08T04:40:22.000Z","dependencies_parsed_at":"2023-11-13T15:27:13.377Z","dependency_job_id":"71ff4f07-8d12-4c21-97b6-7ea106c96090","html_url":"https://github.com/Interpause/isaac_ros-dev","commit_stats":null,"previous_names":["interpause/isaac_ros-dev"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interpause%2Fisaac_ros-dev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interpause%2Fisaac_ros-dev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interpause%2Fisaac_ros-dev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Interpause%2Fisaac_ros-dev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Interpause","download_url":"https://codeload.github.com/Interpause/isaac_ros-dev/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243871914,"owners_count":20361380,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":[],"created_at":"2024-11-22T13:19:35.532Z","updated_at":"2025-10-24T09:25:13.803Z","avatar_url":"https://github.com/Interpause.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Help\n\nAll in separate windows. Note `./activate.sh` has to be used in each shell first.\n\n~`ros-humble-image-proc` (used for resize) has a bug, update:~ nvm added to layer.\n\n```sh\n# Ignore this, alr fixed.\nsudo apt install ros-humble-image-proc\n# Note: With everything else as constant variables, this is the only factor between it working \u0026 not.\n```\n\nCamera node:\n\n```sh\nros2 run usb_cam usb_cam_node_exe --ros-args -r /image_raw:=/image_cam -p brightness:=100\n# WSL2: usbipd hangs if camera bandwidth is too large.\nros2 run usb_cam usb_cam_node_exe --ros-args -r /image_raw:=/image_cam -p framerate:=10.0 -p pixel_format:=mjpeg2rgb -p brightness:=100\n```\n\nContainer for nodelets:\n\n```sh\nros2 run rclcpp_components component_container\n```\n\nLoad ResizeNode into above container:\n\n```sh\nros2 component load /ComponentManager image_proc image_proc::ResizeNode -r /image:=/image_cam -r /resize:=/image -p use_scale:=false -p height:=640 -p width:=640\n```\n\nBuild packages:\n\n```sh\n# --symlink-install is bad cause it breaks when the container is rebuilt.\ncolcon build\n```\n\nStart YOLOv8 node:\n\n```sh\nros2 launch isaac_ros_yolov8 isaac_ros_yolov8_visualize.launch.py model_file_path:=/workspaces/isaac_ros-dev/models/yolov8s.onnx engine_file_path:=/workspaces/isaac_ros-dev/models/yolov8s.plan input_binding_names:=['images'] output_binding_names:=['output0'] network_image_width:=640 network_image_height:=640 force_engine_update:=False image_mean:=[0.0,0.0,0.0] image_stddev:=[1.0,1.0,1.0] input_image_width:=640 input_image_height:=640 confidence_threshold:=0.25 nms_threshold:=0.45\n```\n\n## Realsense Attempts\n\nConclusion: Only Approach A works, for some reason. `librealsense2` must be built from source while the camera is connected. The Realsense ROS packages must also be built from source otherwise `apt` will overwrite `librealsense2`. Otherwise, the camera will fail to detect with \"DS5 group_devices is empty.\" even if `lsusb` properly lists the camera. In summary, the Nividia ppl knew what they were doing. Most importantly, the first step in Nvidia's guide to setup udev rules on the host OS is crucial.\n\n### Approach A\n\nFollow \u003chttps://nvidia-isaac-ros.github.io/getting_started/hardware_setup/sensors/realsense_setup.html\u003e.\n\n- Add in additional `.realsense` layer\n  - See \u003chttps://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_common/index.html\u003e for more info regarding adding layers.\n- Requires the camera to be plugged in during building: builds for exact hardware?\n- Setups some udev rules and builds librealsense from source.\n- Also compiles a specific old version of the Realsense ROS2 packages from source, is this still needed?\n\n### Approach B\n\nFollow \u003chttps://github.com/IntelRealSense/realsense-ros\u003e.\n\n- Uses prebuilt librealsense and Realsense ROS2 packages.\n- If this works correctly, it saves time \u0026 hassle.\n\n## Links\n\n- Getting Started: \u003chttps://nvidia-isaac-ros.github.io/getting_started/index.html\u003e\n  - Dev Environment Setup Guide: \u003chttps://nvidia-isaac-ros.github.io/getting_started/dev_env_setup.html\u003e\n  - Jetson \u0026 Camera Sensors Setup Guide: \u003chttps://nvidia-isaac-ros.github.io/getting_started/hardware_setup/index.html\u003e\n\n- Humble Docs:\n  - How to use components missing executable nodes from CLI: \u003chttps://docs.ros.org/en/humble/Tutorials/Intermediate/Composition.html\u003e\n  - Params \u0026 remapping: \u003chttps://docs.ros.org/en/humble/How-To-Guides/Node-arguments.html\u003e\n\n- Default camera library: \u003chttps://gitlab.com/boldhearts/ros2_v4l2_camera\u003e\n- Nvidia blog posts: \u003chttps://nvidia-isaac-ros.github.io/blog/index.html\u003e\n\n## Visual SLAM Demo\n\n```sh\nros2 launch isaac_ros_visual_slam isaac_ros_visual_slam_realsense.launch.py\n```\n\nand\n\n```sh\nrviz2 -d isaac_ros_visual_slam/isaac_ros_visual_slam/rviz/realsense.cfg.rviz\n```\n\nThere is an error in the launch file however, see \u003chttps://github.com/NVIDIA-ISAAC-ROS/isaac_ros_visual_slam/issues/113#issuecomment-1801880688\u003e for the fix.\n\n## Using webcam on WSL2\n\n- \u003chttps://github.com/dorssel/usbipd-win\u003e\n- \u003chttps://github.com/Katzeee/Notes/blob/master/Windows/wsl2-using-usb-webcam.md\u003e\n- \u003chttps://agiledevart.github.io/wsl2_usb_camera.txt\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterpause%2Fisaac_ros-dev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterpause%2Fisaac_ros-dev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterpause%2Fisaac_ros-dev/lists"}