Using D3 mmWave Radar Sensors with Robot Operating System (ROS)

This blog post was originally published by D3. It is reprinted here with the permission of D3.

(Note: This article was written by a human being without the aid of AI, however, at D3 we use AI heavily for robotics and other applications!)

Introduction

Robot Operating System (ROS)is a common open source starting point for many robot applications.  It is a publish/subscribe type system where a multitude of different sensors, actuators and nodes for planning, processing, and control can work together to accomplish expected robot tasks.

ROS runs on Linux, specifically Ubuntu, so it provides a stable and comfortable environment for developers.  It provides a library of tools, drivers, and algorithms that make putting together software for a robot easier.

In this short overview, I’m going to describe how you can leverage mmWave radar sensors from D3 to enhance your robot projects.  We offer off-the-shelf sensors, but we are also ready and willing to customize hardware, software, and algorithms.

Sensors

D3 offers mmWave radar sensors and design services based on Texas Instruments devices and technologies.  We offer sensors in the 60 GHz band and the 77 GHz band.  Robotics typically rely on 60 GHz due to agency compliance rules.  We offer miniature mmWave sensors smaller than an inch cubed, so they are very suitable for even smaller robot platforms.  These sensors can be low power (RS-L6432) or higher power and fidelity (RS-6843AOP).  We also offer larger sensors with higher gain antennas (RS-6843 and other custom boards) that can support greater ranges.  Our sensors are designed as production-intent, so while they are useful for evaluation, they can be ready for deployment as well, including some in IP67 applications.

Connectivity

D3 offers mmWave radar sensors with USB-C and CAN-FD interfaces.  USB-C is useful for fast integration into a PC-like ROS solution.  CAN-FD is useful for larger industrial vehicles.  For our USB-based sensors, a loadable kernel module driver is used for the MaxLinear USB/UART bridge we use in our sensor.  The driver is available from MaxLinear’s website, and D3 provides patches for more recent Linux kernels on our website after your sensor purchase.  The good thing about the USB/UART bridge we use in our sensors is that it supports 3.125 Mbps, the highest UART data rate possible with the TI radar devices.  This is higher than many other USB serial bridges can handle.

Data Available

In a recent article, I described some details about the data you can obtain from this sort of mmWave radar sensor.  The most straightforward data that ROS can use is point cloud data.  You can review my post to see what this looks like, and another example is shown below in a warehouse robotics application. Near points are hot in color, and distant points are cooler.  ROS consumes point cloud data via the ROS driver.  This ROS driver is available from TI, and is very well documented.  Both ROS 1 and ROS 2 are supported.

Robot’s Eye View of a Warehouse with Radar Point Cloud Data Overlay

We have also fused radar tracking data with vision-based AI object recognition to provide not only identification of objects in the scene, but also where they are located and where they are heading. This is shown below. You can see the blue box identifying a person, the telemetry text in white, along with the green box indicating the tracked person’s location and a red vector showing where they are heading.

Another Robot’s Eye View, this time with Object Identification and Radar Tracking Overlay

Radar Chirp Tuning

An important factor for developing a responsive robot is the frame rate of the data stream from the sensor. In the same vein, sensing parameters can be configured to control how many points are delivered in the point cloud and the fidelity of the range, angle, and doppler speed data.

TI’s mmWave radar sensor devices accept chirp configurations via the control port but can also be hard coded to come up delivering data with a fixed chirp configuration, or even multiple chirp types using subframes. In either event, the frame rate and data fidelity are a function of the loaded chirp configuration.

Getting Started

When you purchase a D3 mmWave radar sensor for use with ROS, you can install the USB/UART Bridge driver, Install ROS (or ROS2), install the TI ROS driver for the sensor, and then begin to develop your robot application. We provide full documentation on how to take these steps when you purchase sensors.

D3 can also support you in optimizing detection and tracking parameters, providing custom software for radar sensors, and developing ROS (and non-ROS) algorithms.

For example, we collaborated with TI on an autonomous mobile robot (AMR) demonstration that highlighted the following capabilities:

  1. TI’s powerful but efficient TDA4VM processor with AI for object detection and ROS
  2. TI’s miniature DLP projector to signal the robot’s intentions on the floor in front of the robot
  3. TI’s C2000 motor controllers for real-time control of the robot’s two drive motors
  4. D3’s mmWave sensors for obstacle detection, tracking, and avoidance
  5. D3’s camera modules for 360-degree robot vision
  6. Scuttle Robot versatile robot platforms

D3 developed the hardware and software for the demo, that highlighted inventory scanning and autonomous operation using odometry and April Tag vision-based location.

The TI / D3 Autonomous Mobile Robot roving around a warehouse

Conclusion

I hope you found some interesting ideas in this article. You can contact us to help you get going with industrial robotics projects at [email protected], or comment or connect with me to discuss your ideas.

Tom Mayo
Lead Product Line Manager, D3

Here you’ll find a wealth of practical technical insights and expert advice to help you bring AI and visual intelligence into your products without flying blind.

Contact

Address

1646 N. California Blvd.,
Suite 360
Walnut Creek, CA 94596 USA

Phone
Phone: +1 (925) 954-1411
Scroll to Top