Back to All
Project

Implementing Full Coverage Path Planning on Qualcomm® Robotics RB5 with TurtleBot3

This project focuses on the seamless integration of full coverage path planning (FCPP) packages with the TurtleBot3 robotic platform, leveraging the computational power of the Qualcomm Robotics RB5 platform. The goal is to enable autonomous navigation that ensures comprehensive area coverage, making it ideal for tasks such as environment exploration, cleaning, and inspection.

Objective

  • Environment Exploration: Navigate and map unknown areas autonomously.
  • Cleaning Robots: Ensure complete coverage of a floor or space, similar to robotic vacuum cleaners.
  • Inspection Tasks: Conduct thorough inspections of environments, ensuring no area is missed.
  • Agricultural Applications: Cover entire fields for tasks like crop monitoring or pesticide application.
  • Security Patrols: Automatically patrol and monitor large areas without leaving any gaps.
Equipment Description
Qualcomm Robotics RB5 Qualcomm Robotics RB5 Development Kit
Power adapter
12 V with 2500 mA required by the 96Boards specification
USB to Micro USB cable

USB to USB Type C cable
For serial console interface, to view logs

For connecting the USB3.0 Type C port to the board and flashing images, adb and fastboot
Turtlebot Burger Off the shelf robot from Robotis

Introduction:

This project focuses on the seamless integration of full coverage path planning (FCPP) packages with the TurtleBot3 robotic platform, leveraging the computational power of the Qualcomm Robotics RB5 platform. The goal is to enable autonomous navigation that ensures comprehensive area coverage, making it ideal for tasks such as environment exploration, cleaning, and inspection.

Prerequisites:

  1. Install Python 3 on Qualcomm Robotics RB5 and Host PC ( Ubuntu 18.04 )
  2. Install ROS Melodic on Qualcomm Robotics RB5 and host PC
  3. Install TurtleBot3 Packages on host PC

Set up LIDAR :

  • Connect LIDAR Scanner to Qualcomm Robotics RB5 board using microUSB cable and make sure /dev/ttyUSB0 port is accessible

Add below lines in ~/.bashrc of Qualcomm Robotics RB5

# APPEND AT THE END OF ~/.bashrc
export ROS_MASTER_URI=http://<HOST_PC_IP>:11311
export ROS_HOSTNAME=<RB5_IP>
export TURTLEBOT3_MODEL=burger
source /opt/ros/melodic/setup.bash

Add below lines in ~/.bashrc of Host PC

# APPEND AT THE END OF ~/.bashrc
export ROS_MASTER_URI=http://<HOST_PC_IP>:11311
export ROS_HOSTNAME=< HOST_PC_IP >
export TURTLEBOT3_MODEL=burger
source /opt/ros/melodic/setup.bash

Set up workspace in Host PC

To prepare your ROS workspace on the host machine, follow the steps in this ROS Tutorial. Then create a new directory and clone the source code and set necessary environment variables.

$ mkdir -p ~/FCPP/src 
$ cd ~/FCPP/src 

Copy the packages in the assets folder of the source code to the ~/FCPP/src directory.

$ cp -r assets/TURTLEBOT3_FULL_COVERAGE_PATH_PLANNER ~/FCPP/src/

Download full_coverage_path_planner and tracking_pid packages from git and place them in ~/FCPP/src

$ cd ~/FCPP/src
$ git clone https://github.com/nobleo/full_coverage_path_planner
$ git clone https://github.com/nobleo/tracking_pid.git

Install all the dependencies through rosdep,

$ cd ~/FCPP
$ rosdep install --from-paths src --ignore-src --rosdistro melodic -yr 

Source ROS 1 and build,

$ cd ~/FCPP
$ catkin_make
$ source ~/FCPP/devel/setup.bash

Run the command given below to update the ~/.bashrc

$ echo source ~/FCPP/devel/setup.bash >> ~/.bashrc 

Execution instructions:

  • On Host PC, source ROS melodic and run roscore
$  roscore
  • On Qualcomm Robotics RB5 shell, launch bring up command
$   roslaunch turtlebot3_bringup turtlebot3_robot.launch
  • On host run robot_state_publisher node
$   roslaunch robot_gazebo test.launch
  • Launching Full Coverage Path Planning for TurtleBot3 on Host System
$   roslaunch robot_navigation rb5_FCPP.launch 

Demo:

Qualcomm-image

Opinions expressed in the content posted here are the personal opinions of the original authors, and do not necessarily reflect those of Qualcomm Incorporated or its subsidiaries ("Qualcomm"). The content is provided for informational purposes only and is not meant to be an endorsement or representation by Qualcomm or any other party. This site may also provide links or references to non-Qualcomm sites and resources. Qualcomm makes no representations, warranties, or other commitments whatsoever about any non-Qualcomm sites or third-party resources that may be referenced, accessible from, or linked to this site.

Project Authors
Capgemini
Pinisetti Vijaya GaneshAssociate l – Engineer
Avdhesh ChouhanProfessional II
Ashish TiwariDirector, Principal Engineer
Qualcomm relentlessly innovates to deliver intelligent computing everywhere, helping the world tackle some of its most important challenges. Our leading-edge AI, high performance, low-power computing, and unrivaled connectivity deliver proven solutions that transform major industries. At Qualcomm, we are engineering human progress.

Stay connected

Get the latest Qualcomm and industry information delivered to your inbox.

Subscribe
Manage your subscription

© Qualcomm Technologies, Inc. and/or its affiliated companies.

Snapdragon and Qualcomm branded products are products of Qualcomm Technologies, Inc. and/or its subsidiaries. Qualcomm patented technologies are licensed by Qualcomm Incorporated.

Note: Certain services and materials may require you to accept additional terms and conditions before accessing or using those items.

References to "Qualcomm" may mean Qualcomm Incorporated, or subsidiaries or business units within the Qualcomm corporate structure, as applicable.

Qualcomm Incorporated includes our licensing business, QTL, and the vast majority of our patent portfolio. Qualcomm Technologies, Inc., a subsidiary of Qualcomm Incorporated, operates, along with its subsidiaries, substantially all of our engineering, research and development functions, and substantially all of our products and services businesses, including our QCT semiconductor business.

Materials that are as of a specific date, including but not limited to press releases, presentations, blog posts and webcasts, may have been superseded by subsequent events or disclosures.

Nothing in these materials is an offer to sell or license any of the services or materials referenced herein.