Running ROS with Qualcomm® Robotics RB3 Platform Development Kit (Part 1)

Introduction

This page summarizes the procedure for running one of the ROS (Robot Operating System) sample applications using the Qualcomm® Robotics RB3 Platform development kit. Let's check that ROS works on Qualcomm® Robotics RB3 Platform.

ROS is pre-installed on the Qualcomm® Robotics RB3 Platform development kit. Follow the steps below to build a ROS sample application (simple Publisher and Subscriber for ROS topic communication) and run it on the development kit.

What is ROS (Robot Operating System)?

ROS (Robot Operating System) provides libraries and tools to help software developers create robot applications. Specifically, hardware abstraction, device drivers, libraries, visualization tools, message communication, and packages. Management is provided. ROS is one of the open sources and is licensed under the BSD license.

 

Although the name includes OS, unlike existing OS such as Windows, Linux, and Android, software that controls processes running on existing OS (supports inter-process communication, scheduling, error handling, etc.) is. Software developers can use various frameworks provided by ROS for robot development.

ROS topic communication is an asynchronous way of communicating between nodes (the basic unit of process in ROS). The party sending the message is called the Publisher, and the party receiving the message is called the Subscriber. Since topic communication sends and receives messages continuously, it is used for sending and receiving sensor data.

Download ROS sample application

Download "ros_test.tar" from the Thundercomm website.

click here to download

A file called "ros_test.tar.gz" will be saved to your PC.



(Note): Downloading from the Thundercomm website requires a separate purchase of the Qualcomm® Robotics RB3 Development Kit and account registration on the website. For inquiries regarding the purchase of the development kit and for quotations, please use the link below.

Building the ROS sample application

Application SDK must be installed in advance to build this application.

Related page: Installation of Application SDK for Qualcomm® Robotics RB3 Platform

 

Open a terminal on your Linux PC and execute the following commands in order.

First, extract ros_test.tar.gz.

$ tar zxvf ros_test.tar.gz $ cd ros_test

Make the environment settings necessary for the build.

$ source /usr/local/oecore-x86_64/environment-setup-armv7a-neon-oemllib32-linux-gnueabi
$ export PYTHONPATH=/usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/usr/lib/python2.7/site-packages

Build the "Hello world" included in the ROS sample application.

$ cd ros_test/ros-hello-world-master $ mkdir build ; cd build $ cmake ../hello_world/ '-DCMAKE_PREFIX_PATH=/usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/opt/ros/indigo; /usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/usr' -DCMAKE_INSTALL_PREFIX:PATH=/opt/ros/indigo -DCATKIN_BUILD_BINARY_PACKAGE=ON -DSETUPTOOLS_DEB_LAYOUT=OFF -DCATKIN_ENABLE_TESTING=0 -Wno-dev $ make

Build the "Listener" (Subscriber) included in the ROS sample application.

$ cd ros_test/ros-publisher_subscriber-test $ mkdir build_listener ; cd build_listener $ cmake ../listener/ '-DCMAKE_PREFIX_PATH=/usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/opt/ros/indigo; /usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/usr' -DCMAKE_INSTALL_PREFIX:PATH=/opt/ros/indigo -DCATKIN_BUILD_BINARY_PACKAGE=ON -DSETUPTOOLS_DEB_LAYOUT=OFF -DCATKIN_ENABLE_TESTING=0 -Wno-dev $ make

Build the "Talker" (Publisher) included in the ROS sample application.

$ cd ros_test/ros-publisher_subscriber-test $ mkdir build_talker ; cd build_talker $ cmake ../taker/ '-DCMAKE_PREFIX_PATH=/usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/opt/ros/indigo; /usr/local/oecore-x86_64/sysroots/aarch64-oe-linux/usr' -DCMAKE_INSTALL_PREFIX:PATH=/opt/ros/indigo -DCATKIN_BUILD_BINARY_PACKAGE=ON -DSETUPTOOLS_DEB_LAYOUT=OFF -DCATKIN_ENABLE_TESTING=0 -Wno-dev $ make

Try running the ROS sample application on the development kit

Connect the Linux PC and the Qualcomm® Robotics RB3 development kit with a USB cable, and transfer the completed ROS sample application executable file to the development kit using ADB.

$ adb push ros-hello-world-master/build/devel/lib/hello_world/hello_world /opt/ros/indigo/bin
$ adb push ros-publisher_subscriber-test/build_listener/devel/lib/listener/listener /opt/ros/indigo/bin
$ adb push ros-publisher_subscriber-test/build_talker/devel/lib/talker/talker /opt/ros/indigo/bin

First start "roscore" and then "Listener".

$ adb shell
# cd /opt/ros/indigo/
# bash
bash-4.4# source ./ros-env.sh
bash-4.4# roscore &
bash-4.4# cd bin
bash-4.4# ./listener

Open another terminal on your Linux PC and run "Talker".

$ adb shell
# cd /opt/ros/indigo/
# bash
bash-4.4# source ./ros-env.sh
bash-4.4# cd bin
bash-4.4# ./talker

The results are displayed as follows.

Start your robot development with the Qualcomm® Robotics RB3 Platform.

Inquiry / Quotation

For product inquiries and development kit estimates, please use the link below.