-
Notifications
You must be signed in to change notification settings - Fork 1.8k
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
global_planner: enable default_tolerance with potential field, fix #262 #703
Closed
nlimpert
wants to merge
193
commits into
ros-planning:kinetic-devel
from
nlimpert:nlimpert/global_planner_default_tolerance
Closed
global_planner: enable default_tolerance with potential field, fix #262 #703
nlimpert
wants to merge
193
commits into
ros-planning:kinetic-devel
from
nlimpert:nlimpert/global_planner_default_tolerance
Conversation
This file contains 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
When building amcl with recent enough gcc v7 compilation fails with the error src/amcl/map/map_cspace.cpp: In function 'void enqueue(map_t*, unsigned int, unsigned int, unsigned int, unsigned int, std::priority_queue<CellData>&, CachedDistanceMap*, unsigned char*)': src/amcl/map/map_cspace.cpp:98:34: error: call of overloaded 'abs(unsigned int)' is ambiguous unsigned int di = abs(i - src_i); Use `int abs(int)` flavour of the abs() function.
…pendency Cleanup PCL imports: fixes compilation on zesty and stretch
* Fix CMakeLists + package.xmls This fixes compilation errors when rosjava is installed on the system. It also removes a lot of errors reported by catkin_lint. Fixes ros-planning#537 . * Fix more CMakeLists.txt + package.xmls * amcl: disambiguate include path This fixes the following catkin_lint warning: amcl: warning: include paths 'include/amcl/map' and 'include' are ambiguous * You have used two include paths where one is a parent of the * other. Thus the same headers can be included with two different * include paths which may confuse users. It is recommended that * you keep your include paths consistent.
Adds a cost function and configuration parameter to penalize changes in robot heading. This isn't relevant for diff-drive robots, where heading changes are typically necessary to move towards goals. However, this is useful for having control of the 'twirling' behavior of holonomic robots. Setting the twirling_scale parameter to a high value, say 50, causes the dwa planner to prefer to 'strafe' towards goals rather than (eventually) aiming the robot at the goal while driving. For some applications this is much preferred. This parameter defaults to zero, which maintains the existing behavior unless it is explicitly set to a non-zero value.
* Replace the priority_queue used on inflation layer by a map containing cells to inflate split by distance from the closest obstacle * Update inflation test to match previous change
When force_publication is True, and no resample has been done the statistic about the current clusters of particles are not recomputed. So amcl published an outdated information. This commit introduces a call to `pf_cluster_stats` when required (i.e no resample but force_publication).
recompute cluster stat when force_publication
cleaner logic, fixes ros-planning#156
Convert to package format 2
…nstead of using that on the costmaps
Inflation Layer protected members and virtual computeCost [ABI BREAKING]
ros-planning#520 for lunar [ABI Breaking]
Fix compiler warning for GCC 8.
…aps recovey (ros-planning#838) behavior
…anning#738) * Comment and description clarification * Renamed resetOldParameters to loadOldParameters * Upscaled pre-hydro parameter info message to warning and added costmap-name * Warn user when static_map or map_type is set but not used while plugins are used * Added function that copies parent parameters inside each layer (makes it possible to set a global inflation_radius) * use parameter magic
2825e4f
to
e07ec77
Compare
…ea-melodic [melodic] moving clearing area method to costmap_layer so other applications can clear other types.
* Don't publish empty paths RViz will complain about not being able to transform the path if it doesn't have a frame ID, so we'll just drop these Closes ros-planning#963 * Publish empty paths with a valid frame * Fix indexing into empty plan for timestamp
Starting with CMake 3.15 an explicit include(CheckSymbolExists) is required to use the check_symbol_exists macro.
…g_cmake_include Add missing CMake include(CheckSymbolExists) for CMake >= 3.15
…igin Optimize costmap_2d::updateOrigin
Fix move_slow_and_clear sending obsolete params to dwa_local_planner
Boost > 1.7 has signals by default
e07ec77
to
8b29727
Compare
Closing this as it will be targeting melodic and it needs a proper rework of the proposed feature. I'll open a new PR once I'm ready. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Previously the default_tolerance parameter was not used leading to
failure when the desired goal was inside an obstacle.
In case the goal is inside an obstacle the global_planner now tries to
find a cell with pot_field_max_cost as its maximum value as close as
possible around the desired goal pose. This is achieved by calculating a
potential field in the area of the desired goal pose.
This area is defined by the default_tolerance parameter.
@mikeferguson this should fix #262.
See a demonstration video at https://fh-aachen.sciebo.de/s/SReCNmR5Larlxt4