-
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
Publish optimal trajectory as a Path message #4639
Publish optimal trajectory as a Path message #4639
Conversation
ros-navigation#3036) (ros-navigation#3041) * - Modified findVelocitySignChange method to transform cusp into robot frame before returning distance_to_cusp * - Previous commit had incorrect usage of method transformPose based on different nav2 branch. - Now a placeholder pose, input pose and desired frame id is passed. * - Previous commit had incorrect usage of method transformPose based on different nav2 branch. - Now a placeholder pose, input pose and desired frame id is passed. Signed-off-by: Steven Brills <sbrills@hotmail.com> * Failed lint check due to stray blank line. Removed the blank line * - Modified findVelocitySignChange function to take the transformed plan in robot's frame - Removed need to pass pose to the findVelocitySignChange function * - Modified the test file to reflect change in new parameters that findVelocitySignChange expects. Signed-off-by: Steven Brills <stevenbrills@hotmail.com> * - Corrected call to transformGlobalPoseWrapper method of BasicAPIRPP object. Signed-off-by: Steven Brills <stevenbrills@hotmail.com> * - transformGlobalPlanWrapper call bug fix Signed-off-by: Steven Brills <stevenbrills@hotmail.com> * - Updated tests now require frame_id and time_stamp for conversion since transformed plan is to be used. Signed-off-by: Steven Brills <stevenbrills@hotmail.com> * - Missing ; in test method Signed-off-by: Steven Brills <stevenbrills@hotmail.com> * -Modified findVelocitySignChange tests in test_regulated_pp to use transformed_plan instead * -Modified findVelocitySignChange tests in test_regulated_pp to use transformed_plan instead Signed-off-by: Steven Brills <stevenbrills@hotmail.com> Co-authored-by: Steven Brills <sbrills@aethon.com> (cherry picked from commit 99bec08) Co-authored-by: stevenbrills <90438581+stevenbrills@users.noreply.github.com>
… (ros-navigation#3056) * first draft for goal updated controller Signed-off-by: relffok <57466265+relffok@users.noreply.github.com> * added goal_updated_controller to all yamls * added GoalUpdatedController API * added GoaUpdatedController to default plugins * removed first_time param * added test for GoalUpdatedController * linter fix (cherry picked from commit 28d16ab) Co-authored-by: relffok <57466265+relffok@users.noreply.github.com>
…tion#3069) * forward porting ros-navigation#3053 * adding TF warning suggestion (cherry picked from commit bb0d177) Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
…igation#3125) (cherry picked from commit ef76b5b) Co-authored-by: autome <rohit.bhor111.rb@gmail.com>
* Fix size_t format specifier (ros-navigation#3003) * clear up params file (ros-navigation#3004) Signed-off-by: zhenpeng ge <zhenpeng.ge@qq.com> * Bt test fix (ros-navigation#2999) * fixed tests * undo * linting fix (ros-navigation#3007) Signed-off-by: zhenpeng ge <zhenpeng.ge@qq.com> * Add nav2_constrained_smoother to metapackage * adding humble release to table (ros-navigation#3008) * Fix for costmap nodes lifecycle status (ros-navigation#3009) Lifecycle status for global and local cost nodes not correct. ros2 lifecycle/service commands shows unconfigured for these two. This is due to directly calling on_configure/on_activate/on_cleanup calls in parent node. This PR to replace on_xxxxxx() to configure()/activate()/cleanup() calls of lifecycle base. Signed-off-by: Arshad <arshad.mehmood@intel.com> * Get parameters on configure transition addressing ros-navigation#2985 (ros-navigation#3000) * Get parameters on configure transition Signed-off-by: MartiBolet <mboletboixeda@gmail.com> * Remove past setting of parameters Signed-off-by: MartiBolet <mboletboixeda@gmail.com> * Expose transition functions to public for test Signed-off-by: MartiBolet <mboletboixeda@gmail.com> * fix: wrong input type in navigate_to_pose_action.hpp and navigate_to_… (ros-navigation#2994) * fix: wrong input type in navigate_to_pose_action.hpp and navigate_to_pose_action.hpp * Update navigate_through_poses_action.hpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Nav2 Velocity Smoother (ros-navigation#2964) * WIP velocity smoother with ruckig * a few comments * vel smoother prototype * updating defaults * adding defaults to readme * removing note from readme * updates to velocity smoother TODO items * adding unit tests * finishing system tests * adding failure to change parameters tests * fix last bits * fixing negative sign bug * lint * update tests * setting defaults * Adding warning * Update velocity_smoother.cpp * Fixing rebase issue * adding plugin type for static in local + removing unused print (ros-navigation#3021) * removed extra includes (ros-navigation#3026) * remove extra sub (ros-navigation#3025) * Fix missing dependency on nav2_velocity_smoother (ros-navigation#3031) * adding timeout for action client initialization (ros-navigation#3029) * adding timeout for action client initialization Signed-off-by: Vinny Ruia <vinny.ruia@fireflyautomatix.com> * adding constant 1s timeout, catching exception Signed-off-by: Vinny Ruia <vinny.ruia@fireflyautomatix.com> * cleanup warnings (ros-navigation#3028) * cleanup warnings * removed referenc * installing plugins folder of nav2_behaviors package (ros-navigation#3051) Co-authored-by: Srijanee Biswas <srijanee.biswas@toyotatmh.com> * Completed PR 2929 (ros-navigation#3038) * accepting empty yaml_filename if no initial map is available * invalid load_map-request does not invalidate existing map, added Testcase * style * finish PR 2929 * finish linting * removing change * removing change * Update test_map_server_node.cpp * Update test_map_server_node.cpp Co-authored-by: Nikolas Engelhard <nikolas.engelhard@gmail.com> * zero z values in rpp transformed plan (ros-navigation#3066) * removing get node options default for nav2 utils (ros-navigation#3073) * adding looping timeout for lifecycle service clients + adding string name of action for BT action nodes (ros-navigation#3071) * adding looping timeout for lifecycle service clients + adding string name of action for BT action nodes * fix linting * remove inline comment * adding goal updated controller node to test * Smac Planner 2D changes (ros-navigation#3083) * removing 4-connected option from smac; fixing 2D heuristic and traversal function from other planner's changes * fix name of variable since no longer a neighborhood * partial test updates * ported unit tests fully * revert to no costmap downsampling * Collision monitor (ros-navigation#2982) * Add Collision Monitor node * Meet review items * Fix next review items * Code cleanup * Support dynamic footprint. More optimizations. * Switch to multiple footprints. Move variables. Remove odom subscriber. Add 0-velocity optimization * Update nav2_collision_monitor/include/nav2_collision_monitor/polygon.hpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/params/collision_monitor_params.yaml Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/params/collision_monitor_params.yaml Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/params/collision_monitor_params.yaml Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Meet smaller review items * Add fixes found during unit test development * Fix uncrustify issues * Add unit tests * Fix number of polygons points * Move tests * Add kinematics unit test * Minor tests fixes * Remove commented line * Add edge case checking testcase and references * Update comment * Add README.md * Fixed table * Minor changes in README.md * Fix README.md for documentation pages * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_collision_monitor/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Meet review items * Meet review items (part 2) * Update polygons picture for README * Change simulation_time_step to 0.1 * Fix bounding boxes to fit the demo from README.md * Terminology fixes Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * removing the extra argument in class dec (ros-navigation#3084) * Fix for ros-navigation#3078, fix image path in YAML (ros-navigation#3082) * Fix for ros-navigation#3078, fix image path in YAML * Update map_io.cpp * Update map_io.cpp * Update map_io.cpp * Update map_io.cpp * do not depend on velocity for approach scaling (ros-navigation#3047) * do not depend on velocity for approach scaling * add approach_velocity_scaling_dist to README * do not pass references to shared ptr * fixup! do not pass references to shared ptr * fix approach velocity scaling compile issues * default approach_velocity_scaling_dist based on costmap size * change default approach_velocity_scaling_dist to 0.6 to match previous behavior * update tests for approach velocity scaling * remove use_approach_linear_velocity_scaling from readme * smooth approach velocity scaling * Use correct timeout when checking future (ros-navigation#3087) * Adds missing commas so default plugin names are not stuck together (ros-navigation#3093) Signed-off-by: Aaron Chong <aaronchongth@gmail.com> Signed-off-by: Aaron Chong <aaronchongth@gmail.com> * Fix Costmap Filters system tests (ros-navigation#3120) * Fix Costmap Filters system tests * Update map_io.cpp Co-authored-by: Alexey Merzlyakov <alexey.merzlyakov@samsung.com> * Finding distance H if obstacle H is <= 0 (ros-navigation#3122) * adding checks on goal IDs in results for waypoint follower (ros-navigation#3130) * ComputePathToPose Sets empty path on blackboard if action is aborted or cancelled (ros-navigation#3114) * set empty path on black on failure * docs * switched to correct message type * set empty path for compute_path_through_poses * Ignore feedback from old goals in waypoint follower (ros-navigation#3139) * apply joinchar in pathify (ros-navigation#3141) Co-authored-by: kevin <kevin@floatic.io> * Log level (ros-navigation#3110) * added log level for navigation launch * localization log level * slam log level * revert use_comp * added log level to components * linting and uncrusitfy fixes for CI (ros-navigation#3144) * start is now added to the path (ros-navigation#3140) * start is now added to the path * lint fix * Update README.md (ros-navigation#3147) Current example doesn't work with the updates. * fixing linting problem * Setting map map's yaml path to empty string, since overridden in launch (ros-navigation#3123) * Update nav2_params.yaml * Update nav2_params.yaml * Update nav2_params.yaml * bumping to 1.1.1 for release Signed-off-by: zhenpeng ge <zhenpeng.ge@qq.com> Signed-off-by: Arshad <arshad.mehmood@intel.com> Signed-off-by: MartiBolet <mboletboixeda@gmail.com> Signed-off-by: Vinny Ruia <vinny.ruia@fireflyautomatix.com> Signed-off-by: Aaron Chong <aaronchongth@gmail.com> Co-authored-by: M. Mostafa Farzan <m2_farzan@yahoo.com> Co-authored-by: Zhenpeng Ge <zhenpeng.ge@qq.com> Co-authored-by: Joshua Wallace <47819219+jwallace42@users.noreply.github.com> Co-authored-by: Arshad Mehmood <arshad.mehmood@intel.com> Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com> Co-authored-by: shoufei <907575489@qq.com> Co-authored-by: hodnajit <jitkahodna67@gmail.com> Co-authored-by: Vinny Ruia <vinny.ruia@fireflyautomatix.com> Co-authored-by: SrijaneeBiswas <30804865+SrijaneeBiswas@users.noreply.github.com> Co-authored-by: Srijanee Biswas <srijanee.biswas@toyotatmh.com> Co-authored-by: Nikolas Engelhard <nikolas.engelhard@gmail.com> Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com> Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com> Co-authored-by: nakai-omer <108797279+nakai-omer@users.noreply.github.com> Co-authored-by: Samuel Lindgren <samuel@dynorobotics.se> Co-authored-by: Aaron Chong <aaronchongth@gmail.com> Co-authored-by: Alexey Merzlyakov <alexey.merzlyakov@samsung.com> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: 정찬희 <60467877+ladianchad@users.noreply.github.com> Co-authored-by: kevin <kevin@floatic.io> Co-authored-by: Austin Greisman <92941098+austin-InDro@users.noreply.github.com>
…r plugin (ros-navigation#3211) (ros-navigation#3215) This allows considering full range observations, specified by the <data source>.min_obstacle_height and <data source>.max_obstacle_height especially used for the raytracing, but to still be able to specify a minimum obstacle height to report obstacles onto the costmap. This is in particular required in the case a PointCloud2 source points slightly towards the ground, sometimes detecting obstacles, that should be cleared once the ground reappears behind the obstacle when it has moved away: we don't want to detect the ground as an obstacle, but still want it to be used in the raytracing to clear the previously detected obstacle. (cherry picked from commit 0b4179b) Co-authored-by: milidam <milidam@users.noreply.github.com>
* standalone assisted teleop (ros-navigation#2904) * standalone assisted teleop * added in action message * code review * moved to behavior server * added assisted teleop bt node * revert * added bt node for assisted teleop * lint fix * added cancel assisted teleop node * code review * working * cleanup * updated feeback * code review * update compute velocity * cleanup * lint fixes * cleanup * test fix * starting to add tests for assisted teleop * fixed tests * undo * fixed test * is_recovery * adjust abort result based on recovery or not * code review * added preempt velocity * working preempt assisted teleop test * completed assisted teleop tests * code review * undo * code review * remove sleep * topic rename * missing comma * added comma :( * added comma Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Add the support of range sensors to Collision Monitor (ros-navigation#3099) * Support range sensors in Collision Monitor * Adjust README.md * Meet review fixes * Fix ros-navigation#3152: Costmap extend did not include Y component (ros-navigation#3153) * missing nodes added to nav2_tree_nodes.xml (ros-navigation#3155) * Change deprecated ceres function (ros-navigation#3158) * Change deprecated function * Update smoother_cost_function.hpp * remove camera_rgb_joint since child frame does not exist (ros-navigation#3162) * bugfix (ros-navigation#3109) deadlock when costmap receives new map (ros-navigation#3145) * bugfix (ros-navigation#3109) deadlock when costmap receives new map Signed-off-by: Daisuke Sato <daisukes@cmu.edu> * introduce map_received_in_update_bounds_ flag to make sure processMap will not be called between updateBounds and updateCosts Signed-off-by: Daisuke Sato <daisukes@cmu.edu> Signed-off-by: Daisuke Sato <daisukes@cmu.edu> * simple command costmap api - first few functions (ros-navigation#3159) * initial commit costmap_2d template Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com> * finish task A and tested * lint * Update nav2_simple_commander/nav2_simple_commander/costmap_2d.py Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * fix trailing underscores Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Fix missing dependency on nav2_collision_monitor (ros-navigation#3175) * fixed start (ros-navigation#3168) * fixed start * return true * fix tests * Fix velocities comparison for rotation at place case (ros-navigation#3177) * Fix velocities comparison for rotation at place case * Meet review item * Remove unnecessary header * Change the comment * set a empty path on halt (ros-navigation#3178) * set a empty path on halt * fixed issues * remove path reset * fixing * reverting * revert * revert * fixed lint * test fix * uncrusify fix * simple command costmap api - update few functions (ros-navigation#3169) * * add aditional function to costmap_2d.py Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com> Updated-by: Jaehun Kim <k9632441@gmail.com> * finish task B * Update nav2_simple_commander/nav2_simple_commander/costmap_2d.py * Update method docs * Remove underscores at parameters and split getCost into getCostXY and getCostIdx * Update method docstrings * lint code & update docstring, remove default value of getCostXY * lint code with pep257 & flake8 * clear names for bt nodes (ros-navigation#3183) * [Smac] check if a node exists before creating (ros-navigation#3195) * check if a node exists before creating * invert logic to group like with like * Update a_star.cpp * fixing benchmarkign for planners (ros-navigation#3202) * [Smac] Robin hood data structure improves performance by 10-15%! (ros-navigation#3201) * adding robin_hood unordered_map * using robin_hood node map * ignore robin_hood file * linting * linting cont. for triple pointers * linting cont. for uncrustify * [RPP] Add parameter to enable/disable collision detection (ros-navigation#3204) * [RPP] Add parameter to enable/disable collision detection * [RPP] Update README * Update waffle.model * add benchmark launch file + instructions (ros-navigation#3218) * removing hypotf from smac planner heuristic computation (ros-navigation#3217) * removing hypotf * swapping to node2d sqrt * complete smac planner tolerances (ros-navigation#3219) * Disable Output Buffering (ros-navigation#3220) To ensure await asyncio prints [Processing: %s]' every 30s as expected * fix majority of python linting errors introduced in python costmap API additions to get CI turning over again (ros-navigation#3223) * fix majority of python linting errors * finish linting * Assisted teleop simple commander (ros-navigation#3198) * add assisted teleop to python api * cleanup * assisted teleop demo * rename * lint * code review * trigger build * flake8 fix * break cashe * moved all v11 to v12 * lint fix * remove package dep * change default time allowance * Costmap Filter enabling service (ros-navigation#3229) * Add enabling service to costmap filters * Add service testcase * Fix comment * Use toggle_filter service name * Add binary flip costmap filter (ros-navigation#3228) * Add binary flip costmap filter * Move transformPose, worldToMask, getMaskData to CostmapFilter * Added default parametrized binary filter state * Switched to std_msgs/msg/Bool.msg * Use arbitrary filter values * Update waffle.model * Update waffle.model * Update test_actions.cpp * odom alpha restriction to avoid overflow caused by user-misconfiguration (ros-navigation#3238) * odom alpha restriction * odom alpha code style * odom alpha code style * odom alpha code style * Update controller server goal checker (ros-navigation#3240) * [FIX] Update controller server goal checker * [FIX] Autoformat code * [FIX] Misplaced tabs. Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> * map-size restriction to avoid overflow and nullptr caused by user-misconfiguration (ros-navigation#3242) * odom alpha restriction * odom alpha code style * odom alpha code style * odom alpha code style * map-size restriction * map-size code style * map-size rejection * map-size codestyle * map-size return false * Add Path Smoothers Benchmarking suite (ros-navigation#3236) * Add Path Smoothers Benchmarking suite * Meet review items * Update tools/smoother_benchmarking/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Move optional performance patch to the end of README * Fix README Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Fix typo (ros-navigation#3262) * Adding new Nav2 Smoother: Savitzky-Golay Smoother (ros-navigation#3264) * initial prototype of the Savitzky Golay Filter Path Smoother * fixed indexing issue - tested working * updates for filter * adding unit tests for SG-filter smoother * adding lifecycle transitions * Added Line Iterator (ros-navigation#3197) * Added Line Iterator * Updated Line Iterator to a new iteration method * Added the resolution as a parameter/ fixed linting * Added the resolution as a parameter/ fixed linting * Added unittests for the line iterator * Added unittests based on "unittest" package * Fixed __init__.py and rephrased some docstrings * Fixed linting errors * Fixed Linting Errors * Added some unittests and removed some methods * Dummy commit for CircleCI Issue Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com> * bumping to 1.1.3 for release Signed-off-by: Daisuke Sato <daisukes@cmu.edu> Signed-off-by: Stevedan Omodolor <stevedan.o.omodolor@gmail.com> Co-authored-by: Joshua Wallace <47819219+jwallace42@users.noreply.github.com> Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Co-authored-by: Abdullah Enes BEDİR <46785079+enesbedir1@users.noreply.github.com> Co-authored-by: Tobias Fischer <info@tobiasfischer.info> Co-authored-by: Tejas Kumar Shastha <tejas.kumar.shastha@ipa.fraunhofer.de> Co-authored-by: Daisuke Sato <43101027+daisukes@users.noreply.github.com> Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com> Co-authored-by: Lukas Fanta <63977366+fantalukas@users.noreply.github.com> Co-authored-by: Jackson9 <k9632441@gmail.com> Co-authored-by: Ruffin <roxfoxpox@gmail.com> Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com> Co-authored-by: Nicolas Rocha Pacheco <n.nicolas98@hotmail.com> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com> Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com> Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
* remove exec_depend on behaviortree_cpp_v3 (ros-navigation#3279) * BT Service Node to throw if service was not available in time (ros-navigation#3256) * throw if service server wasn't available in time mimic the behavior of the bt action node constructor * throw if action unavailable in bt cancel action * use chrono literals namespace * fix linting errors * fix code style divergence * Remove duplicate of nav2_back_up_cancel_bt_node (ros-navigation#3332) * Remove unused velocity scaling config from example xml (ros-navigation#3330) Signed-off-by: Borong Yuan <yuanborong@hotmail.com> Signed-off-by: Borong Yuan <yuanborong@hotmail.com> * Make mapUpdateLoop() indicator variables to be thread-safe (ros-navigation#3308) * Ensure that plugin initialization to be called before updating routines (ros-navigation#3307) * Solve bug when CostmapInfoServer is reactivated (ros-navigation#3292) * Solve bug when CostmapInfoServer is reactivated * Implemented smoother selector bt node (ros-navigation#3283) * Implemented smoother selector bt node Signed-off-by: Owen Hooper <17ofh@queensu.ca> * updated copyright in modified file Signed-off-by: Owen Hooper <17ofh@queensu.ca> Signed-off-by: Owen Hooper <17ofh@queensu.ca> * Add allow_unknown parameter to theta star planner (ros-navigation#3286) * Add allow unknown parameter to theta star planner * Add allow unknown parameter to tests * missing comma * Change cost of unknown tiles * Uncrustify * bump to 1.1.3 for humble sync 3 Signed-off-by: Borong Yuan <yuanborong@hotmail.com> Signed-off-by: Owen Hooper <17ofh@queensu.ca> Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com> Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com> Co-authored-by: Sven Langner <svenlr@users.noreply.github.com> Co-authored-by: Borong Yuan <yuanborong@hotmail.com> Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com> Co-authored-by: Owen Hooper <17ofh@queensu.ca> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
…on#3337) * Revert "remove exec_depend on behaviortree_cpp_v3 (ros-navigation#3279)" (ros-navigation#3336) This reverts commit 90ae5cc. * bump to 1.1.5 for release
* Std::string doesn't have such constructor, therefore wrong exception happens when waiting for action server is over (ros-navigation#3333) * Update bt_action_node.hpp * Update bt_cancel_action_node.hpp * Update bt_action_node.hpp * Update bt_cancel_action_node.hpp * Do only consider enabled costmap plugins/filters in the isCurrent() method of a LayeredCostmap (ros-navigation#3356) * Do only consider enabled costmap plugins/filters in the isCurrent() method of a LayeredCostmap When clearing entirely a costmap (see the `clear_entirely_*` service), its layers are reset. This sets their `current_` attribute to False, until they are updated (`updateCosts()`). However, for disabled plugins/filters, the `updateCosts()` is bypassed so that the `current_` attribute is never reset to True, and the costmap never becomes "current" again; because of that the controller_server used to get stuck in an endless loop (see `while (!costmap_ros_->isCurrent())` in `ControllerServer::computeControl()`). This patch fixes that by adding a condition for not considering disabled plugins/filters in the `LayeredCostmap::isCurrent()`. * Add forgotten Layer::isEnabled() definition * Export ompl include directories from nav2_smac_planner. (ros-navigation#3358) * Update default w_smooth to 2M (ros-navigation#3341) * Fix nav2_velocity_smoother for sim time (ros-navigation#3360) * Fix nav2_velocity_smoother for sim time * Update nav2_velocity_smoother/src/velocity_smoother.cpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * catch general exceptions (ros-navigation#3373) * catch general exceptions * Update controller_server.cpp * nav2_tree_nodes: rename "service_name" input port for action nodes (ros-navigation#3370) Classes inheriting from nav2_behavior_tree::BtActionNode use "server_name" as input port. The "service_name" input port is reserved to sub-classes of nav2_behavior_tree::BtServiceNode. There seemed to be a confusion in the nav2_tree_nodes.xml file. * Fixing Theta* test failures (ros-navigation#3380) * adding printouts since can't see locally * one more to isolate * request in bounds * remove prints * Fix SpeedController (ros-navigation#3378) * Fix SpeedController * Using blackboard get() method that does not throw error * Share odom_smoother on the blackboard Signed-off-by: Borong Yuan <yuanborong@hotmail.com> * Fix SpeedController linting and test errors Signed-off-by: Borong Yuan <yuanborong@hotmail.com> Signed-off-by: Borong Yuan <yuanborong@hotmail.com> * node_name change during initialization (ros-navigation#3387) * Added missing conditions to nav2_tree_nodes (ros-navigation#3401) * Add WouldAControllerRecoveryHelp and WouldAPlannerRecoveryHelp to nav2_tree_nodes * Add WouldAControllerRecoveryHelp and WouldAPlannerRecoveryHelp...... to nav2_tree_nodes * Update nav2_tree_nodes.xml --------- Co-authored-by: blanker <you@example.com> * Fix multi-robot launch issues (ros-navigation#3383) * Fix multi-robot launch issues: * Use full name of composable nodes container * Correct and update BT plugins and error codes list * Fix and update local and global costmap used plugins parameters * Do not publish voxel map for multi-robot case * Update controller_server.cpp * Update nav2_smoother.cpp --------- Signed-off-by: Borong Yuan <yuanborong@hotmail.com> Co-authored-by: Andrii Maistruk <71632363+andriimaistruk@users.noreply.github.com> Co-authored-by: milidam <milidam@users.noreply.github.com> Co-authored-by: Marc Alban <marcalban@gmail.com> Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Co-authored-by: HovorunB <87417416+HovorunB@users.noreply.github.com> Co-authored-by: DylanDeCoeyer-Quimesis <102609575+DylanDeCoeyer-Quimesis@users.noreply.github.com> Co-authored-by: Borong Yuan <yuanborong@hotmail.com> Co-authored-by: Austin Greisman <92941098+austin-InDro@users.noreply.github.com> Co-authored-by: muttistefano <mutti.stefano.jp@gmail.com> Co-authored-by: blanker <you@example.com>
* Adding new MPPI controller to Nav2 (ros-navigation#3350) * adding new MPPI controller to Nav2 * fixing rename for Nav2 staging * using larger resource class * fix plugin name * wz typo * add mppi gif * Update defaults.yaml * Update makeflags to match core count of resource_class: large * Bump cache version for testing CI changes * fixing tests * remove unused function * Update config.yml * adding a little more detail * adding contextual note * adding contextual exceptions * Fix using different frame for global and local costmap (ros-navigation#3425) * getGlobalPlanConsideringBoundsInCostmapFrame Replace transformPlanPosesToCostmapFrame and getGlobalPlanConsideringBounds by getGlobalPlanConsideringBoundsInCostmapFrame * use stamp from robot pose for transform * style * fix test * lint test --------- Co-authored-by: Guillaume Doisy <guillaume@dexory.com> --------- Co-authored-by: ruffsl <roxfoxpox@gmail.com> Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com> Co-authored-by: Guillaume Doisy <guillaume@dexory.com> (cherry picked from commit 8d4f6f4) * Replace nav2_core exceptions with std::runtime_error * Get inflation layer parameters from node params * remove changes unrelated to mppi * fix eol * Add reset behavior (draft) * initialize last_time_called_ * add readme for reset_period * Revert "remove changes unrelated to mppi" This reverts commit 55fec35. * changing MPPI's SG filter to 9-point formulation (prev. 5) (ros-navigation#3444) * changing filter to 9 * fix tests (cherry picked from commit 7aee1e7) * Adapt tests to humble Costmap2DROS constructor * cpplint * Update nav2_mppi_controller/README.md Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * address time comment * fix API change rclcpp::ServicesQoS() * fix CI --------- Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
…avigation#3453) * use path distance instead of euclidean for upper bound search * rename to pruned_plan_end * rename to pruned_plan_end * fix tests * do not use prune_distance to limit the search for the closest pose --------- Co-authored-by: Guillaume Doisy <guillaume@dexory.com> (cherry picked from commit 34f18d9) Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com>
ros-navigation#3458) (ros-navigation#3459) (cherry picked from commit d429143) Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
(cherry picked from commit 0a63bf9) Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
(cherry picked from commit e725903) Co-authored-by: Tony Najjar <tony.najjar@logivations.com>
Prevent cost to be modified twice. (cherry picked from commit 482017c) Co-authored-by: HAIDAR OBEID <31267966+ObeidHaidar@users.noreply.github.com>
* Option allowing to use simple lookupTransform API (ros-navigation#3412) * Option allowing to use simple lookupTransform API ignoring time shifts between source and base frame during the movement * Refine comments * Fix wrong warning message format (ros-navigation#3416) * Fix wrong warning message format (Closes ros-navigation#3415) * fix code formatting * nav2_dwb_controller: add forward_prune_distance parameter (ros-navigation#3374) Until now, the prune_distance was used as distance threshold to shorten the upcoming path when shorten_transformed_plan was enabled. However, the prune and shortening mechanisms are de-correlated mechanisms. One could wish to use a different shortening distance for upcoming points, than the prune distance used for passed points. For this reason, a new parameter "forward_prune_distance" was added. * Fix service_name for server_name in cancel assisted teleop node * Fix mask coordinates calculation in worldToMask (ros-navigation#3418) * Remove goal checker default from follow path node * Correct CostmapFilters copyrights (ros-navigation#3423) * Correct the parameter description for AMCL (ros-navigation#3451) Signed-off-by: Trung Kien <letrungkien.k53.hut@gmail.com> * Add default service name to BTServiceNode (ros-navigation#3448) * Add default service name to BtServiceNode * docstring * fix initialization-list order * Update nav2_behavior_tree/include/nav2_behavior_tree/bt_service_node.hpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> --------- Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Fix Typos (ros-navigation#3452) * removing galactic from table as EOL (ros-navigation#3460) * Support for Dev Containers and Codespaces (ros-navigation#3457) * Alias image tag over current branch name * Duplicate build and push steps for dev tag * Alias image tag over current branch name * Modify build and push steps for dev tag * Build and push dev tag first to not cache from stale stages as otherwise caching from multple regestry images seems error prone * Revert "Build and push dev tag first" as otherwise the build failer durring the dev tag could then still block build of the main tag This reverts commit 12dd5b1. * Cache from multple reference images while giving layers from the main tag priority this assumes that cache-from prioritizes firstly listed references https://github.com/moby/buildkit/blob/0ad8d61575be009ce6478edf1d85716849c8ff1a/solver/llbsolver/bridge.go#L92 * Cache tests in dev image as well colcon cache can then skip tests for uneffected packages * Add devcontainer.json * Ignore doc for image builds * Add more extensions * Change workspaceFolder to root src path to avoid auto generating .vscode folder in repo created by ms-iot.vscode-ros extension upon configuring ros packages with c_cpp_properties.json * Enable features for github-cli * Add docs about codespaces and have it opened when starting codespaces * Update update_ci_image.yaml to fix duplicate step ids and add workflow file to push paths * Patch CI actions and Dockerfiles (ros-navigation#3468) * Unset default value for FAIL_ON_TEST_FAILURE as unsetting it via --build-arg seems unreliable docker/compose#3608 * Use build arg default for failing on test failers * Update from deprecated set-output commands https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/ * Use Codespaces prebuilds (ros-navigation#3470) * Add commands to devcontainer * Set builtin bash to be safe https://gist.github.com/mohanpedala/1e2ff5661761d3abd0385e8223e16425 https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/ * Setup workspace on create * Revert use of set -u for bash don't raise error due to variables otherwise colcon setup.sh chokes from using an unbounded path variable * Add safe.directory for git config otherwise colcon cache errors out because of issues with git due to complex user mapping magic that vscode does with devcontainers https://stackoverflow.com/questions/72978485/git-submodule-update-failed-with-fatal-detected-dubious-ownership-in-repositor also used by Moveit2: moveit/moveit2#1994 https://github.blog/2022-04-12-git-security-vulnerability-announced/ * Set env using remoteEnv instead of inlining them in scripts * Revert to using the main tag now that the tester stage has been replicated with the new devcontainer script commands instead * formating * Scrap `-dev` image tag and use codspaces prebuilds instead * Build incrementally from update content command by copying the build workspace steps from circleci config * Adapt the build workspace steps for bash * Fix for different ceres isinf() API (ros-navigation#3471) * Fixing name of security launch file * Clean up pending service client request on interrupt/timeout (ros-navigation#3479) Signed-off-by: Øystein Sture <os@skarvtech.com> * Added str cast to parse int (ros-navigation#3486) Co-authored-by: antoniomarangi <antonio.marangi@alba-robot.com> * Add flag to not send request in BTServiceNode (ros-navigation#3431) * Add flag to not send request in BTServiceNode * rename goal to request * Fail if should not send goal * Update nav2_behavior_tree/include/nav2_behavior_tree/bt_service_node.hpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Update nav2_behavior_tree/include/nav2_behavior_tree/bt_service_node.hpp Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * . * fix linter * fix CI --------- Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Prepare test results to only use junit/xunit schema (ros-navigation#3441) * Set ctest arg to output junit To try and help CircleCI to parse the output files https://stackoverflow.com/a/70774733/2577586 * Replace the original Test.xml by outputting the junit to the same filename Context: https://github.com/colcon/colcon-cmake/blob/8f1b92a190b2ad4289ecf837c3200d540c13fdd9/colcon_cmake/task/cmake/test.py#L133 * Fix default formatting to a list WARNING:colcon.colcon_defaults.argument_parser.defaults:Default value 'ctest-args' for parser 'test' should be a list, not: --output-junit Test.xml * Revert junit file name https://circleci.com/docs/collect-test-data/#ctest-for-c-cxx-tests * Fine and rename ctest summary Test.xml * Fix find path * Simplify extention renaming * Copy ctest junit file into test_results so that they can be stored by CI * Revert ctest config modifications * Prepare Test Results by removing Test.xml generated by ctest to simplify fix for circleci * Reorder storage of test result artifacts before Test.xml files are removed so that they can still be archived and viewed for later * Use find command * Container retention via version tagging (ros-navigation#3491) * Use github action expression syntax to alias over github repository name * Tag by version instead of by timestamp * Avoid pushing untagged image to GHCR by setting provenance to false now that provenance is enabled by default as of v4 of docker/build-push-action - docker/build-push-action#781 - docker/build-push-action#778 * Use checkout action to set version output (ros-navigation#3492) Otherwise there is no source code to use to set the version output. Fixes: ros-navigation#3491 * Change directory to inside checked out repo (ros-navigation#3493) or relative path under $GITHUB_WORKSPACE that actions/checkout places the repository * Write and read from correct output mapping (ros-navigation#3494) * Revert "Change directory to inside checked out repo (ros-navigation#3493)" This reverts commit 332c1fb. * Add `version` to outputs for check step and use output from `check` id * Use output from check_ci_files job * updating world in simple commander for TB3 package change (ros-navigation#3495) * Ensure version output is always set (ros-navigation#3503) even when github.event_name != 'push' by moving run step to same job as build-push action. Also set context path provided by checkout action to avoid future nonintuitive behavoir using default Git context, even when the checkout action appears to be being used. - https://github.com/docker/build-push-action#git-context - https://github.com/docker/build-push-action#path-context * Add labels to pushed image versions (ros-navigation#3505) using Pre-Defined Annotation Keys as defined by The OpenContainers Annotations Spec - https://specs.opencontainers.org/image-spec/annotations/#pre-defined-annotation-keys - https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows - https://docs.github.com/en/rest/repos/repos?apiVersion=2022-11-28#get-a-repository * Typo README.md (ros-navigation#3506) * [Velocity smoother] Set zeros command if timeout (ros-navigation#3512) * Set zeros command if timeout * Fix lint * Fix gtest increase time to allow deceleration * Always update last_cmd_ * Revert test modif * remove test logs * Fix paste error * Update velocity_smoother.cpp * Update velocity_smoother.cpp * Improve Dev Container ergonomics (ros-navigation#3482) * Install and enable bash autocompletion by using apt durring on create command and by copying skelton .bashrc file that sources it by default * Edit apt for autocomplete by disabling docker-clean from containerized ubuntu * Add ROS2 Ament Task Provider extension Provides tasks and problem matchers for ROS2 projects using ament https://marketplace.visualstudio.com/items?itemName=althack.ament-task-provider * Source underlay for extentions to allow them to find the path to ros binaries such as ament_cpplint needed for althack.ament-task-provider * Target new dever stage in Dockerfile * Reduce need for internet after image build by installing developer dependencies earlier * Edit apt caching before apt updating * Source underlay systemwide this is a hacky workarround to ensure VS Code can run ShellExecution tasks with the ros envorment included in PATH otherwise, postponing this to the on-create-command results in vscode extentions not finding system installed ros commands this also works for all user shells regardless of how devontainers could change the user * Postpone bashrc setup to postCreateCommand once the dev container has been assigned to a user for the first time * Cleanup onCreateCommand as we don't use ros_entrypoint.sh for development and so it doesn't really need to be updated * Quite down the logs when building devcontainer * Formatting * Add refrence ccp properties config file generated from the vscode ROS extention but with the hardcoded paths in includePath deleted * Update version of cppStandard for ROS Rolling * Update workspaceFolder to use new .vscode folder * Mount ccache directory to volume to speed up rebuilding devcontainer whenever onCreateCommand is triggered because of modifications to .devcontainer/ files * Avoid use of containerEnv to express ccache direcotry as doing so is not possable, for more info: - https://stackoverflow.com/a/75759647/2577586 - microsoft/vscode-remote-release#7147 (comment) Just target a path in the temp direcotry instead * Stage auto generated includePath * Remove workspace install from include path except for autogenerated headers from message packages * Avoid hardcoded path to sorce folder * Avoid hardcoded path to install folder but this is still rather fragile as the reletive path between workspaceFolder and the colcon workspace isn't fixed * Sort list of paths * Remove cpp properties configuration as it seems it's existance prevents autoupdating the includePaths property unless user manually runs the vscode command `>ROS:Update C++ Properties` https://github.com/ms-iot/vscode-ros/blob/47d8f14f4ec0498cd9e8381e6fcc5f47abb340f2/src/extension.ts#L71 and even when this command is invoked it blows aways any customizated properties anyhow issue about wrong cppStandard tracked here: ms-iot/vscode-ros#818 * Fix typo to move docker-clean from loaded config path * fix data race: addFilter() and resizeMap() can be executed concurrently (ros-navigation#3518) Co-authored-by: Dirk Braunschweiger <dirk.braunschweiger@symovo.de> * fix data race: prohibit resizeMap() during plugin/filter initialization (ros-navigation#3522) Co-authored-by: Dirk Braunschweiger <dirk.braunschweiger@symovo.de> * Mount overlay workspace into Dev Container via volume (ros-navigation#3524) * Add volume for overlay to avoid rebuilding it from scratch whenever the dev container is rebuilt this saves startup time locally when fiddling with the configs * Append devcontainerId to volume name to avoid conflicts with other devcontainers note that devcontainerId is stable across rebuilds - https://containers.dev/implementors/json_reference/#variables-in-devcontainerjson * Call updateContentCommand from onCreateCommand to deduplicate scripts and keep setup DRY given the addition of a mounted overlay volume which could include a prebuilt colcon workspace well before the dev container is created/rebuilt * Comment out colcon clean from setup to avoid unintentional removal of built packages from the persistent overlay workspace volume. Users can uncomment the line locally or simply remove the overlay workspace volume if they want to rebuild packages from scratch. * Format json * Add headless and use_rviz LaunchConfigurations to demo launch files (ros-navigation#3527) * Add headless and use_rviz LaunchConfigurations in nav2_simple_commander demo launch files for whether to start rviz or gzclient to simplify their use in headless environments * Fix headless logic to match tb3_simulation_launch.py for launch arg consistency * Fix State-Lattice planner crashes due to FP precision loss (ros-navigation#3531) * Fix State-Lattice planner crashes due to FP precision loss * Move testcase comment * Add PoseProgressChecker (ros-navigation#3530) * add rotation progress checker * clean include * add stopped goal checker reset test * add rotation progress checker tests * uncrustify * better name: PoseProgressChecker instead of RotationProgressChecker * camelCase * uncrustify * rename in tests * more rename * simplify parentheses * faster and better tests --------- Co-authored-by: Guillaume Doisy <guillaume@dexory.com> * [velocity_smoother] Fix accel and deccel inverted for negative speeds (ros-navigation#3529) * fix inverted accel / deccel * handle speed through 0.0 * add applyConstraints tests * fold logic * same logic in findEtaConstraint * lint * Update nav2_velocity_smoother/src/velocity_smoother.cpp * Update nav2_velocity_smoother/src/velocity_smoother.cpp * findEtaConstraint tests * space * lint * typos * comment typos --------- Co-authored-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Enable Visualizations for Dev Container (ros-navigation#3523) * Add visualizer stage to install demo dependencies * Install foxglove * Install gzweb * Add hack for resolvable mesh URIs located by the aws SDL model files - aws-robotics/aws-robomaker-small-warehouse-world#24 * Revert hack and use fork that fixes issues with deploy.sh - osrf/gzweb#248 * Update target stage to visualizer * Comment out gzclient and rviz for debugging * Add hack for resolvable mesh URIs as migrating the python3 scripts still hasn't resolved the issue * Reorder stages for readability by keeping sequential builder and tester stages adjacent while keeping tester stage the default exported target * fix typo * Install gdb for launching ros launch files using the ROS VS Code extension - ms-iot/vscode-ros#588 * Add vscode tasks file * Add Start Gzweb task * Add Start Foxglove tasks for bridge and studio * Add Start Foxglove compound task using dependsOn * Set default problemMatcher to empty to avoid nagging the user to select one as currently none really support our use case * Source overlay before running foxglove_bridge to ensure nav2 message types are defined by inlining all args into command and sourcing workspace setup * Formatting * Generalize and simplify hack * Generalize gazebo model discovery * Patch gzserver to run headless using xvfb to avoid host/platform specific x11 quirks exposed by vscode automatic x11 forwarding This is needed to provide gazebo a virtual frame buffer as it still need one after all these years. This also avoids the need modifying launch files to call xvfb-run - microsoft/vscode-remote-release#8031 - gazebosim/gazebo-classic#1602 * Set isBackground for start tasks * Add stop tasks * Add restart foxglove task * Switch to shell for commanding pkill to gracefully return 0 when process is not running allowing sequence of dependsOn tasks to run such as for the restart tasks * Add icons to tasks for readability * Add restart gzweb task * Add global start, stop, and restart tasks for all background visualization tasks * Formatting * Hide tasks users need not run manually to avoid cluttering up the run task quick pick * Shorten label for background tasks so they succinctly show from the running task list * Show global start and stop visualizations tasks as they may be too helpful to hide * Revert "Comment out gzclient and rviz for debugging" This reverts commit 0addae2. * Add --ipc=host to runArgs to enable shared memory transport - https://community.rti.com/kb/communicate-between-two-docker-containers-using-rti-connext-dds-and-shared-memory * Add --pid=host to runArgs to simplify discovery - https://community.rti.com/kb/communicate-between-two-docker-containers-using-rti-connext-dds-and-shared-memory * Add to runArgs to simplify debugging - https://code.visualstudio.com/docs/devcontainers/create-dev-container#_use-docker-compose * Add comments * Comment out runArgs unintended side effects or cross talk between containers by default also avoids interfering with vscode's X11 forwarding * [nav2_planner] Fix costmap thread reset on cleanup (ros-navigation#3548) * remove costmap thread reset on cleanup * Init costmap thread in on_configure method * Move costmap_thread init in on_configure method * Add IsBatteryChargingCondition (ros-navigation#3553) * Add IsBatteryChargingCondition * Minor fixes in battery charging and add testing * Fix format * Added isBatteryChargingCondition BT node to params * Impl noise filtering layer in the costmap_2d (ros-navigation#2567) Signed-off-by: ryzhikovas <ryzhikovas@gmail.com> * Improve Dev Container Web App Visualization (ros-navigation#3551) * Add Caddyfile to reverse proxy websockets in an attempt to avoid authentication tokens in headers when forwarding ports from codespaces via web interface - https://docs.github.com/en/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace#using-command-line-tools-and-rest-clients-to-access-ports - https://caddyserver.com/docs/quick-starts/reverse-proxy - https://caddy.community/t/caddy-v2-how-to-proxy-websoket-v2ray-websocket-tls/7040/13 * Update caddy related tasks * Rename Gzweb task to Gzweb Bridge to make room for more gzweb tasks * Add Gzweb Client Task * Add Caddyfile to reverse proxy websockets now for Gzweb * Specify config file to avoid crosstalk between caddy stop commands * Fix reverse proxy for websockets by correcting matcher using headers as websocket request header value is lowercase for gzweb and foxglove * Comment out log output files for debugging * Simplify tasks by removing client tasks * Stop tasks by using terminate via the workbench.action.tasks.terminate command * Move Caddyfile * Add Web Server tasks * Move Caddyfile * Update log output file path * Update root path * Update reverse_proxy for both gzweb and foxglove by using the path argument for respective matchers - https://caddyserver.com/docs/caddyfile/matchers#path-matchers * Use snippets to keep Caddyfile DRY - https://caddyserver.com/docs/caddyfile/concepts#snippets * Use rewrite to catch trailing slash as file_server defaults do not correct reverse_proxy. This make typing the websocket URL more forgiving - https://caddyserver.com/docs/caddyfile/patterns#trailing-slashes * Improve websocket snippet to keep Caddyfile DRY * Use header_regexp for case-insensitive matching given web port forwarding from Codespaces is odd and rewrites the value of this header field to lowercases even when local browser request is sent as `Upgrade` * Add helper index page to web server to link to web apps for reverse proxy * Limit templates to fix gzweb by adding matcher for only root index otherwise gzweb's own index.html gets overwritten * Add comments to Cadyfile to document tricky configuration * Stage working redirect * Simplify index.html * Add helper redirect to simplify foxglove to set the respective queries values to automate websocket setup, and ensure the websocket schema matches the https request * Avoid hardcoding port number * Clean up comments * Use header to compute redirect to take into account requesting forwarding or more codespace port forwarding shenanigans * Use shorthand placeholders - https://caddyserver.com/docs/caddyfile/concepts#placeholders * Formatting * Keep trailing slash to stay consistent with caddy file_server directive that serves a 308 Permanent Redirect for both foxglove and gzweb paths anyway * Refactor matcher logic to account for requests either from host ports from local dev containers or forwarded requests from codespace web port forwarding * Split snippet into globals for composability * Update comments * Add Placeholders for debugging * Use tables to center * Use github markdown - https://github.com/sindresorhus/github-markdown-css * Simplify vars * Rename vars * Revert "Rename vars" as dotted var names do not work in Caddyfile This reverts commit 3e2d1b3. * Add System Monitor to debug CPU load and memory issues * Update headings * Update layout * Update layout * Add Foxglove layout for Nav2 * Symlink assets folder for web server * Fetch Foxglove layout using layoutUrl a new parameter to load layout json data from URL - https://github.com/orgs/foxglove/discussions/217 * Cleanup * Use fork to fetch Foxglove layout using layoutUrl until this PR is merged: - https://github.com/foxglove/studio/pull/5987 * Update Caddyfile to handle relative root by using local srv folder * Inject mobile view html tags using the caddy replace module - https://caddyserver.com/docs/modules/http.handlers.replace_response - https://github.com/caddyserver/replace-response * Simplify Caddyfile * Use snippet for apps * Simplify Caddyfile * Simplify Caddyfile * Build caddy using custom modules * Remove unused symlinks * Add comments * Use environment and defined variables for config to avoid hard coded paths * Add FoxgloveUrl to vars for reuse in templates * Fix trailing slash for DataSourceUrl * Use exec to run gzserver with xvfb to prevent ros launch from orphaning process and ensure gzserver receives SIGTERM signal given gzserver often hangs after only SIGINT - https://unix.stackexchange.com/a/196053/213124 * Update redirect for foxglove to redirect from path /foxglove/autolayout * Add redirect for foxglove to redirect from path /foxglove/autoconnect but does not use LayoutUrl as to not change from cached layout * Use web app manifest to set display as standalone - https://web.dev/add-manifest/ - https://developer.mozilla.org/en-US/docs/Web/Manifest * Template manifest files to embed host info into app name * Add manifests for other web apps * Add shortcuts for Foxglove - https://developer.mozilla.org/en-US/docs/Web/Manifest/shortcuts - https://web.dev/app-shortcuts/ * Format * Update comments * Revert use of fork * Remove debug directive * Improve usability of PWAs in Dev Containers (ros-navigation#3576) * Add WIP icons * Add WIP icons for gzweb * Add WIP icons for glances * Set cross origin to use credentials ensuring auth cookie is included in request header when requesting for web app manifest file thus avoiding CORS policy violations in browser when accessing forwarded codespaces ports from the web > The request for the manifest is made without credentials (even if it's on the same domain), thus if the manifest requires credentials, you must include `crossorigin="use-credentials"` in the manifest tag. - https://web.dev/add-manifest/ - https://stackoverflow.com/a/57184506/2577586 * Use ReqHost variable in templates to account for X-Forwarded-Host value in header * Delete duplicate manifest * Set id property in app manifests so we can address them independently from their start_url - https://developer.chrome.com/blog/pwa-manifest-id/ * Ensure apps are uniquely identifies by adding trailing slash to id and thus different URI directories * Refactor root landing page into nav2 app by moving page file into nav2 sub folder adding root redirect pointing to /nav2/ and updating html, markdown, manifest files respectively * Fix https detection for Caddy reverse proxies by also checking X-Forwarded-Proto in request header * Remove unnecessary files * Prune smaller images * Prune duplicate icon * Clean up html tags * Update manifest icons * Rename icons * Revert "Prune duplicate icon" This reverts commit 5710401. * Add back favicon for shortcut * Add self index for completeness and bookmarking * Simplify icon linking * Delete binary files * Fix hyperlink path * Include image files using gitattributes to track these binary files via git LFS * Add icons using git lfs * Standardized all icon paths * Use external links for icons to avoid the need for using git LFS although this is a bit of a hack * Stage any and maskable icons * Use any and masked icons * Set colors to match maskable icon colors * Update icon * Use lossless compression without removing background - https://shortpixel.com/online-image-compression * Use WebP instead of PNG for smaller file sizes - https://en.wikipedia.org/wiki/WebP * Move icons into icons folder * Use _SRV environment variables for service paths * Download media files from github during docker image build to avoid adding always online dependencies when creating or starting dev containers * Delete media icons from git repo now that we download media from anonymized URLs on github - https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files * Add comments * Enable file browsing for non app paths for remote debugging of media and asset files * Consolidate assets into single folder * Add links for file browser paths to Server Diagnostics * Delete unused symlink * Update landing page to match manifest by including same shortcuts and start url * Patch gzweb to disable modelList avoiding 404s for thumbnails as they are hardcoded into js * Update comments * Simplify Caddyfile by reverting to symlinking but add ROOT_SRV env for custom overriding * Loop over nav2 srv folders when symlinking to generalize over folder names * Add matcher for file browsing root directory while still redirecting to nav2 app by default * Use placeholders for root variable to consolidate env default fallback settings e.g `:/srv` * Promote file browser in Nav2 app shortcuts * Fix and update SRV envs * Postpone symlinking for Nav2 web app to when post-create-command script then runs given full repo is not copied into builder stage in Dockerfile. While this could be postponed to update-content-command leaving it here avoids blowing user changes after the container has been created or modified. * Add guard to check if srv folder exists * Add refresh rate shortcuts to glances * Add file browser shortcut to nav2 * Set scope for nav2 PWA to root to allow for opening child apps inside nav2 app * Display child apps in fullscreen mode by default as users can still open them in standalone via nav2 app given the nav2 app's scope is the parent root path * Update shortcuts and landing page * Document PWA scope and installation order when using Nav2 PWA scoped as root * Revert setting scope for nav2 PWA to root path as adding file browser shortcut to nav2 PWA is not worth the trouble of having to explain installation order caveats and URL launch behavior. File browser shortcut is still accessible from inside nav2 pwa launcher but merely displays in browser preview given root / is out of scope for /nav2/ * Update server diagnostics for troubleshooting * Verify checksum of archive before extraction incase anonymized URL changes expected archive * Fix the condition in ackerman motion model constraints (ros-navigation#3581) * Fix the condition in ackerman motion model constraints * Fix ackerman motion model tests * Fix another ackerman motion model test * Fix broken symlink for gzweb (ros-navigation#3585) to load world models * Fix broken link to contributing guidelines (ros-navigation#3587) The original URL (https://navigation.ros.org/contribute/index.html) seems not to exist, returning an HTTP 404. Hence, I've replaced the link with a page that seems most relevant. * Adding Our Sponsors - May 2023 (ros-navigation#3593) * adding our sponsors - may 2023 * adding blurb * adding links * adding links * adding links * adding Open Nav * Add CostmapFilterInfoServer as a component (ros-navigation#3596) * Resolve ros-navigation#3532: reset i (ros-navigation#3597) * [MPPI] empty path_follow_critic proper fix (ros-navigation#3599) * [MPPI] empty path_follow_critic proper fix * fix linting issue --------- Co-authored-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * bumping humble to 1.1.7 for release --------- Signed-off-by: Trung Kien <letrungkien.k53.hut@gmail.com> Signed-off-by: Øystein Sture <os@skarvtech.com> Signed-off-by: ryzhikovas <ryzhikovas@gmail.com> Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com> Co-authored-by: Jose Luis Blanco-Claraco <joseluisblancoc@gmail.com> Co-authored-by: DylanDeCoeyer-Quimesis <102609575+DylanDeCoeyer-Quimesis@users.noreply.github.com> Co-authored-by: Trung Kien <letrungkien.k53.hut@gmail.com> Co-authored-by: HovorunB <87417416+HovorunB@users.noreply.github.com> Co-authored-by: Tony Najjar <tony.najjar@logivations.com> Co-authored-by: Ruffin <roxfoxpox@gmail.com> Co-authored-by: Øystein Sture <oysstu@users.noreply.github.com> Co-authored-by: mrmara <48493979+mrmara@users.noreply.github.com> Co-authored-by: antoniomarangi <antonio.marangi@alba-robot.com> Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com> Co-authored-by: Griswald Brooks <griswald.brooks@gmail.com> Co-authored-by: BriceRenaudeau <48433002+BriceRenaudeau@users.noreply.github.com> Co-authored-by: Dirk Braunschweiger <1677757+dirkmb@users.noreply.github.com> Co-authored-by: Dirk Braunschweiger <dirk.braunschweiger@symovo.de> Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com> Co-authored-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: Alberto Tudela <ajtudela@gmail.com> Co-authored-by: ryzhikovas <ryzhikovas@gmail.com> Co-authored-by: Alexandr Buyval <alexbuyval@gmail.com> Co-authored-by: Hyung-Taik Choi <htc.refactor@gmail.com> Co-authored-by: Filipe Cerveira <filipecerveira@gmail.com>
amcl: declare void parameter for functions with no args amcl: remove unused variables behavior_tree: address clang compilation issues behaviors: add missing override specifier bt_navigator: add missing override specifier collision_monitor: address clang compilation issues constrained_smoother: address clang compilation issues controller: address clang compilation issues costmap_2d: add missing override specifier costmap_2d: address clang compilation issues costmap_2d: fix link issue for order_layer dwb_controller: fix clang compile issue, replace ulong with uint32_t map_server: replace std::experimental::filesystem map_server: remove dependency on stdc++fs waypoint_follower: address clang compilation issues waypoint_follower: remove dependency on stdc++fs waypoint_follower: replace std::experimental::filesystem smoother: address clang compilation issues smoother: remove unused variables system_tests: remove dependency on stdc++fs rotation_shim_controller: update percentage arg in setSpeedLimit to boolean planner: remove unused variables costmap_2d: address clang compilation issues mppi_controller: replace use of auto as function param with templates mppi_controller: address clang compilation issues costmap_2d: resolve clang issue with std::pair non-const copy Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com>
…tion#4101) (cherry picked from commit 8f7b6ce) Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
…stency (ros-navigation#4123) (ros-navigation#4125) * Added cast to float to getClosestAngularBin return for behavior consistency. Signed-off-by: Hunter Song <hsong@macleanengineering.com> * Revised test name Signed-off-by: Hunter Song <hsong@macleanengineering.com> --------- Signed-off-by: Hunter Song <hsong@macleanengineering.com> (cherry picked from commit c59e0f3) Co-authored-by: hsong-MLE <158601314+hsong-MLE@users.noreply.github.com>
…vigation#4143) * Fix goal handle was not freed correctly * Update nav2_util/include/nav2_util/simple_action_server.hpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Ziohang <hang.zhou@agvsz.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> (cherry picked from commit 2e491b1) Co-authored-by: iceuw <m201770623@hust.edu.cn>
Signed-off-by: Tianchu <tianchu.zhang0706@gmail.com> (cherry picked from commit 623434b) Co-authored-by: Chortine <107395103+Chortine@users.noreply.github.com>
(cherry picked from commit 46ff0ec) Co-authored-by: Michael Wrock <michael.wrock@picknik.ai>
…ation#4239) Signed-off-by: Stephanie Eng <stephanie-eng@users.noreply.github.com>
* change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: GoesM <GoesM@buaa.edu.cn> * 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 <stevenmacenski@gmail.com> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <josho.wallace@gmail.com> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <josho.wallace@gmail.com> Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <cybao292261@163.com> * 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 <GoesM@buaa.edu.cn> * reformat Signed-off-by: GoesM <GoesM@buaa.edu.cn> --------- Signed-off-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: GoesM <GoesM@buaa.edu.cn> * 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 <brice.renaudeau@gmail.com> * Update inflation_cost_critic.hpp - copyright - ifndef Signed-off-by: Brice <brice.renaudeau@gmail.com> * fix lint cpp - extra space Signed-off-by: Brice <brice.renaudeau@gmail.com> * Fix Smac Planner confined collision checker (ros-navigation#4055) * Update collision_checker.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Fix tests Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update test_a_star.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * 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 <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * change pointer free order in amcl to avoid use-after-free bug mentioned in ros-navigation#4068 (ros-navigation#4070) Signed-off-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: GoesM <GoesM@buaa.edu.cn> Signed-off-by: Brice <brice.renaudeau@gmail.com> * [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 <stevenmacenski@gmail.com> --------- Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * Adding new Smac paper to readme Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * Update README.md Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * [behavior_tree] don't repeat yourself in "blackboard->set" (ros-navigation#4074) * don't repeat yourself: templates in tests Signed-off-by: Davide Faconti <davide.faconti@gmail.com> * misse change Signed-off-by: Davide Faconti <davide.faconti@gmail.com> --------- Signed-off-by: Davide Faconti <davide.faconti@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * 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 <stevenmacenski@gmail.com> * Rename parameter to allow_path_through_poses_goal_deviation * Fix description * restore nav2_params * missing whitespace * lint fix * removed parameter Signed-off-by: gg <josho.wallace@gmail.com> * Update planner_server.hpp * Update planner_server.cpp --------- Signed-off-by: gg <josho.wallace@gmail.com> Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * Updated code to use getInflationLayer() method (ros-navigation#4076) * updated code to use getInflationLayer method Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com> * Fix linting Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com> --------- Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * 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 <ryanfriedman5410+github@gmail.com> * Fix small issues * Unused variable * Incorrect doxygen Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Remove stored node and assert Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add tests for node * Facing timeout even though it does the same thing as velocity smoother test Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add missing spin call to solve timeout Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Fix copyright (me instead of intel) Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add full test coverage with subscriber Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * 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 <ryanfriedman5410+github@gmail.com> * Use TwistStamped in nav2_behaviors Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use TwistStamped in collision monitor node Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add TwistStamped readme updates to velocity smoother Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add TwistSubscriber implementation Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Fix syntax errors Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use TwistSubscriber in test_velocity_smoother Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use TwistSubscriber in assisted_teleop Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use TwistSubscriber in collision monitor node Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use TwistSubscriber in velocity smoother Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Remove unused code Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * add timestamp and frame_id to TwistStamped message * Add missing utility include Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Document TwistPublisher and TwistSubscriber usage Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Use pass-by-reference * Instead of std::move(std::unique_ptr<TwistStamped>) Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Finish twist subscriber tests Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Add other constructor and docs Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Fix linter issues Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Manually fix paren alignment Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Remove GSoC reference Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Document twist bool param in README Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * 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 <ryanfriedman5410+github@gmail.com> * Convert to using TwistStamped interally * Use incoming twistStamped timestamp if available * Convert all internal representations to use TwistStamped Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Remove nav2_util usage instructions Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * Remove unused Twist only subscriber Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * More linter fixes Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> * 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 <ryanfriedman5410+github@gmail.com> * Completing twist stamped migration * shared to unique ptr Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * 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 <rhys.mainwaring@me.com> --------- Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com> Co-authored-by: pedro-fuoco <pedrofuoco6@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * Change costmap_queue to shared library (ros-navigation#4072) Signed-off-by: cybaol <cybao292261@163.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> * fix include of hpp Signed-off-by: Brice Renaudeau <brice.renaudeau@gmail.com> * 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 <stevenmacenski@gmail.com> * Update cost_critic.cpp Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> --------- Signed-off-by: Brice <brice.renaudeau@gmail.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: GoesM <GoesM@buaa.edu.cn> Signed-off-by: Davide Faconti <davide.faconti@gmail.com> Signed-off-by: gg <josho.wallace@gmail.com> Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com> Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com> Signed-off-by: cybaol <cybao292261@163.com> Signed-off-by: Brice Renaudeau <brice.renaudeau@gmail.com> Co-authored-by: BriceRenaudeau <48433002+BriceRenaudeau@users.noreply.github.com> Co-authored-by: GoesM <130988564+GoesM@users.noreply.github.com> Co-authored-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: Davide Faconti <davide.faconti@gmail.com> Co-authored-by: Joshua Wallace <josho.wallace@gmail.com> Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: jncfa <20467009+jncfa@users.noreply.github.com> Co-authored-by: Ryan <ryanfriedman5410+github@gmail.com> Co-authored-by: pedro-fuoco <pedrofuoco6@gmail.com> Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com> Co-authored-by: Kino <cybao292261@163.com> * 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 <ryanfriedman5410+github@gmail.com> * Update default recommendation from Obstacles to Cost critic in MPPI (ros-navigation#4170) Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * completely shutdown inital_pose_sub_ (ros-navigation#4176) Signed-off-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: GoesM <GoesM@buaa.edu.cn> * fix typos in description messages (ros-navigation#4188) Signed-off-by: Antonio Park <kaypaklabs@gmail.com> * 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 <amock@uos.de> * - 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 <amock@uos.de> * added whitespace Signed-off-by: Alexander Mock <amock@uos.de> * renamed initial pose service in callback bind Signed-off-by: Alexander Mock <amock@uos.de> --------- Signed-off-by: Alexander Mock <amock@uos.de> * Move lines for pre-computation to outside a loop (ros-navigation#4191) Signed-off-by: Kyungsik Park <dkalxkwl@gmail.com> * Fix typo (ros-navigation#4196) * Fix BT.CPP import Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> * Update README.md --------- Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> * Update footprint iif changed (ros-navigation#4193) Signed-off-by: Brice <brice.renaudeau@gmail.com> * bump humble to 1.1.14 for sync * fix merge conflict * custom version of cost critic's cost method --------- Signed-off-by: GoesM <GoesM@buaa.edu.cn> Signed-off-by: gg <josho.wallace@gmail.com> Signed-off-by: cybaol <cybao292261@163.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: Davide Faconti <davide.faconti@gmail.com> Signed-off-by: Jose Faria <20467009+jncfa@users.noreply.github.com> Signed-off-by: Ryan Friedman <ryanfriedman5410+github@gmail.com> Signed-off-by: Rhys Mainwaring <rhys.mainwaring@me.com> Signed-off-by: Brice Renaudeau <brice.renaudeau@gmail.com> Signed-off-by: Antonio Park <kaypaklabs@gmail.com> Signed-off-by: Alexander Mock <amock@uos.de> Signed-off-by: Kyungsik Park <dkalxkwl@gmail.com> Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> Co-authored-by: GoesM <130988564+GoesM@users.noreply.github.com> Co-authored-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: Joshua Wallace <josho.wallace@gmail.com> Co-authored-by: pepisg <pedro.gonzalez@eia.edu.co> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: Kino <cybao292261@163.com> Co-authored-by: BriceRenaudeau <48433002+BriceRenaudeau@users.noreply.github.com> Co-authored-by: Davide Faconti <davide.faconti@gmail.com> Co-authored-by: jncfa <20467009+jncfa@users.noreply.github.com> Co-authored-by: Ryan <ryanfriedman5410+github@gmail.com> Co-authored-by: pedro-fuoco <pedrofuoco6@gmail.com> Co-authored-by: Rhys Mainwaring <rhys.mainwaring@me.com> Co-authored-by: Antonio Park <kaypaklabs@gmail.com> Co-authored-by: Alexander Mock <amock@uos.de> Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
Signed-off-by: Steve Macenski <stevenmacenski@gmail.com>
…gation#4175 (ros-navigation#4180) (ros-navigation#4305) * replace throw-error with error-log to avoid UAF * fix typo --------- Signed-off-by: GoesM <GoesM@buaa.edu.cn> Co-authored-by: GoesM <GoesM@buaa.edu.cn>
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
To fix ros-navigation#4315 Signed-off-by: Huy Nguyen Van <34271857+Huyhust13@users.noreply.github.com>
* Scale cost critic's weight when dynamically updated (ros-navigation#4246) * Scale cost critic's weight when dynamically updated Signed-off-by: pepisg <pedro.gonzalez@eia.edu.co> * sign off Signed-off-by: pepisg <pedro.gonzalez@eia.edu.co> --------- Signed-off-by: pepisg <pedro.gonzalez@eia.edu.co> * 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 <wiktorbajor1@gmail.com> * Add passing home dir as string instead of const char* Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Add docs Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Fix function declaration Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Fix linter issues Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Uncrustify linter Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Uncrustify linter Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * Uncrustify linter: remove remove whitespace Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> --------- Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> * 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 <denis.sokolov48@gmail.com> * Remove velocity deadband critic from defaults Signed-off-by: Denis Sokolov <denis.sokolov48@gmail.com> * remove old weight Signed-off-by: Denis Sokolov <denis.sokolov48@gmail.com> * fix velocity deadband critic tests Signed-off-by: Denis Sokolov <denis.sokolov48@gmail.com> --------- Signed-off-by: Denis Sokolov <denis.sokolov48@gmail.com> * removing clearable layer param (unused) (ros-navigation#4280) * provide message validation check API (ros-navigation#4276) * provide validation_message.hpp Signed-off-by: goes <GoesM@buaa.edu.cn> * fix typo Signed-off-by: goes <GoesM@buaa.edu.cn> * add test_validation_messages.cpp Signed-off-by: goes <GoesM@buaa.edu.cn> * change include-order Signed-off-by: goes <GoesM@buaa.edu.cn> * reformat Signed-off-by: goes <GoesM@buaa.edu.cn> * update test Signed-off-by: goes <GoesM@buaa.edu.cn> --------- Signed-off-by: goes <GoesM@buaa.edu.cn> Co-authored-by: goes <GoesM@buaa.edu.cn> * Add footprint clearing for static layer (ros-navigation#4282) * Add footprint clearing for static layer Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> * fix flckering --------- Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> * Fix ros-navigation#4268 (ros-navigation#4296) Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> * Update README.md of nav2_bt_navigator (ros-navigation#4309) Update link to docs Signed-off-by: João Britto <cbn.joao@gmail.com> * 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 <ramon.wijnands@nobleo.nl> * msg validation check for `/initialpose` in `nav2_amcl` (ros-navigation#4301) * add validation check for PoseWithCovarianceStamped Signed-off-by: goes <GoesM@buaa.edu.cn> * remove rebundant check before Signed-off-by: goes <GoesM@buaa.edu.cn> * reformat Signed-off-by: goes <GoesM@buaa.edu.cn> * typo fixed Signed-off-by: goes <GoesM@buaa.edu.cn> * change the type-name Signed-off-by: goes <GoesM@buaa.edu.cn> * update test Signed-off-by: goes <GoesM@buaa.edu.cn> * reformat Signed-off-by: goes <GoesM@buaa.edu.cn> * . Signed-off-by: goes <GoesM@buaa.edu.cn> * add comment Signed-off-by: goes <GoesM@buaa.edu.cn> * update comment Signed-off-by: goes <GoesM@buaa.edu.cn> * change header Signed-off-by: goes <GoesM@buaa.edu.cn> * update test Signed-off-by: goes <GoesM@buaa.edu.cn> * typo fixed Signed-off-by: goes <GoesM@buaa.edu.cn> --------- Signed-off-by: goes <GoesM@buaa.edu.cn> Co-authored-by: goes <GoesM@buaa.edu.cn> * 4320: Changed precision of calculations of the HybridNode MotionTable::getClosestAngularBin. (ros-navigation#4324) Signed-off-by: Krzysztof Pawełczyk <k.t.pawelczyk@gmail.com> Co-authored-by: Krzysztof Pawełczyk <kpawelczyk@autonomous-systems.pl> * [LifecycleNode] add bond_heartbeat_period (ros-navigation#4342) * add bond_heartbeat_period Signed-off-by: Guillaume Doisy <guillaume@dexory.com> * lint Signed-off-by: Guillaume Doisy <guillaume@dexory.com> --------- Signed-off-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: Guillaume Doisy <guillaume@dexory.com> * 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 <120172218+StetroF@users.noreply.github.com> * [LifecycleManagerClient] clean set_initial_pose and navigate_to_pose (ros-navigation#4346) Signed-off-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: Guillaume Doisy <guillaume@dexory.com> * Move projectState after getPointsInside (ros-navigation#4356) * Modify test to check fix Signed-off-by: Brice <brice.renaudeau@gmail.com> * Add static polygon check before simulation Signed-off-by: Brice <brice.renaudeau@gmail.com> --------- Signed-off-by: Brice <brice.renaudeau@gmail.com> * 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 <pedro.gonzalez@eia.edu.co> Signed-off-by: Wiktor Bajor <wiktorbajor1@gmail.com> Signed-off-by: Denis Sokolov <denis.sokolov48@gmail.com> Signed-off-by: goes <GoesM@buaa.edu.cn> Signed-off-by: Tony Najjar <tony.najjar.1997@gmail.com> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Signed-off-by: João Britto <cbn.joao@gmail.com> Signed-off-by: Ramon Wijnands <ramon.wijnands@nobleo.nl> Signed-off-by: Krzysztof Pawełczyk <k.t.pawelczyk@gmail.com> Signed-off-by: Guillaume Doisy <guillaume@dexory.com> Signed-off-by: StetroF <120172218+StetroF@users.noreply.github.com> Signed-off-by: Brice <brice.renaudeau@gmail.com> Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com> Co-authored-by: Wiktor Bajor <69388767+Wiktor-99@users.noreply.github.com> Co-authored-by: Sokolov Denis <52282102+perchess@users.noreply.github.com> Co-authored-by: GoesM <130988564+GoesM@users.noreply.github.com> Co-authored-by: goes <GoesM@buaa.edu.cn> Co-authored-by: Tony Najjar <tony.najjar.1997@gmail.com> Co-authored-by: João Britto <cbn.joao@gmail.com> Co-authored-by: Ramon Wijnands <ramon.wijnands@nobleo.nl> Co-authored-by: AzaelCicero <k.t.pawelczyk@gmail.com> Co-authored-by: Krzysztof Pawełczyk <kpawelczyk@autonomous-systems.pl> Co-authored-by: Guillaume Doisy <doisyg@users.noreply.github.com> Co-authored-by: Guillaume Doisy <guillaume@dexory.com> Co-authored-by: StetroF <120172218+StetroF@users.noreply.github.com> Co-authored-by: BriceRenaudeau <48433002+BriceRenaudeau@users.noreply.github.com>
…s and associated processes (ros-navigation#4373) (ros-navigation#4378) (cherry picked from commit b0abc78) Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
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 <embeddedadam@gmail.com> * 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 <embeddedadam@gmail.com> * 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 <embeddedadam@gmail.com> * Fix formatting errors Signed-off-by: Adam Galecki <embeddedadam@gmail.com> * Update system tests to match new parameter Signed-off-by: Adam Galecki <embeddedadam@gmail.com> --------- Signed-off-by: Adam Galecki <embeddedadam@gmail.com> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * chore(nav2_behavior_tree): log actual wait period in bt_action_node (ros-navigation#4178) Signed-off-by: Felix <felix@fzeltner.de> Co-authored-by: Felix <felix@fzeltner.de> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * fix missing param declare (ros-navigation#4203) Signed-off-by: nelson <kaichie.lee@gmail.com> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Fix error messages (ros-navigation#4411) Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> --------- Signed-off-by: Adam Galecki <embeddedadam@gmail.com> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> Signed-off-by: Felix <felix@fzeltner.de> Signed-off-by: nelson <kaichie.lee@gmail.com> Co-authored-by: Adam Gałecki <73710544+embeddedadam@users.noreply.github.com> Co-authored-by: bi0ha2ard <bi0ha2ard@users.noreply.github.com> Co-authored-by: Felix <felix@fzeltner.de> Co-authored-by: nelson <kaichie.lee@gmail.com>
…s-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 <johannes.huemer@ait.ac.at> Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> Co-authored-by: Johannes Huemer <johannes.huemer@ait.ac.at>
…avigation#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 <GoesM@buaa.edu.cn> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
…-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 <christoph.froehlich@ait.ac.at> Signed-off-by: Steve Macenski <stevenmacenski@gmail.com> Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
ros-navigation#4525) * add get pose from path action Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * cleanup from PR suggestions Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * Updates for main compatibility Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * Lint and build fix Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * More Lint and warnings Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * More Lint and build Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * remove code left over from older file Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * fix test blackboard var name Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * only populate pose frame if empty Signed-off-by: MarcM0 <marc.morcos9@gmail.com> * lint Signed-off-by: MarcM0 <marc.morcos9@gmail.com> --------- Signed-off-by: MarcM0 <marc.morcos9@gmail.com> (cherry picked from commit 12a9c1d) Co-authored-by: Marc Morcos <30278842+MarcM0@users.noreply.github.com>
* Make it compile on humble Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> * Remove formatting Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at> --------- Signed-off-by: Christoph Froehlich <christoph.froehlich@ait.ac.at>
Signed-off by: Alyssa Agnissan <alyssa.agnissan@quantillion.io>
@alyquantillion, all pull requests must be targeted towards the |
This pull request is in conflict. Could you fix it @alyquantillion? |
@alyquantillion, your PR has failed to build. Please check CI outputs and resolve issues. |
Basic Info
Description of contribution in a few bullet points
nav_msgs::msg::Path
message from the optimal trajectory obtained. Needed if we want to calculate the velocity commands by ourselves.Description of documentation updates required from your changes
None
Future work that may be required in bullet points
None
For Maintainers: