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