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.
[email protected]:/# export OPENCR_PORT=/dev/ttyACM0[email protected]:/# export OPENCR_MODEL=waffle_pi[email protected]:/# rm -rf ./opencr_update.tar.bz2[email protected]:/# 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
[email protected]:/# apt update[email protected]:/# apt-get -y install locales iperf[email protected]:/# export LANGUAGE=en_US.UTF-8[email protected]:/# export LANG=en_US.UTF-8[email protected]:/# locale-gen en_US en_US.UTF-8[email protected]:/# 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
[email protected]:/# sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'[email protected]:/# apt update[email protected]:/# sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654[email protected]:/# sudo apt update[email protected]:/# 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
[email protected]:/# mkdir /home/rb5/ros_ws/src -p[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ROBOTIS-GIT/hls_lfcd_lds_driver.git[email protected]:/# cd hls_lfcd_lds_driver[email protected]:/# git branch melodic-devel remotes/origin/melodic-devel[email protected]:/# git checkout melodic-devel[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ROBOTIS-GIT/turtlebot3_msgs.git[email protected]:/# cd turtlebot3_msgs[email protected]:/# git branch melodic-devel remotes/origin/melodic-devel[email protected]:/# git checkout melodic-devel[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ROBOTIS-GIT/turtlebot3.git[email protected]:/# cd turtlebot3[email protected]:/# git branch melodic-devel remotes/origin/melodic-devel[email protected]:/# git checkout melodic-devel
2) rosserial
[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ros-drivers/rosserial.git[email protected]:/# cd rosserial[email protected]:/# git branch melodic-devel remotes/origin/melodic-devel[email protected]:/# git checkout melodic-devel
3) navigation
[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ros-planning/navigation.git[email protected]:/# git clone https://github.com/ros-planning/navigation_msgs.git
4) gmapping
[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/ros-perception/slam_gmapping.git[email protected]:/# git clone https://github.com/ros-perception/openslam_gmapping.git
5) build all the packages
[email protected]:/# apt-get install ros-melodic-tf2-geometry-msgs ros-melodic-tf2-sensor-msgs[email protected]:/# cd /home/rb5/ros_ws/[email protected]:/# source /opt/ros/melodic/setup.bash[email protected]:/# 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
[email protected]:/# cd /home/rb5/ros_ws/src[email protected]:/# git clone https://github.com/hrnr/m-explore.git[email protected]:/# cd m-explore[email protected]:/# 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
[email protected]:/# /etc/init.d/sshd restart
b) open a new terminal to ssh login
ssh [email protected] (example: ssh [email protected])
c) in ssh terminal
[email protected]:/# export ROS_MASTER_URI=http://192.168.1.xxx:11311[email protected]:/# export ROS_IP=192.168.1.xxx[email protected]:/# export ROS_HOSTNAME=192.168.1.xxx[email protected]:/# source /home/rb5/ros_ws/devel/setup.bash[email protected]:/# export TURTLEBOT3_MODEL=waffle_pi[email protected]:/# roslaunch turtlebot3_bringup turtlebot3_robot.launch[email protected]:/# roslaunch turtlebot3_navigation turtlebot3_navigation.launch[email protected]:/# 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. |