TIDUEK9E November   2018  – April 2020

 

  1.   Revision History

Add ROS Packages to Enable mmWave in Processor SDK Linux

The ROS framework is mainly based on the publisher-subscriber model, and in some cases the server-client mode. The ROS framework and libraries support the point cloud, which is also the data output format of the mmWave sensors. In the ROS environment, the consumer of the point cloud is decoupled from the point cloud producer since the data format is well defined.

Due to this modular nature of ROS, it is easy to replace one sensor with another as long as the data format (in this case point cloud) is the same. Therefore, ROS is a good fit for developing robotics applications with the mmWave sensors.

TI developed an mmWave ROS driver [4], and a lab for autonomous robotics with ROS for mmWave [5], with ROS running on a Ubuntu Linux box. In this reference design, the mmWave driver is added as a ROS package in Processor SDK Linux running on the AM57x. The ROS packages for autonomous robotics with mmWave are also added in Processor SDK Linux:

turtlebot_mmwave_launchers ti_mmwave_rospkg turtlebot_bringup turtlebot_description turtlebot_navigation

Below lists the Yocto recipes for integrating the mmWave driver and the autonomous robotics for mmWave in Processor SDK Linux:

├── mmwave-ros-autonomous-robotics_[version].bb ├── mmwave-ros-pkg-master_[version].bb └── serial-ros_0.1.0.bb

Among the recipes above, the serial-ros is to build and install the serial driver for detecting the mmWave EVM. The mmwave-ros-pkg-master is to build the mmWave driver ROS package for interfacing with the mmWave EVM. In the lab for autonomous robotics with ROS for mmWave [5], turtlebot modules are modified for achieving autonomous robotics with the mmWave sensor. In mmwave-ros-autonomous-robotics, these modified modules are reused with a few changes to set up the configuration and scripts to accommodate Processor SDK Linux.

Update to the latest mmWave drivers: to use the latest mmWave SDK or other mmWave EVMs, see Section 3.2.2.1.2