standalone assisted teleop#2904
Conversation
|
@jwallace42, please properly fill in PR template in the future. @SteveMacenski, use this instead.
|
|
@jwallace42, your PR has failed to build. Please check CI outputs and resolve issues. |
|
By the way, CI failed because there is no teleop action in this PR |
|
Yep, I forgot to add that back in. |
There was a problem hiding this comment.
Overall not a bad go at it.
Looking at the "core" of what this is doing though, I think its similar to what we're talking about in the collision monitor, one of the reasons I wanted to hold off on this. @AlexeyMerzlyakov is working on adding a collision monitor that checks based on raw sensor data and ensures that we're always N seconds from collision. Alexey, please review this PR as well and give us your thoughts
I think this does a similar thing but instead based on the costmaps for general use rather than safety use. I think there's some code that could be shared between them but this looks reasonable. We can work through abstracting common code later.
I think though from looking at this, this belongs as a behavior plugin in the new behavior server you renamed rather than as a stand alone entity. This is using a TF buffer + costmap subscriber which are heavy and the primary reason for the behavior server to exist as a central location anyway. So that would involve removing the standalone server & making it a behavior plugin.
nav2_assisted_teleop/include/nav2_assisted_teleop/nav2_assisted_teleop_helper.hpp
Outdated
Show resolved
Hide resolved
I though we wanted the ability to run a standalone assisted teleop? #2226 The core library would be used to create the behavior. |
|
That predates the idea of the recovery server being a generic behavior server. The generic behavior server meets all the intended needs, I believe. |
So I guess the thing we would be missing is if it was implemented as a So maybe we have a TimedBehavior for recovery calls and a normal behavior for just running? |
|
I think it could make sense to be a timed behavior, correct. We should probably introduce some timeout parameter though (e.g. if no new cmd vel within N seconds, stop). Also, maybe the action request should have a timeout (e.g. only do assisted teleop for 10 seconds, then exit) that way a caller can exit, otherwise, there's not really a clear way to end the assisted teleop session. We also need a CancelAssistedTeleop BT XML node, similar to CancelControl / CancelBackup / etc. Its trivial, there's a base cancel node that should do all of it for you That would give then users 2 ways of exiting: a timeout and a cancellation after a task is done. That seems good to me |
Is there a case where we would just want to drive around in assisted teleop and not have a time out? |
If the main task of the robot is assisted teleop hah (if you mean timeout for using the behavior; not timeout on velocity commands incoming). I think the default would be no-timeout, but it would be good to have the temporary option that returns after N seconds itself. |
|
Alright, I will add in the assistedTeleop timed behavior. |
|
There are still a few un-answered comments above that are not resolved, but I'll review again in the plugin form! Thanks, back from PTO sorry for the delay |
|
This pull request is in conflict. Could you fix it @jwallace42? |
|
@SteveMacenski Just finished this up |
|
This pull request is in conflict. Could you fix it @jwallace42? |
|
@jwallace42, your PR has failed to build. Please check CI outputs and resolve issues. |
|
This pull request is in conflict. Could you fix it @jwallace42? |
|
This pull request is in conflict. Could you fix it @jwallace42? |
|
Check CI, there are some errors, particularly The only 2 open comments from pre-vacation were on removing or limiting sleeps in the tests as much as possible. Is that done? What's the story on the docs PR for this? I really don't remember 😆 I imagine I asked for a short tutorial given the newnest of the feature? |
|
Yeah, I reduced the sleeps as much as a could a while back. I still need to add a tutorial for the feature as you mentioned:). If the check pass I will take a look at that later in the week. |
|
nav2_system_tests/src/behavior_tree/test_behavior_tree_node.cpp
Outdated
Show resolved
Hide resolved
|
OK CI looks good other than a linting error (which I just fixed in main) |
|
I found the docs we merged a while back. ros-navigation/docs.nav2.org#318. So I think we should be good to go :). |
* 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>
* standalone assisted teleop (#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 (#3099) * Support range sensors in Collision Monitor * Adjust README.md * Meet review fixes * Fix #3152: Costmap extend did not include Y component (#3153) * missing nodes added to nav2_tree_nodes.xml (#3155) * Change deprecated ceres function (#3158) * Change deprecated function * Update smoother_cost_function.hpp * remove camera_rgb_joint since child frame does not exist (#3162) * bugfix (#3109) deadlock when costmap receives new map (#3145) * bugfix (#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 (#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 (#3175) * fixed start (#3168) * fixed start * return true * fix tests * Fix velocities comparison for rotation at place case (#3177) * Fix velocities comparison for rotation at place case * Meet review item * Remove unnecessary header * Change the comment * set a empty path on halt (#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 (#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 (#3183) * [Smac] check if a node exists before creating (#3195) * check if a node exists before creating * invert logic to group like with like * Update a_star.cpp * fixing benchmarkign for planners (#3202) * [Smac] Robin hood data structure improves performance by 10-15%! (#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 (#3204) * [RPP] Add parameter to enable/disable collision detection * [RPP] Update README * Update waffle.model * add benchmark launch file + instructions (#3218) * removing hypotf from smac planner heuristic computation (#3217) * removing hypotf * swapping to node2d sqrt * complete smac planner tolerances (#3219) * Disable Output Buffering (#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 (#3223) * fix majority of python linting errors * finish linting * Assisted teleop simple commander (#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 (#3229) * Add enabling service to costmap filters * Add service testcase * Fix comment * Use toggle_filter service name * Add binary flip costmap filter (#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 (#3238) * odom alpha restriction * odom alpha code style * odom alpha code style * odom alpha code style * Update controller server goal checker (#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 (#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 (#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 (#3262) * Adding new Nav2 Smoother: Savitzky-Golay Smoother (#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 (#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>
* 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>
* 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>
* 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>
* 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>
* 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>
Basic Info
Description of contribution in a few bullet points
This pr adds a standalone node and core class for assisted teleop.
Description of documentation updates required from your changes
Add documentation for a new node
Future work that may be required in bullet points
For Maintainers: