-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
the mechanism defect of bt_action_server ->on_cleanup()
may lead to UAF
#4175
Comments
It is not considered a valid shutdown mid-execution. You should wait between executions, then bring down the lifecycle nodes, then exit the program cleanly. With that said, if you want to improve cleanup using normal-operations signals, power to you!
You could also adjust the definition of |
I don't have an immediate answer, it could be many things I'd need to catch myself to see where it happened - but if we handle it the way I describe above, maybe its moot :-) |
I found that I have some misunderstanding before. I'm so sorry for my fault. I've deleted the Additional informationcode analysisTo clearly understand why use-after-free within multi-threads, it's first to find which thread / function use and which thread free. the thread for use And the function the thread for free however, there's only Also, there's only result experiments / POCTo make sure the template<class ActionT>
void BtActionServer<ActionT>::executeCallback()
{
...
// insert
std::this_thread::sleep_for(std::chrono::seconds(4));
// insert end
on_completion_callback_(result, rc);
...
} then launch nav2 normally then publish a goal_pose like : ros2 topic pub /goal_pose geometry_msgs/msg/PoseStamped "
header:
stamp:
sec: 1706255138
nanosec: 811244537
frame_id: map
pose:
position:
x: 0.7312569618225098
y: 1.8531221151351929
z: 0.0
orientation:
x: 0.0
y: 0.0
z: -0.7723305100496971
w: 0.635220893269715" -1 then Ctrl+C to nav2 before goal-achieved then asan-report would occur. It proves that ** the similar ticketI believe it's quite simliar to another UAF-issue #4166, they both just do a shared-pointer reset() but no wait for the sub-thread / sub-process created by the shared-pointer, which brings in the UAF. suggestion to fixIs there any way to let the sub-thread / process created by |
Spin thread appears to be false, so the simple action server isn't using its own executor, so I suppose the first thing to find is where that new thread is created to decide where we want to make sure its joined on the action server's
And as we've shown before, the NodeThread's destructor |
Conclusion :UAF is caused by the error thrown in function
|
SO, it seems that we should solve error-thrown here, if we want to avoid UAF. error thrown 1 : the lack of nullptr-check bring in
|
suggestion to fix ?1> add nullptr-check in 2> just warn but no I'm not very clear about the details of why there's a proactive "throw error" approach and why there's a “try-catch” mechanism in rclcpp, but I believe they are set for mitigating the harm caused by errors. However, if such methods end up introducing more harmful UAF-type bugs, personally, I think it might be better for us not to proactively "throw errors" but just Since, if user wrongly shutdown the navigation when some tasks are still on-work , it should be better to show a warning for his own operation than bring a more harmful security-issue like UAF ? I think.... |
Please submit a PR! I think a strongly worded error message would be sufficient as well |
…4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
…4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
* nav2_controller: add loop rate log (#4171) * update smac_planner README Signed-off-by: ARK3r <[email protected]> * added current controller loop rate logging Signed-off-by: ARK3r <[email protected]> * linting Signed-off-by: ARK3r <[email protected]> * uncrustify lint Signed-off-by: ARK3r <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * completely shutdown inital_pose_sub_ (#4176) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * chore(nav2_behavior_tree): log actual wait period in bt_action_node (#4178) Signed-off-by: Felix <[email protected]> Co-authored-by: Felix <[email protected]> * replace throw-error with error-log to avoid UAF mentioned in #4175 (#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * fix typos in description messages (#4188) Signed-off-by: Antonio Park <[email protected]> * AMCL: Set an initial guess by service call (#4182) * Added initial guess service. Signed-off-by: Alexander Mock Signed-off-by: Alexander Mock <[email protected]> * - Removed added empty line - Renamed initialGuessCallback to initialPoseReceivedSrv - Added new line to SetInitialPose service definition - Removed mutex from initialPoseReceived - Cleanup service server Signed-off-by: Alexander Mock <[email protected]> * added whitespace Signed-off-by: Alexander Mock <[email protected]> * renamed initial pose service in callback bind Signed-off-by: Alexander Mock <[email protected]> --------- Signed-off-by: Alexander Mock <[email protected]> * Move lines for pre-computation to outside a loop (#4191) Signed-off-by: Kyungsik Park <[email protected]> * Fix typo (#4196) * Fix BT.CPP import Signed-off-by: Tony Najjar <[email protected]> * Update README.md --------- Signed-off-by: Tony Najjar <[email protected]> * Update footprint iif changed (#4193) Signed-off-by: Brice <[email protected]> * fix missing param declare (#4203) Signed-off-by: nelson <[email protected]> * Revert "nav2_controller: add loop rate log (#4171)" (#4210) This reverts commit 4737462. * add polygon_subscribe_transient_local parameter in collision monitor (#4207) Signed-off-by: asarazin <[email protected]> Co-authored-by: asarazin <[email protected]> * nav2_controller: add loop rate log (#4228) * added current loop rate printout Signed-off-by: ARK3r <[email protected]> * remove empty line Signed-off-by: ARK3r <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> * bump to 1.2.7 for iron sync * change pointer free order in amcl to avoid use-after-free bug mentioned in #4068 (#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Allow path end pose deviation revive (#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Change costmap_queue to shared library (#4072) Signed-off-by: cybaol <[email protected]> * free `map_sub_` before `map_free(map_)` to avoid UAF&&NullPtr bug mentioned in #4078 (#4079) * free `map_sub_` before `map_free(map_)` Signed-off-by: GoesM <[email protected]> * reformat Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Fix typo (#4087) Fix AttributeError: 'BasicNavigator' object has no attribute '_BasicNavigator__getPathThroughPosesImpl' Signed-off-by: nfriedrich00 <[email protected]> * Add velocity based polygon (#3708) * add velocity based polygon * fix header, copyright and variable name change * optimise polygon update * optimise duplicated code with setPolygonShape * add warning log for uncovered speed * update feedback * rename polygon velocity to velocity polygon * cleanup * fix typo * add dynamic support for velocity polygon * wrap try catch for getting parameters * update naming and linting * use switch case * Revert "use switch case" This reverts commit 1230ede. * fix proper return for invalid parameters * remove topic parameter for velocity polygon * fix formatting manually * continue if points are not defined * rewrite velocity polygon with polygon base class Signed-off-by: nelson <[email protected]> * update review comments and description Signed-off-by: nelson <[email protected]> * add VelocityPolygon to detector node Signed-off-by: nelson <[email protected]> * review update Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * Update nav2_collision_monitor/src/velocity_polygon.cpp Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: nelson <[email protected]> * add velocity polygon tests Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * add in-line comment Signed-off-by: nelson <[email protected]> * fix push back Signed-off-by: nelson <[email protected]> * minor change and update README Signed-off-by: nelson <[email protected]> * update README Signed-off-by: nelson <[email protected]> --------- Signed-off-by: nelson <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * avoid implicit type case (#4098) * adding progress checker selector BT node (#4109) * New MPPI Cost Critic (Contrib: Brice Renaudeau) (#4090) * Share code Signed-off-by: Brice <[email protected]> * Update inflation_cost_critic.hpp - copyright - ifndef Signed-off-by: Brice <[email protected]> * fix lint cpp - extra space Signed-off-by: Brice <[email protected]> * Fix Smac Planner confined collision checker (#4055) * Update collision_checker.cpp Signed-off-by: Steve Macenski <[email protected]> * Fix tests Signed-off-by: Steve Macenski <[email protected]> * Update test_a_star.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Prevent analytic expansions from shortcutting Smac Planner feasible paths (#3962) * a potential solution to smac shortcutting * costmap reoslution * some fixes * completed prototype * some fixes for collision detection and performance * completing shortcutting fix * updating tests * adding readme --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * change pointer free order in amcl to avoid use-after-free bug mentioned in #4068 (#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Signed-off-by: Brice <[email protected]> * [Smac Planner] Massive Improvement of Behavior for SE2 Footprint Checking (ie non-circular robots) In Confined Settings (#4067) * prototype to test SE2 footprint H improvements * some fixes * fixed * invert logic * Working final prototype to be tested * complete unit test conversions * Update inflation_layer.hpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Adding new Smac paper to readme Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Update README.md Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * [behavior_tree] don't repeat yourself in "blackboard->set" (#4074) * don't repeat yourself: templates in tests Signed-off-by: Davide Faconti <[email protected]> * misse change Signed-off-by: Davide Faconti <[email protected]> --------- Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Brice <[email protected]> * Allow path end pose deviation revive (#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Updated code to use getInflationLayer() method (#4076) * updated code to use getInflationLayer method Signed-off-by: Jose Faria <[email protected]> * Fix linting Signed-off-by: Jose Faria <[email protected]> --------- Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Brice <[email protected]> * 1594 twist stamped publisher (#4077) * Add TwistStamped to controller_server via TwistPublisher util * Add a new util class for publishing either Twist or TwistStamped * Add a new parameter for selecting to stamp the twist data * Consume TwistPublisher in nav2_controller Signed-off-by: Ryan Friedman <[email protected]> * Fix small issues * Unused variable * Incorrect doxygen Signed-off-by: Ryan Friedman <[email protected]> * Remove stored node and assert Signed-off-by: Ryan Friedman <[email protected]> * Add tests for node * Facing timeout even though it does the same thing as velocity smoother test Signed-off-by: Ryan Friedman <[email protected]> * Add missing spin call to solve timeout Signed-off-by: Ryan Friedman <[email protected]> * Fix copyright (me instead of intel) Signed-off-by: Ryan Friedman <[email protected]> * Add full test coverage with subscriber Signed-off-by: Ryan Friedman <[email protected]> * Remove unused rclcpp fixture * Can't use it due to needing to join the pub thread after rclcpp shuts down Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in nav2_behaviors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Add TwistStamped readme updates to velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Add TwistSubscriber implementation Signed-off-by: Ryan Friedman <[email protected]> * Fix syntax errors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in test_velocity_smoother Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in assisted_teleop Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Remove unused code Signed-off-by: Ryan Friedman <[email protected]> * add timestamp and frame_id to TwistStamped message * Add missing utility include Signed-off-by: Ryan Friedman <[email protected]> * Document TwistPublisher and TwistSubscriber usage Signed-off-by: Ryan Friedman <[email protected]> * Use pass-by-reference * Instead of std::move(std::unique_ptr<TwistStamped>) Signed-off-by: Ryan Friedman <[email protected]> * Finish twist subscriber tests Signed-off-by: Ryan Friedman <[email protected]> * Add other constructor and docs Signed-off-by: Ryan Friedman <[email protected]> * Fix linter issues Signed-off-by: Ryan Friedman <[email protected]> * Manually fix paren alignment Signed-off-by: Ryan Friedman <[email protected]> * Remove GSoC reference Signed-off-by: Ryan Friedman <[email protected]> * Document twist bool param in README Signed-off-by: Ryan Friedman <[email protected]> * Handle twistPublisher in collision monitor * Implement behavior in the stamped callback * Unstamped callback calls the stamped callback * Switch to unique pointer for publisher Signed-off-by: Ryan Friedman <[email protected]> * Convert to using TwistStamped interally * Use incoming twistStamped timestamp if available * Convert all internal representations to use TwistStamped Signed-off-by: Ryan Friedman <[email protected]> * Remove nav2_util usage instructions Signed-off-by: Ryan Friedman <[email protected]> * Remove unused Twist only subscriber Signed-off-by: Ryan Friedman <[email protected]> * More linter fixes Signed-off-by: Ryan Friedman <[email protected]> * Prefer working with unique_ptr for cmd_vel * This makes it easier to switch to std::move instead of dereference on publish Signed-off-by: Ryan Friedman <[email protected]> * Completing twist stamped migration * shared to unique ptr Signed-off-by: Steve Macenski <[email protected]> * twist add stamps and properly propogated * nav2_util: fix for compiling with clang - Resolve error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] Signed-off-by: Rhys Mainwaring <[email protected]> --------- Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice <[email protected]> * Change costmap_queue to shared library (#4072) Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice <[email protected]> * fix include of hpp Signed-off-by: Brice Renaudeau <[email protected]> * inflation cost optmiizations and cleanu * rename, add defaults, and docs * smoke test addition * lintg * normalize weight * update readme * increment cache * Update cost_critic.hpp Signed-off-by: Steve Macenski <[email protected]> * Update cost_critic.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Brice <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Co-authored-by: Kino <[email protected]> * Use ament_export_targets for all targets (#4112) * Matches new internal ALIAS targets * Use ALIAS targets for all internal linkage * Remove unnecessary calls to ament_target_dependencies in test code * Export includes in proper folders for overlays in colcon Signed-off-by: Ryan Friedman <[email protected]> * Update default recommendation from Obstacles to Cost critic in MPPI (#4170) Signed-off-by: Steve Macenski <[email protected]> * fix merge conflict * Revert "Add velocity based polygon (#3708)" This reverts commit a3ed745. * custom backported version of cost critic inscribed cost --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Felix <[email protected]> Signed-off-by: Antonio Park <[email protected]> Signed-off-by: Alexander Mock <[email protected]> Signed-off-by: Kyungsik Park <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Brice <[email protected]> Signed-off-by: nelson <[email protected]> Signed-off-by: asarazin <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: nfriedrich00 <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: Reza Kermani <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: bi0ha2ard <[email protected]> Co-authored-by: Felix <[email protected]> Co-authored-by: Antonio Park <[email protected]> Co-authored-by: Alexander Mock <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: nelson <[email protected]> Co-authored-by: anaelle-sw <[email protected]> Co-authored-by: asarazin <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Kino <[email protected]> Co-authored-by: nfriedrich00 <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]>
…gation#4175 (ros-navigation#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
…4180) (#4305) * replace throw-error with error-log to avoid UAF * fix typo --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
…gation#4175 (ros-navigation#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Signed-off-by: enricosutera <[email protected]>
* nav2_controller: add loop rate log (ros-navigation#4171) * update smac_planner README Signed-off-by: ARK3r <[email protected]> * added current controller loop rate logging Signed-off-by: ARK3r <[email protected]> * linting Signed-off-by: ARK3r <[email protected]> * uncrustify lint Signed-off-by: ARK3r <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * completely shutdown inital_pose_sub_ (ros-navigation#4176) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * chore(nav2_behavior_tree): log actual wait period in bt_action_node (ros-navigation#4178) Signed-off-by: Felix <[email protected]> Co-authored-by: Felix <[email protected]> * replace throw-error with error-log to avoid UAF mentioned in ros-navigation#4175 (ros-navigation#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * fix typos in description messages (ros-navigation#4188) Signed-off-by: Antonio Park <[email protected]> * AMCL: Set an initial guess by service call (ros-navigation#4182) * Added initial guess service. Signed-off-by: Alexander Mock Signed-off-by: Alexander Mock <[email protected]> * - Removed added empty line - Renamed initialGuessCallback to initialPoseReceivedSrv - Added new line to SetInitialPose service definition - Removed mutex from initialPoseReceived - Cleanup service server Signed-off-by: Alexander Mock <[email protected]> * added whitespace Signed-off-by: Alexander Mock <[email protected]> * renamed initial pose service in callback bind Signed-off-by: Alexander Mock <[email protected]> --------- Signed-off-by: Alexander Mock <[email protected]> * Move lines for pre-computation to outside a loop (ros-navigation#4191) Signed-off-by: Kyungsik Park <[email protected]> * Fix typo (ros-navigation#4196) * Fix BT.CPP import Signed-off-by: Tony Najjar <[email protected]> * Update README.md --------- Signed-off-by: Tony Najjar <[email protected]> * Update footprint iif changed (ros-navigation#4193) Signed-off-by: Brice <[email protected]> * fix missing param declare (ros-navigation#4203) Signed-off-by: nelson <[email protected]> * Revert "nav2_controller: add loop rate log (ros-navigation#4171)" (ros-navigation#4210) This reverts commit 4737462. * add polygon_subscribe_transient_local parameter in collision monitor (ros-navigation#4207) Signed-off-by: asarazin <[email protected]> Co-authored-by: asarazin <[email protected]> * nav2_controller: add loop rate log (ros-navigation#4228) * added current loop rate printout Signed-off-by: ARK3r <[email protected]> * remove empty line Signed-off-by: ARK3r <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> * bump to 1.2.7 for iron sync * change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Allow path end pose deviation revive (ros-navigation#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <[email protected]> * free `map_sub_` before `map_free(map_)` to avoid UAF&&NullPtr bug mentioned in ros-navigation#4078 (ros-navigation#4079) * free `map_sub_` before `map_free(map_)` Signed-off-by: GoesM <[email protected]> * reformat Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Fix typo (ros-navigation#4087) Fix AttributeError: 'BasicNavigator' object has no attribute '_BasicNavigator__getPathThroughPosesImpl' Signed-off-by: nfriedrich00 <[email protected]> * Add velocity based polygon (ros-navigation#3708) * add velocity based polygon * fix header, copyright and variable name change * optimise polygon update * optimise duplicated code with setPolygonShape * add warning log for uncovered speed * update feedback * rename polygon velocity to velocity polygon * cleanup * fix typo * add dynamic support for velocity polygon * wrap try catch for getting parameters * update naming and linting * use switch case * Revert "use switch case" This reverts commit 1230ede. * fix proper return for invalid parameters * remove topic parameter for velocity polygon * fix formatting manually * continue if points are not defined * rewrite velocity polygon with polygon base class Signed-off-by: nelson <[email protected]> * update review comments and description Signed-off-by: nelson <[email protected]> * add VelocityPolygon to detector node Signed-off-by: nelson <[email protected]> * review update Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * Update nav2_collision_monitor/src/velocity_polygon.cpp Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: nelson <[email protected]> * add velocity polygon tests Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * add in-line comment Signed-off-by: nelson <[email protected]> * fix push back Signed-off-by: nelson <[email protected]> * minor change and update README Signed-off-by: nelson <[email protected]> * update README Signed-off-by: nelson <[email protected]> --------- Signed-off-by: nelson <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * avoid implicit type case (ros-navigation#4098) * adding progress checker selector BT node (ros-navigation#4109) * New MPPI Cost Critic (Contrib: Brice Renaudeau) (ros-navigation#4090) * Share code Signed-off-by: Brice <[email protected]> * Update inflation_cost_critic.hpp - copyright - ifndef Signed-off-by: Brice <[email protected]> * fix lint cpp - extra space Signed-off-by: Brice <[email protected]> * Fix Smac Planner confined collision checker (ros-navigation#4055) * Update collision_checker.cpp Signed-off-by: Steve Macenski <[email protected]> * Fix tests Signed-off-by: Steve Macenski <[email protected]> * Update test_a_star.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Prevent analytic expansions from shortcutting Smac Planner feasible paths (ros-navigation#3962) * a potential solution to smac shortcutting * costmap reoslution * some fixes * completed prototype * some fixes for collision detection and performance * completing shortcutting fix * updating tests * adding readme --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Signed-off-by: Brice <[email protected]> * [Smac Planner] Massive Improvement of Behavior for SE2 Footprint Checking (ie non-circular robots) In Confined Settings (ros-navigation#4067) * prototype to test SE2 footprint H improvements * some fixes * fixed * invert logic * Working final prototype to be tested * complete unit test conversions * Update inflation_layer.hpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Adding new Smac paper to readme Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Update README.md Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * [behavior_tree] don't repeat yourself in "blackboard->set" (ros-navigation#4074) * don't repeat yourself: templates in tests Signed-off-by: Davide Faconti <[email protected]> * misse change Signed-off-by: Davide Faconti <[email protected]> --------- Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Brice <[email protected]> * Allow path end pose deviation revive (ros-navigation#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Updated code to use getInflationLayer() method (ros-navigation#4076) * updated code to use getInflationLayer method Signed-off-by: Jose Faria <[email protected]> * Fix linting Signed-off-by: Jose Faria <[email protected]> --------- Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Brice <[email protected]> * 1594 twist stamped publisher (ros-navigation#4077) * Add TwistStamped to controller_server via TwistPublisher util * Add a new util class for publishing either Twist or TwistStamped * Add a new parameter for selecting to stamp the twist data * Consume TwistPublisher in nav2_controller Signed-off-by: Ryan Friedman <[email protected]> * Fix small issues * Unused variable * Incorrect doxygen Signed-off-by: Ryan Friedman <[email protected]> * Remove stored node and assert Signed-off-by: Ryan Friedman <[email protected]> * Add tests for node * Facing timeout even though it does the same thing as velocity smoother test Signed-off-by: Ryan Friedman <[email protected]> * Add missing spin call to solve timeout Signed-off-by: Ryan Friedman <[email protected]> * Fix copyright (me instead of intel) Signed-off-by: Ryan Friedman <[email protected]> * Add full test coverage with subscriber Signed-off-by: Ryan Friedman <[email protected]> * Remove unused rclcpp fixture * Can't use it due to needing to join the pub thread after rclcpp shuts down Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in nav2_behaviors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Add TwistStamped readme updates to velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Add TwistSubscriber implementation Signed-off-by: Ryan Friedman <[email protected]> * Fix syntax errors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in test_velocity_smoother Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in assisted_teleop Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Remove unused code Signed-off-by: Ryan Friedman <[email protected]> * add timestamp and frame_id to TwistStamped message * Add missing utility include Signed-off-by: Ryan Friedman <[email protected]> * Document TwistPublisher and TwistSubscriber usage Signed-off-by: Ryan Friedman <[email protected]> * Use pass-by-reference * Instead of std::move(std::unique_ptr<TwistStamped>) Signed-off-by: Ryan Friedman <[email protected]> * Finish twist subscriber tests Signed-off-by: Ryan Friedman <[email protected]> * Add other constructor and docs Signed-off-by: Ryan Friedman <[email protected]> * Fix linter issues Signed-off-by: Ryan Friedman <[email protected]> * Manually fix paren alignment Signed-off-by: Ryan Friedman <[email protected]> * Remove GSoC reference Signed-off-by: Ryan Friedman <[email protected]> * Document twist bool param in README Signed-off-by: Ryan Friedman <[email protected]> * Handle twistPublisher in collision monitor * Implement behavior in the stamped callback * Unstamped callback calls the stamped callback * Switch to unique pointer for publisher Signed-off-by: Ryan Friedman <[email protected]> * Convert to using TwistStamped interally * Use incoming twistStamped timestamp if available * Convert all internal representations to use TwistStamped Signed-off-by: Ryan Friedman <[email protected]> * Remove nav2_util usage instructions Signed-off-by: Ryan Friedman <[email protected]> * Remove unused Twist only subscriber Signed-off-by: Ryan Friedman <[email protected]> * More linter fixes Signed-off-by: Ryan Friedman <[email protected]> * Prefer working with unique_ptr for cmd_vel * This makes it easier to switch to std::move instead of dereference on publish Signed-off-by: Ryan Friedman <[email protected]> * Completing twist stamped migration * shared to unique ptr Signed-off-by: Steve Macenski <[email protected]> * twist add stamps and properly propogated * nav2_util: fix for compiling with clang - Resolve error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] Signed-off-by: Rhys Mainwaring <[email protected]> --------- Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice <[email protected]> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice <[email protected]> * fix include of hpp Signed-off-by: Brice Renaudeau <[email protected]> * inflation cost optmiizations and cleanu * rename, add defaults, and docs * smoke test addition * lintg * normalize weight * update readme * increment cache * Update cost_critic.hpp Signed-off-by: Steve Macenski <[email protected]> * Update cost_critic.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Brice <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Co-authored-by: Kino <[email protected]> * Use ament_export_targets for all targets (ros-navigation#4112) * Matches new internal ALIAS targets * Use ALIAS targets for all internal linkage * Remove unnecessary calls to ament_target_dependencies in test code * Export includes in proper folders for overlays in colcon Signed-off-by: Ryan Friedman <[email protected]> * Update default recommendation from Obstacles to Cost critic in MPPI (ros-navigation#4170) Signed-off-by: Steve Macenski <[email protected]> * fix merge conflict * Revert "Add velocity based polygon (ros-navigation#3708)" This reverts commit a3ed745. * custom backported version of cost critic inscribed cost --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Felix <[email protected]> Signed-off-by: Antonio Park <[email protected]> Signed-off-by: Alexander Mock <[email protected]> Signed-off-by: Kyungsik Park <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Brice <[email protected]> Signed-off-by: nelson <[email protected]> Signed-off-by: asarazin <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: nfriedrich00 <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: Reza Kermani <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: bi0ha2ard <[email protected]> Co-authored-by: Felix <[email protected]> Co-authored-by: Antonio Park <[email protected]> Co-authored-by: Alexander Mock <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: nelson <[email protected]> Co-authored-by: anaelle-sw <[email protected]> Co-authored-by: asarazin <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Kino <[email protected]> Co-authored-by: nfriedrich00 <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]>
* nav2_controller: add loop rate log (ros-navigation#4171) * update smac_planner README Signed-off-by: ARK3r <[email protected]> * added current controller loop rate logging Signed-off-by: ARK3r <[email protected]> * linting Signed-off-by: ARK3r <[email protected]> * uncrustify lint Signed-off-by: ARK3r <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> * Update nav2_controller/src/controller_server.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * completely shutdown inital_pose_sub_ (ros-navigation#4176) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * chore(nav2_behavior_tree): log actual wait period in bt_action_node (ros-navigation#4178) Signed-off-by: Felix <[email protected]> Co-authored-by: Felix <[email protected]> * replace throw-error with error-log to avoid UAF mentioned in ros-navigation#4175 (ros-navigation#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * fix typos in description messages (ros-navigation#4188) Signed-off-by: Antonio Park <[email protected]> * AMCL: Set an initial guess by service call (ros-navigation#4182) * Added initial guess service. Signed-off-by: Alexander Mock Signed-off-by: Alexander Mock <[email protected]> * - Removed added empty line - Renamed initialGuessCallback to initialPoseReceivedSrv - Added new line to SetInitialPose service definition - Removed mutex from initialPoseReceived - Cleanup service server Signed-off-by: Alexander Mock <[email protected]> * added whitespace Signed-off-by: Alexander Mock <[email protected]> * renamed initial pose service in callback bind Signed-off-by: Alexander Mock <[email protected]> --------- Signed-off-by: Alexander Mock <[email protected]> * Move lines for pre-computation to outside a loop (ros-navigation#4191) Signed-off-by: Kyungsik Park <[email protected]> * Fix typo (ros-navigation#4196) * Fix BT.CPP import Signed-off-by: Tony Najjar <[email protected]> * Update README.md --------- Signed-off-by: Tony Najjar <[email protected]> * Update footprint iif changed (ros-navigation#4193) Signed-off-by: Brice <[email protected]> * fix missing param declare (ros-navigation#4203) Signed-off-by: nelson <[email protected]> * Revert "nav2_controller: add loop rate log (ros-navigation#4171)" (ros-navigation#4210) This reverts commit 4737462. * add polygon_subscribe_transient_local parameter in collision monitor (ros-navigation#4207) Signed-off-by: asarazin <[email protected]> Co-authored-by: asarazin <[email protected]> * nav2_controller: add loop rate log (ros-navigation#4228) * added current loop rate printout Signed-off-by: ARK3r <[email protected]> * remove empty line Signed-off-by: ARK3r <[email protected]> --------- Signed-off-by: ARK3r <[email protected]> * bump to 1.2.7 for iron sync * change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Allow path end pose deviation revive (ros-navigation#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <[email protected]> * free `map_sub_` before `map_free(map_)` to avoid UAF&&NullPtr bug mentioned in ros-navigation#4078 (ros-navigation#4079) * free `map_sub_` before `map_free(map_)` Signed-off-by: GoesM <[email protected]> * reformat Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Fix typo (ros-navigation#4087) Fix AttributeError: 'BasicNavigator' object has no attribute '_BasicNavigator__getPathThroughPosesImpl' Signed-off-by: nfriedrich00 <[email protected]> * Add velocity based polygon (ros-navigation#3708) * add velocity based polygon * fix header, copyright and variable name change * optimise polygon update * optimise duplicated code with setPolygonShape * add warning log for uncovered speed * update feedback * rename polygon velocity to velocity polygon * cleanup * fix typo * add dynamic support for velocity polygon * wrap try catch for getting parameters * update naming and linting * use switch case * Revert "use switch case" This reverts commit 1230ede. * fix proper return for invalid parameters * remove topic parameter for velocity polygon * fix formatting manually * continue if points are not defined * rewrite velocity polygon with polygon base class Signed-off-by: nelson <[email protected]> * update review comments and description Signed-off-by: nelson <[email protected]> * add VelocityPolygon to detector node Signed-off-by: nelson <[email protected]> * review update Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * Update nav2_collision_monitor/src/velocity_polygon.cpp Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: nelson <[email protected]> * add velocity polygon tests Signed-off-by: nelson <[email protected]> * fix cpplint Signed-off-by: nelson <[email protected]> * add in-line comment Signed-off-by: nelson <[email protected]> * fix push back Signed-off-by: nelson <[email protected]> * minor change and update README Signed-off-by: nelson <[email protected]> * update README Signed-off-by: nelson <[email protected]> --------- Signed-off-by: nelson <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * avoid implicit type case (ros-navigation#4098) * adding progress checker selector BT node (ros-navigation#4109) * New MPPI Cost Critic (Contrib: Brice Renaudeau) (ros-navigation#4090) * Share code Signed-off-by: Brice <[email protected]> * Update inflation_cost_critic.hpp - copyright - ifndef Signed-off-by: Brice <[email protected]> * fix lint cpp - extra space Signed-off-by: Brice <[email protected]> * Fix Smac Planner confined collision checker (ros-navigation#4055) * Update collision_checker.cpp Signed-off-by: Steve Macenski <[email protected]> * Fix tests Signed-off-by: Steve Macenski <[email protected]> * Update test_a_star.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Prevent analytic expansions from shortcutting Smac Planner feasible paths (ros-navigation#3962) * a potential solution to smac shortcutting * costmap reoslution * some fixes * completed prototype * some fixes for collision detection and performance * completing shortcutting fix * updating tests * adding readme --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Signed-off-by: Brice <[email protected]> * [Smac Planner] Massive Improvement of Behavior for SE2 Footprint Checking (ie non-circular robots) In Confined Settings (ros-navigation#4067) * prototype to test SE2 footprint H improvements * some fixes * fixed * invert logic * Working final prototype to be tested * complete unit test conversions * Update inflation_layer.hpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Adding new Smac paper to readme Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Update README.md Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * [behavior_tree] don't repeat yourself in "blackboard->set" (ros-navigation#4074) * don't repeat yourself: templates in tests Signed-off-by: Davide Faconti <[email protected]> * misse change Signed-off-by: Davide Faconti <[email protected]> --------- Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Brice <[email protected]> * Allow path end pose deviation revive (ros-navigation#4065) * Support stitching paths in compute path to poses * Update nav2_planner/src/planner_server.cpp Co-authored-by: Steve Macenski <[email protected]> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <[email protected]> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Signed-off-by: Brice <[email protected]> * Updated code to use getInflationLayer() method (ros-navigation#4076) * updated code to use getInflationLayer method Signed-off-by: Jose Faria <[email protected]> * Fix linting Signed-off-by: Jose Faria <[email protected]> --------- Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Brice <[email protected]> * 1594 twist stamped publisher (ros-navigation#4077) * Add TwistStamped to controller_server via TwistPublisher util * Add a new util class for publishing either Twist or TwistStamped * Add a new parameter for selecting to stamp the twist data * Consume TwistPublisher in nav2_controller Signed-off-by: Ryan Friedman <[email protected]> * Fix small issues * Unused variable * Incorrect doxygen Signed-off-by: Ryan Friedman <[email protected]> * Remove stored node and assert Signed-off-by: Ryan Friedman <[email protected]> * Add tests for node * Facing timeout even though it does the same thing as velocity smoother test Signed-off-by: Ryan Friedman <[email protected]> * Add missing spin call to solve timeout Signed-off-by: Ryan Friedman <[email protected]> * Fix copyright (me instead of intel) Signed-off-by: Ryan Friedman <[email protected]> * Add full test coverage with subscriber Signed-off-by: Ryan Friedman <[email protected]> * Remove unused rclcpp fixture * Can't use it due to needing to join the pub thread after rclcpp shuts down Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in nav2_behaviors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistStamped in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Add TwistStamped readme updates to velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Add TwistSubscriber implementation Signed-off-by: Ryan Friedman <[email protected]> * Fix syntax errors Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in test_velocity_smoother Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in assisted_teleop Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in collision monitor node Signed-off-by: Ryan Friedman <[email protected]> * Use TwistSubscriber in velocity smoother Signed-off-by: Ryan Friedman <[email protected]> * Remove unused code Signed-off-by: Ryan Friedman <[email protected]> * add timestamp and frame_id to TwistStamped message * Add missing utility include Signed-off-by: Ryan Friedman <[email protected]> * Document TwistPublisher and TwistSubscriber usage Signed-off-by: Ryan Friedman <[email protected]> * Use pass-by-reference * Instead of std::move(std::unique_ptr<TwistStamped>) Signed-off-by: Ryan Friedman <[email protected]> * Finish twist subscriber tests Signed-off-by: Ryan Friedman <[email protected]> * Add other constructor and docs Signed-off-by: Ryan Friedman <[email protected]> * Fix linter issues Signed-off-by: Ryan Friedman <[email protected]> * Manually fix paren alignment Signed-off-by: Ryan Friedman <[email protected]> * Remove GSoC reference Signed-off-by: Ryan Friedman <[email protected]> * Document twist bool param in README Signed-off-by: Ryan Friedman <[email protected]> * Handle twistPublisher in collision monitor * Implement behavior in the stamped callback * Unstamped callback calls the stamped callback * Switch to unique pointer for publisher Signed-off-by: Ryan Friedman <[email protected]> * Convert to using TwistStamped interally * Use incoming twistStamped timestamp if available * Convert all internal representations to use TwistStamped Signed-off-by: Ryan Friedman <[email protected]> * Remove nav2_util usage instructions Signed-off-by: Ryan Friedman <[email protected]> * Remove unused Twist only subscriber Signed-off-by: Ryan Friedman <[email protected]> * More linter fixes Signed-off-by: Ryan Friedman <[email protected]> * Prefer working with unique_ptr for cmd_vel * This makes it easier to switch to std::move instead of dereference on publish Signed-off-by: Ryan Friedman <[email protected]> * Completing twist stamped migration * shared to unique ptr Signed-off-by: Steve Macenski <[email protected]> * twist add stamps and properly propogated * nav2_util: fix for compiling with clang - Resolve error: moving a temporary object prevents copy elision [-Werror,-Wpessimizing-move] Signed-off-by: Rhys Mainwaring <[email protected]> --------- Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice <[email protected]> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice <[email protected]> * fix include of hpp Signed-off-by: Brice Renaudeau <[email protected]> * inflation cost optmiizations and cleanu * rename, add defaults, and docs * smoke test addition * lintg * normalize weight * update readme * increment cache * Update cost_critic.hpp Signed-off-by: Steve Macenski <[email protected]> * Update cost_critic.cpp Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Brice <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Co-authored-by: Kino <[email protected]> * Use ament_export_targets for all targets (ros-navigation#4112) * Matches new internal ALIAS targets * Use ALIAS targets for all internal linkage * Remove unnecessary calls to ament_target_dependencies in test code * Export includes in proper folders for overlays in colcon Signed-off-by: Ryan Friedman <[email protected]> * Update default recommendation from Obstacles to Cost critic in MPPI (ros-navigation#4170) Signed-off-by: Steve Macenski <[email protected]> * fix merge conflict * Revert "Add velocity based polygon (ros-navigation#3708)" This reverts commit a3ed745. * custom backported version of cost critic inscribed cost --------- Signed-off-by: ARK3r <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: GoesM <[email protected]> Signed-off-by: Felix <[email protected]> Signed-off-by: Antonio Park <[email protected]> Signed-off-by: Alexander Mock <[email protected]> Signed-off-by: Kyungsik Park <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Brice <[email protected]> Signed-off-by: nelson <[email protected]> Signed-off-by: asarazin <[email protected]> Signed-off-by: gg <[email protected]> Signed-off-by: cybaol <[email protected]> Signed-off-by: nfriedrich00 <[email protected]> Signed-off-by: Davide Faconti <[email protected]> Signed-off-by: Jose Faria <[email protected]> Signed-off-by: Ryan Friedman <[email protected]> Signed-off-by: Rhys Mainwaring <[email protected]> Signed-off-by: Brice Renaudeau <[email protected]> Co-authored-by: Reza Kermani <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: bi0ha2ard <[email protected]> Co-authored-by: Felix <[email protected]> Co-authored-by: Antonio Park <[email protected]> Co-authored-by: Alexander Mock <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: nelson <[email protected]> Co-authored-by: anaelle-sw <[email protected]> Co-authored-by: asarazin <[email protected]> Co-authored-by: Joshua Wallace <[email protected]> Co-authored-by: pepisg <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Kino <[email protected]> Co-authored-by: nfriedrich00 <[email protected]> Co-authored-by: Davide Faconti <[email protected]> Co-authored-by: jncfa <[email protected]> Co-authored-by: Ryan <[email protected]> Co-authored-by: pedro-fuoco <[email protected]> Co-authored-by: Rhys Mainwaring <[email protected]> Signed-off-by: MarcM0 <[email protected]>
…gation#4175 (ros-navigation#4180) * replace throw-error with error-log to avoid UAF Signed-off-by: GoesM <[email protected]> * fix typo Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
…gation#4175 (ros-navigation#4180) (ros-navigation#4305) * replace throw-error with error-log to avoid UAF * fix typo --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]>
* replace throw-error with error-log to avoid UAF mentioned in ros-navigation#4175 (ros-navigation#4180) (ros-navigation#4305) * replace throw-error with error-log to avoid UAF * fix typo --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * Cherry-pick from 15c9be0 (ros-navigation#4317) Convert all wall timers and wall rates to ROS clock respecting rates and timers (ros-navigation#4000) * Convert all wall timers and wall rates to ROS clock respecting rates and timers * linty mclint face * WPF wait plugin respect time * move duration metrics to use local clocks * bumping version for cache to break it * complete timing refactor * remove old variable * Add dynamic parameter (ros-navigation#4319) To fix ros-navigation#4315 Signed-off-by: Huy Nguyen Van <[email protected]> * Humble release 11: May 23, 2024 (ros-navigation#4365) * Scale cost critic's weight when dynamically updated (ros-navigation#4246) * Scale cost critic's weight when dynamically updated Signed-off-by: pepisg <[email protected]> * sign off Signed-off-by: pepisg <[email protected]> --------- Signed-off-by: pepisg <[email protected]> * Add expanding the ~/ to the full home dir of user in the path to the map yaml. (ros-navigation#4258) * Add user home expander of home sequence Signed-off-by: Wiktor Bajor <[email protected]> * Add passing home dir as string instead of const char* Signed-off-by: Wiktor Bajor <[email protected]> * Add docs Signed-off-by: Wiktor Bajor <[email protected]> * Fix function declaration Signed-off-by: Wiktor Bajor <[email protected]> * Fix linter issues Signed-off-by: Wiktor Bajor <[email protected]> * Uncrustify linter Signed-off-by: Wiktor Bajor <[email protected]> * Uncrustify linter Signed-off-by: Wiktor Bajor <[email protected]> * Uncrustify linter: remove remove whitespace Signed-off-by: Wiktor Bajor <[email protected]> --------- Signed-off-by: Wiktor Bajor <[email protected]> * Implement Critic for Velocity Deadband Hardware Constraints (ros-navigation#4256) * Adding new velocity deadband critic. - add some tests - cast double to float - add new features from "main" branch - fix formating - add cost test - fix linting issue - add README Signed-off-by: Denis Sokolov <[email protected]> * Remove velocity deadband critic from defaults Signed-off-by: Denis Sokolov <[email protected]> * remove old weight Signed-off-by: Denis Sokolov <[email protected]> * fix velocity deadband critic tests Signed-off-by: Denis Sokolov <[email protected]> --------- Signed-off-by: Denis Sokolov <[email protected]> * removing clearable layer param (unused) (ros-navigation#4280) * provide message validation check API (ros-navigation#4276) * provide validation_message.hpp Signed-off-by: goes <[email protected]> * fix typo Signed-off-by: goes <[email protected]> * add test_validation_messages.cpp Signed-off-by: goes <[email protected]> * change include-order Signed-off-by: goes <[email protected]> * reformat Signed-off-by: goes <[email protected]> * update test Signed-off-by: goes <[email protected]> --------- Signed-off-by: goes <[email protected]> Co-authored-by: goes <[email protected]> * Add footprint clearing for static layer (ros-navigation#4282) * Add footprint clearing for static layer Signed-off-by: Tony Najjar <[email protected]> * fix flckering --------- Signed-off-by: Tony Najjar <[email protected]> * Fix ros-navigation#4268 (ros-navigation#4296) Signed-off-by: Steve Macenski <[email protected]> * Update README.md of nav2_bt_navigator (ros-navigation#4309) Update link to docs Signed-off-by: João Britto <[email protected]> * Fix undefined symbols in `libpf_lib.so` (ros-navigation#4312) When I build `nav2_amcl` with `-Wl,--no-undefined` I noticed `libpf_lib.so` has undefined symbols. This PR correctly links `libpf_lib.so` to `libm` so all symbols can be found. You can verify this by executing the following command: ``` ldd -r ./build/nav2_amcl/src/pf/libpf_lib.so linux-vdso.so.1 (0x00007ffd1f8c0000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x000074e909a00000) /lib64/ld-linux-x86-64.so.2 (0x000074e909e60000) undefined symbol: ceil (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: atan2 (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: sin (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: hypot (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: cos (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: log (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: sqrt (./build/nav2_amcl/src/pf/libpf_lib.so) undefined symbol: floor (./build/nav2_amcl/src/pf/libpf_lib.so) ``` Signed-off-by: Ramon Wijnands <[email protected]> * msg validation check for `/initialpose` in `nav2_amcl` (ros-navigation#4301) * add validation check for PoseWithCovarianceStamped Signed-off-by: goes <[email protected]> * remove rebundant check before Signed-off-by: goes <[email protected]> * reformat Signed-off-by: goes <[email protected]> * typo fixed Signed-off-by: goes <[email protected]> * change the type-name Signed-off-by: goes <[email protected]> * update test Signed-off-by: goes <[email protected]> * reformat Signed-off-by: goes <[email protected]> * . Signed-off-by: goes <[email protected]> * add comment Signed-off-by: goes <[email protected]> * update comment Signed-off-by: goes <[email protected]> * change header Signed-off-by: goes <[email protected]> * update test Signed-off-by: goes <[email protected]> * typo fixed Signed-off-by: goes <[email protected]> --------- Signed-off-by: goes <[email protected]> Co-authored-by: goes <[email protected]> * 4320: Changed precision of calculations of the HybridNode MotionTable::getClosestAngularBin. (ros-navigation#4324) Signed-off-by: Krzysztof Pawełczyk <[email protected]> Co-authored-by: Krzysztof Pawełczyk <[email protected]> * [LifecycleNode] add bond_heartbeat_period (ros-navigation#4342) * add bond_heartbeat_period Signed-off-by: Guillaume Doisy <[email protected]> * lint Signed-off-by: Guillaume Doisy <[email protected]> --------- Signed-off-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> * Update path_longer_on_approach.cpp (ros-navigation#4344) Fix the bug that isPathUpdated function will return false for the reason that it compare the timestaped between new path and old path's last pose Signed-off-by: StetroF <[email protected]> * [LifecycleManagerClient] clean set_initial_pose and navigate_to_pose (ros-navigation#4346) Signed-off-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> * Move projectState after getPointsInside (ros-navigation#4356) * Modify test to check fix Signed-off-by: Brice <[email protected]> * Add static polygon check before simulation Signed-off-by: Brice <[email protected]> --------- Signed-off-by: Brice <[email protected]> * adding final pose in analytic expansion to check (ros-navigation#4353) * fix sync merge conflicts * bump humble to 1.1.15 for release * Revert "[LifecycleNode] add bond_heartbeat_period (ros-navigation#4342)" This reverts commit 6e44178. --------- Signed-off-by: pepisg <[email protected]> Signed-off-by: Wiktor Bajor <[email protected]> Signed-off-by: Denis Sokolov <[email protected]> Signed-off-by: goes <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: João Britto <[email protected]> Signed-off-by: Ramon Wijnands <[email protected]> Signed-off-by: Krzysztof Pawełczyk <[email protected]> Signed-off-by: Guillaume Doisy <[email protected]> Signed-off-by: StetroF <[email protected]> Signed-off-by: Brice <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Wiktor Bajor <[email protected]> Co-authored-by: Sokolov Denis <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: goes <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: João Britto <[email protected]> Co-authored-by: Ramon Wijnands <[email protected]> Co-authored-by: AzaelCicero <[email protected]> Co-authored-by: Krzysztof Pawełczyk <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: StetroF <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> * adding mutex lock around map resizing due to dynamic parameter changes and associated processes (ros-navigation#4373) (ros-navigation#4378) (cherry picked from commit b0abc78) Co-authored-by: Steve Macenski <[email protected]> * Make BT nodes have configurable wait times (Backport ros-navigation#3960 ros-navigation#4178 ros-navigation#4203) (ros-navigation#4409) * WIP: Make BT nodes have configurable wait times. (ros-navigation#3960) * Make BT nodes have configurable wait times. Previous solution provided hardcoded 1s value. Right now the value can be configured for BT Action, Cancel and Service nodes. [ros-navigation#3920] Signed-off-by: Adam Galecki <[email protected]> * Make BT nodes have configurable wait times. Previous solution provided hardcoded 1s value. Right now the value can be configured for BT Action, Cancel and Service nodes. [ros-navigation#3920] Signed-off-by: Adam Galecki <[email protected]> * Fix typos, linting errors and value type from float to int * Fix extra underscores * Fix extra underscore * Update unit tests with blackboard parameter Signed-off-by: Adam Galecki <[email protected]> * Fix formatting errors Signed-off-by: Adam Galecki <[email protected]> * Update system tests to match new parameter Signed-off-by: Adam Galecki <[email protected]> --------- Signed-off-by: Adam Galecki <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> * chore(nav2_behavior_tree): log actual wait period in bt_action_node (ros-navigation#4178) Signed-off-by: Felix <[email protected]> Co-authored-by: Felix <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> * fix missing param declare (ros-navigation#4203) Signed-off-by: nelson <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> * Fix error messages (ros-navigation#4411) Signed-off-by: Christoph Froehlich <[email protected]> --------- Signed-off-by: Adam Galecki <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> Signed-off-by: Felix <[email protected]> Signed-off-by: nelson <[email protected]> Co-authored-by: Adam Gałecki <[email protected]> Co-authored-by: bi0ha2ard <[email protected]> Co-authored-by: Felix <[email protected]> Co-authored-by: nelson <[email protected]> * Enable reloading BT xml file with same name (ros-navigation#4209) (ros-navigation#4422) * Let BtActionServer overwrite xml * Make a ROS parameter for it * Rename flag to always reload BT xml file --------- Signed-off-by: Johannes Huemer <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> Co-authored-by: Johannes Huemer <[email protected]> * fix bug mentioned in ros-navigation#3958 (ros-navigation#3972) (ros-navigation#4463) * bug fixed * add space * Update planner_server.cpp * add space for code style * add childLifecycleNode mode to costmap_2d_ros * add childLifecycleNode mode to costmap_2d_ros * add childLifecycleNode mode to costmap_2d_ros * add childLifecycleNode mode in costmap_2d_ros * add childLifecycleNode mode in costmap_2d_ros * add childLifecycleNode mode in costmap_2d_ros * add ChildLifecycleNode mode in costmap_2d_ros * NodeOption: is_lifecycle_follower_ * NodeOption: is_lifecycle_follower_ * fit to NodeOption: is_lifecycle_follower_ * NodeOption: is_lifecycle_follower_ * fit to NodeOption: is_lifecycle_follower * fit to NodeOption: is_lifecycle_follower * fit reorder Werror * fix wrong use of is_lifecycle_follower * remove blank line * NodeOption: is_lifecycle_follower_ * NodeOption: is_lifecycle_follower_ * Add files via upload * NodeOption: is_lifecycle_follower_ * NodeOption:is_lifecycle_follower_ * NodeOption:is_lifecycle_follower * NodeOption:is_lifecycle_follower * NodeOption:is_lifecycle_follower * change default * add NodeOption for costmap_2d_ros * add node options for costmap2dros as an independent node * code style reformat * fit to NodeOption of Costmap2DROS * fit to NodeOption of Costmap2DROS * fit to NodeOption of Costmap2DROS * Update nav2_costmap_2d/include/nav2_costmap_2d/costmap_2d_ros.hpp * Update nav2_costmap_2d/include/nav2_costmap_2d/costmap_2d_ros.hpp * Update nav2_costmap_2d/include/nav2_costmap_2d/costmap_2d_ros.hpp * changes * comment changes * change get_parameter into =false * comment modification * missing line * Update nav2_costmap_2d/include/nav2_costmap_2d/costmap_2d_ros.hpp * Update nav2_costmap_2d/include/nav2_costmap_2d/costmap_2d_ros.hpp * delete last line * change lifecycle_test fit to NodeOption --------- Co-authored-by: GoesM <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * bt_service_node and bt_action_node: Don't block BT loop (backport ros-navigation#4214) (ros-navigation#4408) (ros-navigation#4475) * bt_service_node and bt_action_node: Don't block BT loop (ros-navigation#4214) * Set smaller timeout for service node * Fix timeout calculation for service node * Add a feasible timeout also for action node --------- * Increasing test count from timeout handling changes (ros-navigation#4234) --------- Signed-off-by: Christoph Froehlich <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Behavior tree node for extracting pose from path (ros-navigation#4518) (ros-navigation#4525) * add get pose from path action Signed-off-by: MarcM0 <[email protected]> * cleanup from PR suggestions Signed-off-by: MarcM0 <[email protected]> * Updates for main compatibility Signed-off-by: MarcM0 <[email protected]> * Lint and build fix Signed-off-by: MarcM0 <[email protected]> * More Lint and warnings Signed-off-by: MarcM0 <[email protected]> * More Lint and build Signed-off-by: MarcM0 <[email protected]> * remove code left over from older file Signed-off-by: MarcM0 <[email protected]> * fix test blackboard var name Signed-off-by: MarcM0 <[email protected]> * only populate pose frame if empty Signed-off-by: MarcM0 <[email protected]> * lint Signed-off-by: MarcM0 <[email protected]> --------- Signed-off-by: MarcM0 <[email protected]> (cherry picked from commit 12a9c1d) Co-authored-by: Marc Morcos <[email protected]> * Make ros-navigation#4525 compile on humble (ros-navigation#4526) * Make it compile on humble Signed-off-by: Christoph Froehlich <[email protected]> * Remove formatting Signed-off-by: Christoph Froehlich <[email protected]> --------- Signed-off-by: Christoph Froehlich <[email protected]> * Fix backward motion for graceful controller (ros-navigation#4527) (ros-navigation#4566) * Fix backward motion for graceful controller Signed-off-by: Alberto Tudela <[email protected]> * Update smooth_control_law.cpp Signed-off-by: Alberto Tudela <[email protected]> --------- Signed-off-by: Alberto Tudela <[email protected]> (cherry picked from commit d1ad640) Co-authored-by: Alberto Tudela <[email protected]> * nav2_collision_monitor dynamic parameters polygon and source enabled for Humble (ros-navigation#4615) * Copy modification from c2d84df into humble collision_monitor for dynamic parameter enabled in polygon * Add the enabled dynamic parameter for source. Signed-off-by: Enzo Ghisoni <[email protected]> * Start backport action_state_ declaration in collision_monitor_node_test.cpp Signed-off-by: EnzoGhisoni <[email protected]> --------- Signed-off-by: EnzoGhisoni <[email protected]> Co-authored-by: EnzoGhisoni <[email protected]> * Humble release 12: August 23 (ros-navigation#4644) * Add configure and cleanup transitions to lifecycle manager and client (ros-navigation#4371) Signed-off-by: Joni Pöllänen <[email protected]> * [RotationShimController] Rotate to goal heading (ros-navigation#4332) When arriving in the goal xy tolerance, the rotation shim controller takes back the control to command the robot to rotate in the goal heading orientation. The initial goal of the rotationShimController was to rotate the robot at the beginning of a navigation towards the paths orientation because some controllers are not good at performing in place rotations. For the same reason, the rotationShimController should be able to rotate the robot towards the goal heading. Signed-off-by: Antoine Gennart <[email protected]> * [RotationShimController] Fix test for rotate to goal heading (ros-navigation#4289) (ros-navigation#4391) * Fix rotate to goal heading tests Signed-off-by: Antoine Gennart <[email protected]> * reset laser_scan_filter before reinit (ros-navigation#4397) Signed-off-by: goes <[email protected]> Co-authored-by: goes <[email protected]> * Warn if inflation_radius_ < inscribed_radius_ (ros-navigation#4423) * Warn if inflation_radius_ < inscribed_radius_ Signed-off-by: Tony Najjar <[email protected]> * convert to error Signed-off-by: Tony Najjar <[email protected]> --------- Signed-off-by: Tony Najjar <[email protected]> * chore: cleanup ros1 leftovers (ros-navigation#4446) Signed-off-by: Rein Appeldoorn <[email protected]> * precomputeDistanceHeuristic is now computed once (ros-navigation#4451) Signed-off-by: Vincent Belpois <[email protected]> Co-authored-by: SiddharthaUpase <[email protected]> * shutdown services in destructor of `ClearCostmapService` (ros-navigation#4495) Signed-off-by: GoesM_server <[email protected]> Co-authored-by: GoesM_server <[email protected]> * fix(nav2_costmap_2d): make obstacle layer not current on enabled toggle (ros-navigation#4507) Signed-off-by: Kemal Bektas <[email protected]> Co-authored-by: Kemal Bektas <[email protected]> * min_turning_r_ getting param fix (ros-navigation#4510) * min_turning_r_ getting param fix Signed-off-by: Ivan Radionov <[email protected]> * Update nav2_mppi_controller/include/nav2_mppi_controller/motion_models.hpp Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Ivan Radionov <[email protected]> --------- Signed-off-by: Ivan Radionov <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Co-authored-by: Ivan Radionov <[email protected]> Co-authored-by: Steve Macenski <[email protected]> * Return out of map update if frames mismatch. Signed-off-by Joey Yang (ros-navigation#4517) Signed-off-by: Joey Yang <[email protected]> * check nullptr in smoothPlan() (ros-navigation#4544) * check nullptr in smoothPlan() Signed-off-by: GoesM <[email protected]> * code-style Signed-off-by: GoesM <[email protected]> * code-style Signed-off-by: GoesM <[email protected]> * simple change Signed-off-by: GoesM <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> * bump to 1.1.15 Signed-off-by: Steve Macenski <[email protected]> * Revert "Add configure and cleanup transitions to lifecycle manager and client (ros-navigation#4371)" This reverts commit 06ec958. * fix merge conflict with humble sync * fix merge conflict with humble sync --------- Signed-off-by: Joni Pöllänen <[email protected]> Signed-off-by: Antoine Gennart <[email protected]> Signed-off-by: Antoine Gennart <[email protected]> Signed-off-by: goes <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Rein Appeldoorn <[email protected]> Signed-off-by: Vincent Belpois <[email protected]> Signed-off-by: GoesM_server <[email protected]> Signed-off-by: Kemal Bektas <[email protected]> Signed-off-by: Ivan Radionov <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: Joey Yang <[email protected]> Signed-off-by: GoesM <[email protected]> Co-authored-by: Joni Pöllänen <[email protected]> Co-authored-by: Saitama <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: goes <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: Rein Appeldoorn <[email protected]> Co-authored-by: Vincent <[email protected]> Co-authored-by: SiddharthaUpase <[email protected]> Co-authored-by: Kemal Bektas <[email protected]> Co-authored-by: Kemal Bektas <[email protected]> Co-authored-by: Ivan Radionov <[email protected]> Co-authored-by: Ivan Radionov <[email protected]> Co-authored-by: Joey Yang <[email protected]> * Fixing ros-navigation#4661: MPPI ackermann reversing taking incorrect sign sometimes (ros-navigation#4664) (ros-navigation#4668) * Fixing ros-navigation#4661: MPPI ackermann reversing taking incorrect sign sometimes Signed-off-by: Steve Macenski <[email protected]> * fixing unit test for type implicit cast Signed-off-by: Steve Macenski <[email protected]> --------- Signed-off-by: Steve Macenski <[email protected]> (cherry picked from commit 7eb47d8) Co-authored-by: Steve Macenski <[email protected]> --------- Signed-off-by: GoesM <[email protected]> Signed-off-by: Huy Nguyen Van <[email protected]> Signed-off-by: pepisg <[email protected]> Signed-off-by: Wiktor Bajor <[email protected]> Signed-off-by: Denis Sokolov <[email protected]> Signed-off-by: goes <[email protected]> Signed-off-by: Tony Najjar <[email protected]> Signed-off-by: Steve Macenski <[email protected]> Signed-off-by: João Britto <[email protected]> Signed-off-by: Ramon Wijnands <[email protected]> Signed-off-by: Krzysztof Pawełczyk <[email protected]> Signed-off-by: Guillaume Doisy <[email protected]> Signed-off-by: StetroF <[email protected]> Signed-off-by: Brice <[email protected]> Signed-off-by: Adam Galecki <[email protected]> Signed-off-by: Christoph Froehlich <[email protected]> Signed-off-by: Felix <[email protected]> Signed-off-by: nelson <[email protected]> Signed-off-by: Johannes Huemer <[email protected]> Signed-off-by: EnzoGhisoni <[email protected]> Signed-off-by: Joni Pöllänen <[email protected]> Signed-off-by: Antoine Gennart <[email protected]> Signed-off-by: Antoine Gennart <[email protected]> Signed-off-by: Rein Appeldoorn <[email protected]> Signed-off-by: Vincent Belpois <[email protected]> Signed-off-by: GoesM_server <[email protected]> Signed-off-by: Kemal Bektas <[email protected]> Signed-off-by: Ivan Radionov <[email protected]> Signed-off-by: Joey Yang <[email protected]> Signed-off-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: GoesM <[email protected]> Co-authored-by: Benjamin-Tan <[email protected]> Co-authored-by: Huy Nguyen Van <[email protected]> Co-authored-by: Steve Macenski <[email protected]> Co-authored-by: Pedro Alejandro González <[email protected]> Co-authored-by: Wiktor Bajor <[email protected]> Co-authored-by: Sokolov Denis <[email protected]> Co-authored-by: Tony Najjar <[email protected]> Co-authored-by: João Britto <[email protected]> Co-authored-by: Ramon Wijnands <[email protected]> Co-authored-by: AzaelCicero <[email protected]> Co-authored-by: Krzysztof Pawełczyk <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: Guillaume Doisy <[email protected]> Co-authored-by: StetroF <[email protected]> Co-authored-by: BriceRenaudeau <[email protected]> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Christoph Fröhlich <[email protected]> Co-authored-by: Adam Gałecki <[email protected]> Co-authored-by: bi0ha2ard <[email protected]> Co-authored-by: Felix <[email protected]> Co-authored-by: nelson <[email protected]> Co-authored-by: Johannes Huemer <[email protected]> Co-authored-by: Marc Morcos <[email protected]> Co-authored-by: Alberto Tudela <[email protected]> Co-authored-by: Enzo Ghisoni <[email protected]> Co-authored-by: EnzoGhisoni <[email protected]> Co-authored-by: Joni Pöllänen <[email protected]> Co-authored-by: Saitama <[email protected]> Co-authored-by: Rein Appeldoorn <[email protected]> Co-authored-by: Vincent <[email protected]> Co-authored-by: SiddharthaUpase <[email protected]> Co-authored-by: Kemal Bektas <[email protected]> Co-authored-by: Kemal Bektas <[email protected]> Co-authored-by: Ivan Radionov <[email protected]> Co-authored-by: Ivan Radionov <[email protected]> Co-authored-by: Joey Yang <[email protected]>
Bug report
Required Info:
Steps to reproduce issue
I encounter this UAF-bug many times when using the Nav2Goal feature
Launch the navigation2 normally, as following steps:
Keep sending
Nav2Goal
in rviz2-displayer or sending goal by commandros2 action send_goal
or send msm into topic/goal_pose
, in which the goal_pose is random.Finally sent Ctrl+C to shutdown navigation2, which is before stop the action-sending and even before the latest action-goal finished.
An ASAN report file was discovered in my execution environment.
Expected behavior
Actual behavior
The ASAN reporting a use-after-free bug to me, as following:
Additional information
simple analysis:
1> During the shutdown period, a difficult to execute action thread is currently blocking and has received a shutdown signal
2> nav2 starts resource cleaning, and finally nav2_bt_navigator is released as a whole. The destructor releases all the pointers it creates, but the actionServer thread is still executing, resulting in UAF access.
The text was updated successfully, but these errors were encountered: