-
Notifications
You must be signed in to change notification settings - Fork 162
Fix path too close to obstacles issue #46
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
NunchakusLei
wants to merge
14
commits into
nobleo:master
Choose a base branch
from
MapaRobo:fix-path-too-close-to-obstacles-issue
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
14 commits
Select commit
Hold shift + click to select a range
ae79feb
move base sim
ethanckim 3af0387
move to verticies prototype
ethanckim 7cf3594
mountain pattern algorithm implementation
ethanckim 95db633
Merge pull request #1 from MapaRobo/path_planner_algorithm
ethanckim 4f38a1f
add gitignore
ethanckim 2b8c78c
Merge branch 'master' of https://github.com/MapaRobo/full_coverage_pa…
ethanckim 60649b1
update gitignore
ethanckim a8bc76b
restored visualization environment
ethanckim 174ea81
Set initial heading based on obstacles, not map coordinates
ethanckim 6fed446
Fix infinite loop error and improved heading decision of path plannin…
ethanckim b401969
Use costmap instead of static map
ethanckim 8a446b3
Changed test launch files due to using costmaps
ethanckim f694051
Rename Spiral to Boustrophedon and Updated README.md accordingly
ethanckim e5a8965
Let parse costmap function consider robot radius
NunchakusLei File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,72 @@ | ||
| # Created by https://www.toptal.com/developers/gitignore/api/cmake,visualstudiocode,c++ | ||
| # Edit at https://www.toptal.com/developers/gitignore?templates=cmake,visualstudiocode,c++ | ||
|
|
||
| ### C++ ### | ||
| # Prerequisites | ||
| *.d | ||
|
|
||
| # Compiled Object files | ||
| *.slo | ||
| *.lo | ||
| *.o | ||
| *.obj | ||
|
|
||
| # Precompiled Headers | ||
| *.gch | ||
| *.pch | ||
|
|
||
| # Compiled Dynamic libraries | ||
| *.so | ||
| *.dylib | ||
| *.dll | ||
|
|
||
| # Fortran module files | ||
| *.mod | ||
| *.smod | ||
|
|
||
| # Compiled Static libraries | ||
| *.lai | ||
| *.la | ||
| *.a | ||
| *.lib | ||
|
|
||
| # Executables | ||
| *.exe | ||
| *.out | ||
| *.app | ||
|
|
||
| ### CMake ### | ||
| CMakeLists.txt.user | ||
| CMakeCache.txt | ||
| CMakeFiles | ||
| CMakeScripts | ||
| Testing | ||
| Makefile | ||
| cmake_install.cmake | ||
| install_manifest.txt | ||
| compile_commands.json | ||
| CTestTestfile.cmake | ||
| _deps | ||
|
|
||
| ### CMake Patch ### | ||
| # External projects | ||
| *-prefix/ | ||
|
|
||
| ### VisualStudioCode ### | ||
| .vscode/* | ||
| !.vscode/settings.json | ||
| !.vscode/tasks.json | ||
| !.vscode/launch.json | ||
| !.vscode/extensions.json | ||
| *.code-workspace | ||
|
|
||
| # Local History for Visual Studio Code | ||
| .history/ | ||
|
|
||
| ### VisualStudioCode Patch ### | ||
| # Ignore all local history of files | ||
| .history | ||
| .ionide | ||
|
|
||
| # End of https://www.toptal.com/developers/gitignore/api/cmake,visualstudiocode,c++ | ||
| .vscode/settings.json |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,12 +1,19 @@ | ||
| # Full Coverage Path Planner (FCPP) | ||
| # Boustrophedon Full Coverage Path Planner (Modified) | ||
|
|
||
| ## Acknowledgement | ||
|
|
||
| This package is a modification of the Full Coverage Path Planner package from Nobleo. | ||
|
|
||
| It is modified such that a Boustrophedon Pattern is used to plan the path rather than a Spiral algorithm in the original package. | ||
|
|
||
| Refer to the original package here: http://wiki.ros.org/full_coverage_path_planner | ||
| ## Overview | ||
|
|
||
| This package provides an implementation of a Full Coverage Path Planner (FCPP) using the Backtracking Spiral Algorithm (BSA), see [1]. | ||
| This package provides an implementation of a Full Coverage Path Planner (FCPP) using the Boustrophedon Pattern. see [1] and [2]. | ||
|
|
||
| This packages acts as a global planner plugin to the Move Base package (http://wiki.ros.org/move_base). | ||
|
|
||
|  | ||
|  | ||
|
|
||
| The user can configure robot radius and tool radius separately: | ||
|
|
||
|
|
@@ -15,17 +22,19 @@ The user can configure robot radius and tool radius separately: | |
|
|
||
| **Keywords:** coverage path planning, move base | ||
|
|
||
| ### License | ||
| ### Authors | ||
|
|
||
| Apache 2.0 | ||
|
|
||
| **Package modified by Ethan Kim, [email protected], MapaRobo Inc.** | ||
|
|
||
| **Author(s): Yury Brodskiy, Ferry Schoenmakers, Tim Clephas, Jerrel Unkel, Loy van Beek, Cesar lopez** | ||
|
|
||
| **Maintainer: Cesar Lopez, [email protected]** | ||
|
|
||
| **Affiliation: Nobleo Projects BV, Eindhoven, the Netherlands** | ||
|
|
||
| The Full Coverage Path Planner package has been tested under [ROS] Melodic and Ubuntu 18.04. | ||
| The Modified package has been tested under [ROS] Noetic and Ubuntu 20.04. | ||
|
|
||
| ## Installation | ||
|
|
||
|
|
@@ -57,8 +66,8 @@ All tests can be run using: | |
| #### test_common | ||
| Unit test that checks the basic functions used by the repository | ||
|
|
||
| #### test_spiral_stc | ||
| Unit test that checks the basis spiral algorithm for full coverage. The test is performed for different situations to check that the algorithm coverage the accessible map cells. A test is also performed in randomly generated maps. | ||
| #### test_boustrophedon_stc | ||
| Unit test that checks the basis boustrophedon algorithm for full coverage. The test is performed for different situations to check that the algorithm coverage the accessible map cells. A test is also performed in randomly generated maps. | ||
|
|
||
| #### test_full_coverage_path_planner.test | ||
| ROS system test that checks the full coverage path planner together with a tracking pid. A simulation is run such that a robot moves to fully cover the accessible cells in a given map. | ||
|
|
@@ -131,8 +140,8 @@ The CoverageProgressNode keeps track of coverage progress. It does this by perio | |
|
|
||
|
|
||
| ## Plugins | ||
| ### full_coverage_path_planner/SpiralSTC | ||
| For use in move_base(\_flex) as "base_global_planner"="full_coverage_path_planner/SpiralSTC". It uses global_cost_map and global_costmap/robot_radius. | ||
| ### full_coverage_path_planner/BoustrophedonSTC | ||
| For use in move_base(\_flex) as "base_global_planner"="full_coverage_path_planner/BoustrophedonSTC". It uses global_cost_map and global_costmap/robot_radius. | ||
|
|
||
| #### Parameters | ||
|
|
||
|
|
@@ -142,18 +151,10 @@ For use in move_base(\_flex) as "base_global_planner"="full_coverage_path_planne | |
|
|
||
| ## References | ||
|
|
||
| [1] GONZALEZ, Enrique, et al. BSA: A complete coverage algorithm. In: Proceedings of the 2005 IEEE International Conference on Robotics and Automation. IEEE, 2005. p. 2040-2044. | ||
|
|
||
| ## Bugs & Feature Requests | ||
|
|
||
| Please report bugs and request features using the [Issue Tracker](https://github.com/nobleo/full_coverage_path_planner/issues). | ||
|
|
||
|
|
||
| [ROS]: http://www.ros.org | ||
| [rviz]: http://wiki.ros.org/rviz | ||
| [MBF]: http://wiki.ros.org/move_base_flex | ||
| [1] Choset, Howie, and Philippe Pignon. "Coverage path planning: The boustrophedon cellular decomposition." Field and service robotics. Springer, London, 1998. | ||
| [2] Zelinsky, Alexander, et al. "Planning paths of complete coverage of an unstructured environment by a mobile robot." Proceedings of international conference on advanced robotics. Vol. 13. 1993. | ||
|
|
||
| ## Acknowledgments | ||
| ## Acknowledgments from Original Authors | ||
|
|
||
| <!-- | ||
| ROSIN acknowledgement from the ROSIN press kit | ||
|
|
||
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,9 @@ | ||
| <library path="lib/libfull_coverage_path_planner"> | ||
| <class name="full_coverage_path_planner/SpiralSTC" type="full_coverage_path_planner::SpiralSTC" base_class_type="nav_core::BaseGlobalPlanner"> | ||
| <class name="full_coverage_path_planner/BoustrophedonSTC" type="full_coverage_path_planner::BoustrophedonSTC" base_class_type="nav_core::BaseGlobalPlanner"> | ||
| <description> | ||
| Plans a path that covers all accessible points in a costmap by using Spiral-STC. | ||
| Spiral-STC works by following the walls and spiraling inwards until it cannot go further. | ||
| Then it uses A* to go back outside of the current spiral and then spirals again. | ||
| Plans a path that covers all accessible points in a costmap by using Boustrophedon-STC (Spanning Tree Coverage). | ||
| In essence, the robot moves forward until an obstacle or visited node is met, then turns right or left (making a boustrophedon pattern) | ||
| When stuck while completing a boustrophedon pattern, use A* to get out again and start a new boustrophedon, until A* can't find a path to uncovered cells | ||
| </description> | ||
| </class> | ||
| </library> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,6 @@ | ||
| image: square.png | ||
| resolution: 0.05 | ||
| origin: [-5, -5, 0.0] | ||
| negate: 0 | ||
| occupied_thresh: 0.65 | ||
| free_thresh: 0.196 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,14 +1,18 @@ | ||
| <?xml version="1.0"?> | ||
| <package format="2"> | ||
| <name>full_coverage_path_planner</name> | ||
| <version>0.6.4</version> | ||
| <description>Full coverage path planning provides a move_base_flex plugin that can plan a path that will fully cover a given area</description> | ||
| <version>0.6.5</version> | ||
| <description> | ||
| Full coverage path planning provides a move_base_flex plugin that can plan a path that will fully cover a given area. | ||
| This package has been modified such that a boustophedon pattern is used rather than a spiral algorithm. | ||
| </description> | ||
| <author email="[email protected]">Cesar Lopez</author> | ||
| <author email="[email protected]">Ferry Schoenmakers</author> | ||
| <author email="[email protected]">Tim Clephas</author> | ||
| <author email="[email protected]">Jerrel Unkel</author> | ||
| <author>Loy van Beek</author> | ||
| <author>Yury Brodskiy</author> | ||
| <author email="[email protected]">Ethan Kim</author> | ||
| <maintainer email="[email protected]">Cesar Lopez</maintainer> | ||
|
|
||
| <license>Apache 2.0</license> | ||
|
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please remove this file. None of the files listed are present in this repository.