ROS Coverage Path Planning
What is a Coverage Path Planning (CPP) ?
Coverage Path Planning is the process of generating movement path that fully covers an area ie. a map. There are many applications of CPP, for examples, lawn moving robot, agriculture robot and mobile cleaning robot. There are many different Coverage Path Planning algorithms like the Boustrophedon Planner, Grid-based TSP Planner and even Neural Network-based Planner and each of the algorithms has different characteristics and efficiency for the coverage path that it generated.
Here is a video showing the cleaning path of the Mi Vacuum Robot https://www.youtube.com/watch?v=EauM8-3EAPo
This article explore the installation and usage of the ROS package for CPP ‘ipa_coverage_planning’ which is based on the Indoor Coverage Path Planning: Survey, Implementation, Analysis Paper .
This article assumed that you had already install ROS Melodic Morenia on Ubuntu 18.04 Bionic Beaver OS.
How to install:
a. Installing Dependencies:
sudo apt-get install ros-melodic-opengmsudo apt-get install ros-melodic-libdlibsudo apt-get install ros-melodic-cob-navigationsudo apt-get install coinor-*
b. Compile
catkin build
//OR
catkin_make
How to use:
*Tested on melodic_dev branch on Ubuntu 18.04, ROS Melodic Morenia
Source setup.bash in your ROS workspace:
source ./devel/setup.bash
Start exploration action server in the terminal:
roslaunch ipa_room_exploration room_exploration_action_server.launch
Start exploration action client in another terminal:
roslaunch ipa_room_exploration room_exploration_client.launch
Wait for approximately 30 secs and a demo map with coverage path will appear
In my next article, I will share more about how to use the ipa_coverage_planning ROS package for your own custom map to generate its corresponding coverage path.
If you like the article, feel free to give me a some claps or leave some comments! ☺️☺️☺️
Feel free to connect with me here https://www.linkedin.com/in/phehjingjie/
Support me here: https://www.buymeacoffee.com/jjbecomespheh