Skill Level | Area of Focus | Operating System | Platform/Hardware |
---|---|---|---|
Intermediate | Embedded, Robotics | Ubuntu / Ubuntu Core | Qualcomm Robotics RBx Dev Kit |
This project is designed to run frontier-based exploration on the Qualcomm® Robotics RB5 Development Kit, which is an artificial intelligence (AI) board for makers, learners, and developers. It is based on the Qualcomm® QRB5165 SoC, which is the new generation premium-tier processor for robotics applications. It is designed with the 7 nm process for superior performance and power efficiency.
In this project, when the ROS node is running, the robot will explore its environment until no frontiers could be found. Applications like these can be designed to automatically build a navigation map.

Objective
The main objective for this project is to get familiar with Qualcomm Robotics RB5 development kit, ROS and navigation packages. The project is designed to help developers jumpstart creating their smart autonomous robots, which starts by mapping their environment.
Materials Required / Parts List / Tools
Source Code / Source Examples
Additional Resources
Build / Assembly Instructions
This project uses the Qualcomm Robotics RB5 development kit, which is mounted on the Turtlebot3 and drives the motors through the OpenCR board. The steps below walk you through the setup process for various components used in the project.
1. Assemble the Hardware
The following steps will help you assemble the Turtlebot, OpenCR board and the Qualcomm Robotics RB5 development kit.
Parts used

How to make Power Cable

Power Connection

USB Connection

Assembly
First Layer Assembly

Second Layer Assembly

Third Layer Assembly

Overall Assembly

2. OpenCR setup
The Turtlebot3 is controlled by the OpenCR board. Here is the link of the detailed steps to download and upgrade firmware for ROS1.
http://emanual.robotis.com/docs/en/platform/turtlebot3/opencr_setup/For short, see below steps.
root@qrb5165-rb5:/# export OPENCR_PORT=/dev/ttyACM0root@qrb5165-rb5:/# export OPENCR_MODEL=waffle_piroot@qrb5165-rb5:/# rm -rf ./opencr_update.tar.bz2root@qrb5165-rb5:/# wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2 && tar -xvf opencr_update.tar.bz2 && cd ./opencr_update && ./update.sh $OPENCR_PORT OPENCR_MODEL.opencr && cd.
3. Qualcomm Robotics RB5 kit setup
3.1 Enable Wi-Fi on Qualcomm Robotics RB5 development kit
change this file with your local wifi's name and password:
# Only WPA-PSK is used. Any valid cipher combination is accepted.ctrl_interface=/var/run/wpa_supplicantnetwork={ssid="SSID_NAME"#proto=WPAkey_mgmt=WPA-PSKpairwise=TKIP CCMPgroup=TKIP CCMPpsk="PASSWD"}
3.2 Install ROS1.0 core packages on Qualcomm Robotics RB5 development kit
3.2.1 Set location
root@qrb5165-rb5:/# apt updateroot@qrb5165-rb5:/# apt-get -y install locales iperfroot@qrb5165-rb5:/# export LANGUAGE=en_US.UTF-8root@qrb5165-rb5:/# export LANG=en_US.UTF-8root@qrb5165-rb5:/# locale-gen en_US en_US.UTF-8root@qrb5165-rb5:/# update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
3.2.2 Install ROS Melodic
More details can refer http://wiki.ros.org/melodic/Installation/Ubuntu
root@qrb5165-rb5:/# sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'root@qrb5165-rb5:/# apt updateroot@qrb5165-rb5:/# sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654root@qrb5165-rb5:/# sudo apt updateroot@qrb5165-rb5:/# sudo apt install ros-melodic-desktop
3.2.3 Install ROS1.0 turtlebot3 and navigation packages
Download ROS1 packages and compile on device
1) turtlebot3 packages
root@qrb5165-rb5:/# mkdir /home/rb5/ros_ws/src -proot@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.gitroot@qrb5165-rb5:/# cd hls_lfcd_lds_driverroot@qrb5165-rb5:/# git branch melodic-devel remotes/origin/melodic-develroot@qrb5165-rb5:/# git checkout melodic-develroot@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.gitroot@qrb5165-rb5:/# cd turtlebot3_msgsroot@qrb5165-rb5:/# git branch melodic-devel remotes/origin/melodic-develroot@qrb5165-rb5:/# git checkout melodic-develroot@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ROBOTIS-GIT/turtlebot3.gitroot@qrb5165-rb5:/# cd turtlebot3root@qrb5165-rb5:/# git branch melodic-devel remotes/origin/melodic-develroot@qrb5165-rb5:/# git checkout melodic-devel
2) rosserial
root@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ros-drivers/rosserial.gitroot@qrb5165-rb5:/# cd rosserialroot@qrb5165-rb5:/# git branch melodic-devel remotes/origin/melodic-develroot@qrb5165-rb5:/# git checkout melodic-devel
3) navigation
root@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ros-planning/navigation.gitroot@qrb5165-rb5:/# git clone https://github.com/ros-planning/navigation_msgs.git
4) gmapping
root@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/ros-perception/slam_gmapping.gitroot@qrb5165-rb5:/# git clone https://github.com/ros-perception/openslam_gmapping.git
5) build all the packages
root@qrb5165-rb5:/# apt-get install ros-melodic-tf2-geometry-msgs ros-melodic-tf2-sensor-msgsroot@qrb5165-rb5:/# cd /home/rb5/ros_ws/root@qrb5165-rb5:/# source /opt/ros/melodic/setup.bashroot@qrb5165-rb5:/# catkin_make
4. PC setup
Install ROS on Ubuntu 18.04 PC for visualization with Melodic version. For more details, please see: http://wiki.ros.org/melodic/Installation/Ubuntu
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'apt updatesudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654sudo apt updatesudo apt install ros-melodic-desktopsudo apt-get install ros-melodic-turtlebot3-*
5. Install explore_lite packages
root@qrb5165-rb5:/# cd /home/rb5/ros_ws/srcroot@qrb5165-rb5:/# git clone https://github.com/hrnr/m-explore.gitroot@qrb5165-rb5:/# cd m-exploreroot@qrb5165-rb5:/# git branch melodic-devel remotes/origin/melodic-devel
Usage Instructions
Run ROS packages for auto explore
a) On Qualcomm Robotics RB5 Development kit, Open a terminal and restart sshd
root@qrb5165-rb5:/# /etc/init.d/sshd restart
b) open a new terminal to ssh login
ssh root@ip (example: ssh [email protected])
c) in ssh terminal
root@qrb5165-rb5:/# export ROS_MASTER_URI=http://192.168.1.xxx:11311root@qrb5165-rb5:/# export ROS_IP=192.168.1.xxxroot@qrb5165-rb5:/# export ROS_HOSTNAME=192.168.1.xxxroot@qrb5165-rb5:/# source /home/rb5/ros_ws/devel/setup.bashroot@qrb5165-rb5:/# export TURTLEBOT3_MODEL=waffle_piroot@qrb5165-rb5:/# roslaunch turtlebot3_bringup turtlebot3_robot.launchroot@qrb5165-rb5:/# roslaunch turtlebot3_navigation turtlebot3_navigation.launchroot@qrb5165-rb5:/# roslaunch /home/rbt/ros_ws/src/m-explore/explore/launch/explore.launch
d) On the host PC, open a new terminal and launch Rviz
source /opt/ros/melodic/setup.bashexport ROS_MASTER_URI=http://192.168.1.xxx:11311export ROS_IP=192.168.1.xxxexport ROS_HOSTNAME=192.168.1.xxxrviz -d /opt/ros/melodic/share/turtlebot3_navigation/rviz/turtlebot3_navigation.rviz
Tutorial Video
Screenshots/pictures of expected result



Qualcomm Robotics RB5 is a product of Qualcomm Technologies, Inc. and/or its subsidiaries.
Contributors
Name | Title/Company |
---|---|
Jun Liu | Qualcomm Communication Technologies (Shenzhen) Co., Ltd. |