ROS 2 driver for smartmicro radars

A couple of days ago we released a new ROS 2 driver for the smartmicro radars: GitHub - smartmicro/smartmicro_ros2_radars: ROS2 support for smartmicro radars.

file

Video courtesy of Virtual Vehicle Research GmbH. It shows data from 4 short range smartmicro UMRR-96 Type 153 radars (white, blue, orange and pink circles) and 2 smartmicro UMRR-11 Type 132 Automotive long range radars (green circles in front and in the back of the car) overlayed over a LiDAR scan for clarity.

The driver can process and re-publish data from up to 10 UMRR-96 automotive radars simultaneously. All data is being advertised on separate ROS 2 topics as a standard PointCloud2 message which allows the driver to be instantly used within any system using ROS 2 without the need of extending that system to work with new message types.

Usually setting up a new radar driver can be cumbersome as different vendors have their own manual configuration procedure. There can be environment variables that must be set before building and running the code as well as various configuration files that must be correctly filled by the user in order to configure the sensors correctly and even to link to the correct underlying library. With this in mind, we made the setup process as easy as specifying the ROS 2 node parameters in a standard way through a yaml parameter file and launching the corresponding node. Internally, we interface with the Smart Access C++ API, provided by smartmicro, which interfaces directly with the sensors. All of the API-specific configuration, such as setting the correct paths to the correct configuration files and setting required environment variables is taken care of by the ROS 2 driver itself, so the user does not need to learn configuration procedures specific to the Smart Access API itself. Below we show an example of a typical ROS 2 parameter file that configures the driver to work with two sensors:

/**:
  ros__parameters:
     master_client_id: 1
     hw_dev_id: 2
     hw_port: 55555
     hw_iface_name: "eth0"
     sensors:
         sensor_0:
             id: 3
             ip: "172.22.10.101"
             port: 55555
             iface_name: "eth0"
             frame_id: "umrr"
             history_size: 10
         sensor_1:
             id: 4
             ip: "172.22.10.102"
             port: 55555
             iface_name: "eth0"
             frame_id: "umrr"
             history_size: 10

Find more in our article: https://www.apex.ai/post/ros-2-users-now-an-easy-to-use-driver-for-smartmicro-s-radar-for-automotive-and-delivery-robots

9 Likes