ROS2

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/.

 

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.

Please see lower level README.md files, for more specific information on the ROS project folders.

C++ 17

The ROS2 folder contains the ROS2 project files, for the publishers and subscribers, as detailed above.

  • C++17 Compiler
    Install with the following commands:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt install gcc-9 gcc-9-base gcc-9-doc g++-9 sudo apt install libstdc++-9-dev libstdc++-9-doc
  • GCC 9.x and above
    Install with the following commands:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-9
  • Clang 10 and above
    Install with the following command:

sudo apt-get install clang-10

Linux Requirements

To use the shell scripts provided in the 'utility scripts' folder we require bash on Ubuntu. First you must execute:

ROS2 Requirements

As above and:
ROS2 Galactic Geoclone - CPP and Python bindings
Installation instructions can be found here: https://docs.ros.org/en/galactic/Installation/Ubuntu-Install-Binary.html

Python Requirements

Python3.0+

Numpy 1.17.4
This can be installed with the following command:

OpenCV Requirements

OpenCV 4.5.3 - CPP and Python bindings
Installation instructions here: https://www.linuxfromscratch.org/blfs/view/svn/general/opencv.html

FFMPEG Requirements

ffmpeg version 4.2.4-1ubuntu0.1
- Can be installed with the following command:

License

The ROS2 driver which is released under The MIT License (MIT).
See https://opensource.org/licenses/MIT for full license details.

ROS2 Packages

To use ROS commands, ROS2 must first be sourced using:

Note - this must be done in every new terminal
Alternatively, make this permanent by adding to your bash file:

This will source ROS for every newly opened terminal window

All ROS2 packages must be built and installed before being run
Build with:

Install with:

Packages can be run like so:

For example:

Packages can be run with their corresponding parameter files like so:

For example:

camera_ros

Contains examples of publishers and subscribers to handle the connection to, and delivery of data from, an RTSP video stream.

See the README.md under 'camera_ros', for more detailed instructions

launch_ros

Contains examples of launch files which can be used with the ROS2 Navtech driver.

See the README.md under 'launch_ros', for more detailed instructions

messages

Contains the custom message types used within the ROS2 Navtech driver.

See the README.md under 'messages', for more detailed instructions

Contains examples of publishers and subscribers to handle the connection to, and delivery of data from, an Navtech radar.

See the README.md under 'nav_ros', for more detailed instructions

ROS2 Example install procedure

Update Ubuntu 20.04

Install IASDK prerequisites

Install ROS2 prerequisites

Install ROS2

Check install by running examples

check that the talker and listener are connected

Install OpenCV

Check OpenCV is installed

check that version >=4.5.3 is reported

check that version >=4.5.3 is reported

Install the Navtech Radar IASDK

Install Colcon (the ROS2 build tool)

Check the above command does not produce any errors

Build the ROS2 IASDK pacakges

Common errors and solutions

Ros executables cannot be found after build and execution attempt

Run the following to source the newly build executables

Unable to launch RVIZ due to missing library (libQt5Core.so.5)

Run the following to source the newly build executables

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