High-resolution raw Radar data, along with it’s nanosecond timing detail, is now published as a dedicated ROS node, along with a configurable laser scan topic, two variants of pointcloud topics, and a 2D image representation of the raw radar data. Below these illustrations presenting radar data through the ROS visualisation tool RVIZ, there is a detailed summary of the ROS2 implementation provided by Navtech Radar, which is available for download at https://bitbucket.org/navtechradar/iasdk-public/src/master/ros/ros2/.
Info |
---|
Quick link to install instructions for ROS2 drivers in Ubuntu 2022: Link |
...
Navtech ROS2 Examples
The Navtech ROS2 Driver repository contains examples of ROS2 publishers and subscribers, which interface with RTSP cameras and Navtech Radar. Both basic and complete examples are provided which allow simple publishing of data, simple subscribing to data, and also immediate viewing of radar/camera data, using the ROS2 visualisation tool, RVIZ. The Navtech ROS2 driver is dependent on the Navtech SDK.
...
In short - the above command removes a piece of code which is looking for something (renameat2 system call) that does not exist in kernels < 3.15
...
# Debian package build instructions for Navtech ROS2 SDK
## Install the protobuf compiler
Code Block |
---|
sudo apt install protobuf-compiler |
## Install the build tools
Code Block |
---|
sudo apt install python3-bloom python3-rosdep fakeroot debhelper dh-python
rosdep init
rosdep update |
## Build and install the ROS packages
Code Block |
---|
cd iasdk/ros/ros2
colcon build
. install/setup.bash |
## Create YAML to point towards custom ROS packages
Create a yaml file (in the workspace containing the packages, for example) specifying the local packages. Example of yaml content:
(Add an entry for all required packages)
nav_messages:
ubuntu: [nav-messages]
## Create a file in the rosdep sources folder
Code Block |
---|
sudo nano /etc/ros/rosdep/sources.list.d/10-local.list |
Add to this file the absolute path of the .yaml file created earlier. Example:
yaml file:///absolute_path_to_local_rosdep_file_list.yaml
## Update the ros dependencies
Code Block |
---|
rosdep update |
## Check if the new rosdep packages lists are being correctly found using:
Code Block |
---|
rosdep resolve package_name |
## Now build the debian packages
Code Block |
---|
cd ~/iasdk-public/ros/ros2/src/nav_messages
bloom-generate rosdebian --os-name ubuntu --ros-distro humble
cd ~/iasdk-public/ros/ros2/src/nav_messages/debian |
Edit the file "control" and change package name from ros-humble-nav-messages to nav-messages
Code Block |
---|
run fakeroot debian/rules binary |
This should build a .deb package called nav_messages, in iasdk-public/ros/ros2/src
cd to the next ros2 package root and repeat the above steps
# Install debian packages and check ROS can find them
Note - nav_messages package must be installed first, and nav_launch package must be installed after nav_camera and nav_radar.
This is due to packages being dependent on other pacakges
Code Block |
---|
sudo dpkg -i nav-messages_1.0.0-0jammy_amd64.deb |
Repeat the above for all Navtech ROS packages that you require
## Check ROS can find an installed package
Code Block |
---|
ros2 pkg prefix nav_messages |
The above should show the location of the installed package. Example: /opt/ros/humble