Repository Summary
Checkout URI | https://github.com/stereolabs/zed-ros2-interfaces.git |
VCS Type | git |
VCS Version | humble |
Last Updated | 2024-12-06 |
Dev Status | MAINTAINED |
CI status | No Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
Packages
Name | Version |
---|---|
zed_msgs | 4.2.2 |
README
<br \> ROS 2 Interfaces
The zed-ros2-interfaces
repository installs the zed_msgs
ROS2 package which defines the custom topics, services, and actions used by the packages defined in the repositories ZED ROS2 Wrapper and ZED ROS2 Examples.
Note: This package does not require CUDA and can be used to receive ZED data on ROS 2 machines without an NVIDIA GPU.
Install the package from the binaries for ROS 2 Humble
The package zed_msgs
is available in binary format in the official Humble repository.
sudo apt install ros-humble-zed-msgs
Install the package from the source code
You can install the zed_msgs
package from the source code to obtain the latest updates or for distributions other than Humble (e.g. ROS 2 Foxy).
Build the repository
Dependencies
The zed_msgs
is a colcon package. It depends on the following ROS 2 packages:
- ament_cmake_auto
- builtin_interfaces
- std_msgs
- geometry_msgs
- shape_msgs
- rosidl_default_generators
- rosidl_default_runtime
- ament_lint_auto
- ament_cmake_copyright
- ament_cmake_cppcheck
- ament_cmake_lint_cmake
- ament_cmake_pep257
- ament_cmake_uncrustify
- ament_cmake_xmllint
Clone and build
Open a terminal, clone the repository, update the dependencies, and build the packages:
cd ~/catkin_ws/src
git clone https://github.com/stereolabs/zed-ros2-interfaces.git
cd ../
sudo apt update
rosdep update
rosdep install --from-paths src --ignore-src -r -y
colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
echo source $(pwd)/install/local_setup.bash >> ~/.bashrc
source ~/.bashrc
:pushpin: Note: If the command
rosdep
is missing, you can install it using the following method:
sudo apt-get install python-rosdep python-rosinstall-generator python-vcstool python-rosinstall build-essential
:pushpin: Note: The option
--symlink-install
is important, it allows using symlinks instead of copying files to the ROS2 folders during the installation, where possible. Each package in ROS2 must be installed and all the files used by the > nodes must be copied into the installation folders. Using symlinks allows you to modify them in your workspace, reflecting the modification during the next executions without the needing to issue a new colcon build command. This is true only for > all the files that don’t need to be compiled (Python scripts, configurations, etc.).
:pushpin: Note: If you are using a different console interface like
zsh
, you have to change thesource
command as follows:echo source $(pwd)/install/local_setup.zsh >> ~/.zshrc and source ~/.zshrc
.
Custom Topics
- BoundingBox2Df
- BoundingBox2Di
- BoundingBox3D
- DepthInfoStamped
- GnssFusionStatus
- Heartbeat
- Keypoint2Df
- Keypoint2Di
- Keypoint3D
- MagHeadingStatus
- Object
- ObjectsStamped
- PlaneStamped
- PosTrackStatus
- Skeleton2D
- Skeleton3D
You can get more information by reading the Stereolabs online documentation
Custom Services
You can get more information by reading the Stereolabs online documentation
3D meshes for RVIZ rendering
CONTRIBUTING
Submitting your code changes
Code contributions should be made via pull requests to the appropriate repositories:
We ask all contributors to follow the practices explained in ROS2 documentation.
Before submitting a pull request please perform this list of tasks from the root of your ROS2 workspace:
-
Automatic code formatting:
$ ament_uncrustify --reformat src
-
Build the packages to check for compile errors:
$ colcon build --symlink-install --cmake-args=-DCMAKE_BUILD_TYPE=Release
-
Perform the automatic build tests:
$ colcon test
-
Analyze and solve eventually reported errors:
$ colcon test-result --verbose
-
Repeat steps (1) -> (4) until all reported formatting errors have been resolved.
License
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
Contributors must sign-off each commit by adding a Signed-off-by: ...
line to commit messages to certify that they have the right to submit
the code they are contributing to the project according to the
Developer Certificate of Origin (DCO).