-
Notifications
You must be signed in to change notification settings - Fork 10
Add realsense docker module and include examples #99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
- Add install_realsense.sh under docker_modules/ - Update Dockerfile and compose.yaml to let user decide installation via ARG REALSENSE
…space - Add turtlebot3_burger.urdf and model.sdf with realsense camera link - Add realsense_desp.launch.py
- Add realsense gazebo.launch.py to spawn turtlebot3 burger with realsense in gazebo - Add rviz configuration for realsense visualization
- Add realsense_gazebo_plugin package for Gazebo simulation of RealSense cameras. - Add realsense_ros package for ROS integration with RealSense cameras.
- Add realsense.md in docs/docker-modules/ - Fix install_realsense.sh permissions to be executable
- add rviz_config variable to specify the path to the rviz config file
- update rviz node arguments to use the rviz_config variable instead of hardcoded path
- Adjusted the pose of the Realsense D435 camera in both the SDF and URDF files to ensure correct orientation and positioning on the TurtleBot3 Burger model.
- added installation of ros-${ROS_DISTRO}-launch-pytest and python3-tqdm in docker_modules/install_realsense.sh
|
Important Review skippedToo many files! 31 files out of 181 files are above the max files limit of 150. You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
YuZhong-Chen
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is my first time doing a full PR review. If anything is unclear, please don't hesitate to let me know!
Also, please follow the PR guidelines when submitting changes:
Attribution: If you're copying code from elsewhere, please include the source link in the commit message or comments (or both).Atomic Commits: If you need to modify copied code, please split the copy and the modifications into separate commits. This makes the review process much easier for us.Credit: If this commit was done collaboratively or you want to give credit, remember to add aCo-authored-bytag.
| <sdf version="1.4">model-1_4.sdf</sdf> | ||
| <sdf version="1.5">model.sdf</sdf> | ||
|
|
||
| <author> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It looks like these models were copied from another repo. Could you include the source link in the commit message? It’ll really help us track down the origin later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned earlier, please include the source link if this is copied from another repo. Also, if modifications are needed, please split the copy and the modifications into separate commits.
| # Other nodes | ||
|
|
||
| # RViz | ||
| rviz_config = PathJoinSubstitution([FindPackageShare("realsense_gazebo"), "rviz", "realsense.rviz"]) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If you intend to load the RViz config this way, please make sure to install the rviz folder (e.g., in CMakeLists.txt). Otherwise, it won't be able to open by default.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Side note: this commit looks like a good candidate for a Co-authored-by tag.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same issue here. Please provide the source link for this .dae file.
| ros-humble-realsense2-* \ | ||
| ros-${ROS_DISTRO}-turtlebot3* \ | ||
| ros-${ROS_DISTRO}-rqt-robot-steering \ | ||
| ros-${ROS_DISTRO}-launch-pytest \ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not entirely sure what's going wrong, but adding this line seems to break the Docker build (it says the package can't be found). Theoretically, it should be able to locate it, so I'm a bit puzzled here. Ref
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also, could you clarify why these files need to be installed? I tried removing them locally, and the workspace seems to work just fine without them.
| # Mount root workspace to allow easy access to all workspaces. | ||
| - ../..:/home/ros2-essentials | ||
| # Add device cgroup rules to allow access to specific devices (like realsense). | ||
| # Ref: https://github.com/2b-t/realsense-ros2-docker |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding reference docs here feels a bit out of place. It might be better to make this a standalone commit or include it in another one.
|
Self-note: Isaac Sim actually provides a USD asset for RealSense, so we can plan to support Isaac Sim in the future. I've used it in other repo before, so it should be pretty straightforward. |
|
Even though the cache should already be created (since I've launched |
|
If the package is available via user@yuzhong-desktop:/home/ros2-essentials/template_ws$ colcon build --symlink-install
[0.153s] WARNING:colcon.colcon_core.package_selection:Some selected packages are already built in one or more underlay workspaces:
'realsense2_camera' is in: /home/ros2-essentials/template_ws/install/realsense2_camera, /opt/ros/humble
If a package in a merged underlay workspace is overridden and it installs headers, then all packages in the overlay must sort their include directories by workspace order. Failure to do so may result in build failures or undefined behavior at run time.
If the overridden package is used by another package in any underlay, then the overriding package in the overlay must be API and ABI compatible or undefined behavior at run time may occur.
If you understand the risks and want to override a package anyways, add the following to the command line:
--allow-overriding realsense2_camera |
|
I haven't had a chance to run this on a physical RealSense camera yet. I'll probably wait until these comments are fixed to do a full test, but I might jump in earlier if time permits. |
Summary of PR
install_realsense.shindocker_modulesrealsense_examplesintemplate_wsrealsense_despfor adding realsense d435 camera model on turtlebotrealsense_gazebofor launching the robot and camera in gazeborealsense_gazebo_pluginandrealsense_rosinrealsense_pkgrealsense_gazebo_plugin: bridges the simulated camera data to ROS2 topicsrealsense_ros: official ROS 2 wrapper for Intel RealSense, used for interfacing with physical camera hardware in real-world applicationsrealsense.mdindocs/docker-modulesRelated commit
closed: #91