-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
[Feature] Improve Hybrid A* planner #1594
Conversation
…tar_planner library package
… (by rebuild decision maker)
Hello Aohsato, thanks for trying to imporve astar_navi! BTW I have a few questions about how this planner works:
Thank you! |
@kennedywai Thanks for your comments! Can we continue to discuss on my issue post? |
@kennedywai Would you create an issue and show details including how to reproduce the problem and where the process dies? I assume any issue can be categorized into environment problem, procedure problem, and/or code problem. |
@kennedywai although the branch works the unit tests are needed to improve Autoware's code base. Let me know if you'd be happy to contribute to adding some unit tests as you have some experience with the modifications on this PR. |
* Restructured folders * Added unit test base * Removed remaining folder * Test WIP * Added astar_util tests and base file for astar_search tests * Updated to ROS Cpp Style guidelines * Added test for SimpleNode constructor * Updated Copyright date * Added tests for astar algorithm * Added default constructor to WaveFront struct
… feature/improve_astar_planner
@sgermanserrano Thanks and sorry for my late. About calcDiffOfRadian, I fixed that with fmod in this commit. |
@kennedywai I fixed process died problem in above changes, thanks for your comment. |
Finally, we already tested on our real car. Plz check. :) |
@aohsato Thank you Aohsato! I had been testing this in Jan on my robot and it worked fine except for the process died problem. I am now currently busy with other things but I will be soon testing the new code on my robot!! Thank you once again! |
@kennedywai Wow sounds great. Hopefully, let me know in Github, Autoware slack, and so on. Thanks too! |
Hi, guys, I'm wondering why we use the node "grip_map_filter", because the output topic of "grip_map_filter" goes nowhere. And where comes the topic "/realtime_cost_map" from if I just using 3D Lidar? And I followed the guide above, but no costmap out, can you please show me which nodes and which topic I should use in the latest version 1.11.0@aohsato@sgermanserrano |
Thanks for using Autoware and for your question. However the issue tracker is for posting confirmed bugs and feature requests. We ask that you please ask questions at the ROS Answers website following our support guidelines: https://github.com/autowarefoundation/autoware/wiki/Support-guidelines#ros-answers. Please pay particular attention to the information we ask you to provide. |
* Delete obstacle_sim from astar_planner package, replaced to lidar_fake_perception * Modify package name, astar_planner -> waypoint_planner, and create astar_planner library package * Delete obstacle_avoid/astar* and modify its dependency to astar_planner library * Fix astar_navi with astar_planner library * Refactor astar_navi by separating HAstar library and fixing coodinate system * Rename obstacle_avoid -> astar_avoid and under refactoring * Fix cost function and configures * Fix backward search and refactor configurations * Apply clang-format * Refactor include * Fix typo and so on * Improve astar_avoid by incremental goal search * Apply clang-format * Revert package names * Fix package/code names * Update runtime_manager * Improve astar_avoid to execute avoidance behavior by state transition (by rebuild decision maker) * Fix PascalCase message names by autowarefoundation#1408 * Remove obstacle_avoid directory * Fix default parameter for costmap topic * Fix warning and initialize condition * Remove use_avoidance_state mode (TODO: after merging rebuild decision maker) * Improve astar_avoid behavior by simple state transition and multi-threading * Apply clang-format * Fix replan_interval in astar_avoid * Add descriptions for paramters * Rename pkg name, astar_planner -> waypoint_planner * Fix param name * Fix avoid waypoints height * Fix parameter and formalize code * Add README for freespace/waypoint_planner * Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Fix CHANGELOG Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> Add License terms Co-Authored-By: aohsato <aohsato@gmail.com> * Fix astar_navi/README.md * Add License terms * Fix const pointer * Added unit test base * Restructured folders * Fix bug by adding AstarSearch reset * Fix WaveFrontNode initialization Co-Authored-By: aohsato <aohsato@gmail.com> * Fix variable name * Refactor threading * Re-adding lidar_fake_perception * Fix the condition to judge reaching goal * Add 'use_decision state' mode to transit avoidance state by decision_maker * Fix calcDiffOfRadian (if diff > 2pi) * Feature/test astar planner (autowarefoundation#1753) * Restructured folders * Added unit test base * Removed remaining folder * Test WIP * Added astar_util tests and base file for astar_search tests * Updated to ROS Cpp Style guidelines * Added test for SimpleNode constructor * Updated Copyright date * Added tests for astar algorithm * Added default constructor to WaveFront struct * Revert use_state_decision mode (94af7b6) * Fix costmap topic names by merging costmap_generator
Status
DEVELOPMENT
Description
I merged logics in
astar_navi
andobstacle_avoid
and createdastar_search
library package.I fixed some problems on Hybrid A* algorithm in present Autoware, like the coordinate system, performance, and so on.
Finally, I re-created
astar_navi
node for free space planning andastar_avoid
node for avoiding obstacles on waypoints with the internal state transition.README
Freespace planner
https://github.com/CPFL/Autoware/blob/feature/improve_astar_planner/ros/src/computing/planning/mission/packages/freespace_planner/README.md
Waypoint planner (old name: Astar planner)
https://github.com/CPFL/Autoware/blob/feature/improve_astar_planner/ros/src/computing/planning/motion/packages/waypoint_planner/README.md
Related branch
depended onfeature/rebuild_decision_maker
-> This PR is independent now
Todos
Steps to Test or Reproduce
Freespace planning
wf_simulator
points2costmap
andgrid_map_filter
astar_navi
and publish2D Nav Goal
on Rvizlane_waypoints_array
is published and you can see itObstacle avoidance
waypoint_loader
and other plannerspoints2costmap
andgrid_map_filter
astar_avoid
withEnable Avoidance
configvelocity_set
,pure_pursuit
,twist_filter
for motion planningvelocity_set
behavior), the car start to plan and avoidance behaviorNOTE: If you want to use
wf_simulator
instead of real vehicle, please uselidar_fake_perception
onsim_base_link
frame to simulate pointcloud and you need to publishlocalizer_pose
forvelocity_set
.