Skip to content
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

Added Line Iterator #3197

Merged
merged 17 commits into from
Nov 7, 2022
Merged

Added Line Iterator #3197

merged 17 commits into from
Nov 7, 2022

Conversation

afifswaidan
Copy link
Contributor

@afifswaidan afifswaidan commented Sep 17, 2022


Basic Info

Info Added Line Iterator
Ticket(s) this addresses Issue number #3151
Primary OS tested on Ubuntu 20.04.5 LTS
Robotic platform tested on ROS2 Foxy

Description of contribution in a few bullet points

  • Added Line Iterator Python API

Future work that may be required in bullet points

  • I have few questions before I start implementing the python version of the footprint_collision_checker:
  • The Cpp script uses footprint.hpp and several other modules like "nav2_costmap_2d/exceptions.hpp", should I implement all of these modules first in python (So I use them in the python version of footprint_collision_checker) or are they already implemented somewhere else?

For Maintainers:

  • Check that any new parameters added are updated in navigation.ros.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@mergify
Copy link
Contributor

mergify bot commented Sep 17, 2022

@afifswaidan, please properly fill in PR template in the future. @SteveMacenski, use this instead.

  • Check that any new parameters added are updated in navigation.ros.org
  • Check that any significant change is added to the migration guide
  • Check that any new features OR changes to existing behaviors are reflected in the tuning guide
  • Check that any new functions have Doxygen added
  • Check that any new features have test coverage
  • Check that any new plugins is added to the plugins page
  • If BT Node, Additionally: add to BT's XML index of nodes for groot, BT package's readme table, and BT library lists

@SteveMacenski
Copy link
Member

How did you test this? A set of unit tests here would be good.

@afifswaidan
Copy link
Contributor Author

Hello,

As the main purpose of this class is to do some basic mathematical computations, I tested it manually by giving some valid and invalid inputs and I print the outputs for validation.

If required, let me know what exact tests you have in mind so I can implement and commit them.

@SteveMacenski
Copy link
Member

add some unit tests in /tests that can be run in our CI suite that check that this works properly. Give it a few different line segments at different angles and check that it visits every cell increment correctly

@afifswaidan
Copy link
Contributor Author

Okay sure, I'll implement and push the changes today or tomorrow.
Thanks!

@afifswaidan
Copy link
Contributor Author

Hello @SteveMacenski
I implemented a new way for the line iterator that contains more features and more precision.

Can you please have a look at it before I start implementing the unit tests for it?
Maybe you want me to add/remove anything.
Thanks!

@SteveMacenski
Copy link
Member

Can you explain the method / benefits over the old?

CI shows this has linting errors

@afifswaidan
Copy link
Contributor Author

As for the linting errors, I am developing on a new machine and apparently, no linter was installed, I'll move back to my old machine tomorrow.

As for the advantages:

  • The user can input the resolution of the calculations (mainly the iterations)
  • The user can get the equation of the line
  • The user can get the characteristics of the line (slope m and y-intercept b) to solve for any x or y points. (I will add two methods called solve_for_x and solve_for_y where the user inputs x or y and the function solves it using the equation of the line.
  • This method takes into consideration the cases where the equation includes only x (like, x=5)

@SteveMacenski
Copy link
Member

SteveMacenski commented Sep 30, 2022

I think the density of resolution is a good point - but that would need to be parameterized and by default just every 1-cell jumps. I think though someone could want to try 2x or 3x cell lengths to get cells that are barely touching but might technically be in collision. This comes as a high cost for longer range queries, but for footprints I think that's a useful feature.

If you run ament_pep257 and ament_flake8 you should be able to see the outputs locally to iterate

@afifswaidan
Copy link
Contributor Author

I think the density of resolution is a good point - but that would need to be parameterized and by default just every 1-cell jumps. I think though someone could want to try 2x or 3x cell lengths to get cells that are barely touching but might technically be in collision. This comes as a high cost for longer range queries, but for footprints I think that's a useful feature.

If you run ament_pep257 and ament_flake8 you should be able to see the outputs locally to iterate

Okay I will make the resolution as a parameter that the user can define, and by default it'll be 1.

As for the linting I will do it as well, and then I will commit the changes for review, once everything is good I will implement a few test cases in the /test directory and commit it for the final review and merge.

Thank you so much @SteveMacenski

@mergify
Copy link
Contributor

mergify bot commented Oct 3, 2022

@afifswaidan, your PR has failed to build. Please check CI outputs and resolve issues.
You may need to rebase or pull in main due to API changes (or your contribution genuinely fails).

@afifswaidan
Copy link
Contributor Author

afifswaidan commented Oct 3, 2022

Hello, I implemented the resolution as a parameter and handled the linting based on pep257 and flake8.
Kindly check and give me your feedback.
(I found a typo mistake in line 69 in the comments, I"ll fix it in the next commit after getting your feedback)

Thanks in advance @SteveMacenski

@SteveMacenski
Copy link
Member

SteveMacenski commented Oct 3, 2022

Make sure the tests execute during CI! You may need to add something to the setup.py/cfg files

@afifswaidan
Copy link
Contributor Author

Make sure the tests execute during CI! You may need to add something to the setup.py/cfg files

Thanks for the info, I will try to do that asap this week. I'm sorry if the process is going slow but it's a busy period with my current full-time job.

I'll handle the CI tests and wait for your feedback.
Thanks!

@SteveMacenski
Copy link
Member

Totally understand! Thanks for talking me through the changes on my questions.

@afifswaidan
Copy link
Contributor Author

Hello @SteveMacenski , I added all the unit tests and modified line_iterator.py to handle more exceptions that can be caused by the user.
But I am facing an issue while importing the line_iterator.py module to the test script in /test directory. I am not facing this issue when the files are in the same directory.
Can you please check it and give me your opinion?

Thanks!

@SteveMacenski
Copy link
Member

https://github.com/ros2/geometry2/tree/rolling/tf2_ros_py Try using this Python3 package as a guide.

Copy link
Member

@SteveMacenski SteveMacenski left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Otherise LGTM, just remove some methods that don't really appear like that need to be in the file. Dead code is one common way how bugs are made (if its not tested and not used, then if you want to use in the future, you're going to assume it works). Plus some of it seems like printing convenience functions that can be made if/when it becomes an issue. Nice for early development, but I don't think need to be here anymore

@afifswaidan
Copy link
Contributor Author

Otherise LGTM, just remove some methods that don't really appear like that need to be in the file. Dead code is one common way how bugs are made (if its not tested and not used, then if you want to use in the future, you're going to assume it works). Plus some of it seems like printing convenience functions that can be made if/when it becomes an issue. Nice for early development, but I don't think need to be here anymore

I hope you enjoyed the conference and welcome back!
All these unused methods that you mentioned are basically extra methods that the user can later on use if they need more information about the line that they fed to the class (the line equation, the current point they are at after calling advance(), etc...)
I can either add unit tests for these methods or remove them, whatever you think is better. I just added them to provide extra features for the user later on to access more information about the given line.
Let me know what you think :)

@SteveMacenski
Copy link
Member

I updated the comments for each about what to remove / keep and add tests. The things that return debugging strings lets remove. The line length can be a helpful gut check, lets add unit tests for that. get_curr_point is already possible via getX and getY.

@afifswaidan
Copy link
Contributor Author

@SteveMacenski I was checking why the circleci release_test failed, I found it was a failure in another package (nav2_controller).
Is anything required from my side?
Thanks!
image

@SteveMacenski
Copy link
Member

Probably not, I just retriggered CI to see if it was just a fluke

@SteveMacenski
Copy link
Member

Please push a bogus commit (remove a white space in a doc or change a word), CI's built for detecting C++ changes not Python changes so CI isn't happy with caching with getting it to re-run

@afifswaidan
Copy link
Contributor Author

afifswaidan commented Nov 7, 2022

Please push a bogus commit (remove a white space in a doc or change a word), CI's built for detecting C++ changes not Python changes so CI isn't happy with caching with getting it to re-run

Okay, I'll change a word in a comment and commit again.
Edit: I just changed the order of the imports section in the test script

@SteveMacenski
Copy link
Member

SteveMacenski commented Nov 7, 2022

FYI @ruffsl the colcon cache keyword did not detect the changes to the python files for rebuilding. I don't think you need to do anything about it on our account, just wanted to let you know.

@SteveMacenski SteveMacenski merged commit 4f0b0e5 into ros-navigation:main Nov 7, 2022
@SteveMacenski
Copy link
Member

Huh, just an odd fluke. If it happens again I'll look into it.

Thanks for this contribution!

@afifswaidan
Copy link
Contributor Author

Huh, just an odd fluke. If it happens again I'll look into it.

Thanks for this contribution!

Most welcome, anything for ROS and Robots you know! 😎👌

Glad everything is merged now, thank you for your proper guidance and assistance as well.

SteveMacenski pushed a commit that referenced this pull request Nov 8, 2022
* 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>
SteveMacenski added a commit that referenced this pull request Nov 8, 2022
* 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>
hyunseok-yang pushed a commit to lge-ros2/navigation2 that referenced this pull request Nov 23, 2022
* 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>
jwallace42 pushed a commit to jwallace42/navigation2 that referenced this pull request Nov 30, 2022
* 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>
SteveMacenski added a commit that referenced this pull request Dec 8, 2022
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* BT Service Node to throw if service was not available in time (#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 exec_depend on behaviortree_cpp_v3 (#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (#3284)

* add parameterized refinement recursion numbers

* fix tests

* Add allow_unknown parameter to theta star planner (#3286)

* Add allow unknown parameter to theta star planner

* Add allow unknown parameter to tests

* missing comma

* Change cost of unknown tiles

* Uncrustify

* Include test cases waypoint follwer (#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (#3290)

* Implemented smoother selector bt node (#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>

* Pipe error codes (#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
SteveMacenski added a commit that referenced this pull request Dec 9, 2022
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* BT Service Node to throw if service was not available in time (#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 exec_depend on behaviortree_cpp_v3 (#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (#3284)

* add parameterized refinement recursion numbers

* fix tests

* Add allow_unknown parameter to theta star planner (#3286)

* Add allow unknown parameter to theta star planner

* Add allow unknown parameter to tests

* missing comma

* Change cost of unknown tiles

* Uncrustify

* Include test cases waypoint follwer (#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (#3290)

* Implemented smoother selector bt node (#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>

* Pipe error codes (#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

* fixed error code test

* half time

* bump build

* revert

* lint error

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
jwallace42 pushed a commit to jwallace42/navigation2 that referenced this pull request Dec 14, 2022
* 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>
jwallace42 added a commit to jwallace42/navigation2 that referenced this pull request Dec 14, 2022
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (ros-navigation#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (ros-navigation#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (ros-navigation#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (ros-navigation#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (ros-navigation#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (ros-navigation#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (ros-navigation#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* 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 exec_depend on behaviortree_cpp_v3 (ros-navigation#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (ros-navigation#3284)

* add parameterized refinement recursion numbers

* fix tests

* 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

* Include test cases waypoint follwer (ros-navigation#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (ros-navigation#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (ros-navigation#3290)

* 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>

* Pipe error codes (ros-navigation#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (ros-navigation#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (ros-navigation#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (ros-navigation#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
jwallace42 added a commit to jwallace42/navigation2 that referenced this pull request Dec 14, 2022
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (ros-navigation#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (ros-navigation#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (ros-navigation#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (ros-navigation#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (ros-navigation#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (ros-navigation#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (ros-navigation#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* 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 exec_depend on behaviortree_cpp_v3 (ros-navigation#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (ros-navigation#3284)

* add parameterized refinement recursion numbers

* fix tests

* 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

* Include test cases waypoint follwer (ros-navigation#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (ros-navigation#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (ros-navigation#3290)

* 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>

* Pipe error codes (ros-navigation#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (ros-navigation#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (ros-navigation#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (ros-navigation#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

* fixed error code test

* half time

* bump build

* revert

* lint error

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
andrewlycas pushed a commit to StratomInc/navigation2 that referenced this pull request Feb 23, 2023
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (ros-navigation#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (ros-navigation#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (ros-navigation#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (ros-navigation#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (ros-navigation#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (ros-navigation#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (ros-navigation#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* 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 exec_depend on behaviortree_cpp_v3 (ros-navigation#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (ros-navigation#3284)

* add parameterized refinement recursion numbers

* fix tests

* 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

* Include test cases waypoint follwer (ros-navigation#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (ros-navigation#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (ros-navigation#3290)

* 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>

* Pipe error codes (ros-navigation#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (ros-navigation#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (ros-navigation#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (ros-navigation#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
andrewlycas pushed a commit to StratomInc/navigation2 that referenced this pull request Feb 23, 2023
* publish layers of costmap

* lint fix

* lint round 2 :)

* code review

* remove isPublishable

* lint

* test running

* rough structure complete

* completed test

* lint

* code review

* CI

* CI

* linting

* completed pub test

* CostmapLayer::matchSize may be executed concurrently (ros-navigation#3250)

* CostmapLayer::matchSize() add a mutex

* 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

* refactoring RPP a bit for cleanliness on way to ROSCon (ros-navigation#3265)

* refactor for RPP on way to ROSCon

* fixing header

* fixing header

* fixing header

* fix edge cases test samplings

* linting

* exceptions for compute path through poses (ros-navigation#3248)

* exceptions for compute path through poses

* lint fix

* code review

* code review

Co-authored-by: Joshua Wallace <josho.wallace.com>

* Reclaim Our CI Coverage from the Lords of Painful Subtle Regressions ⚔️⚔️⚔️ (ros-navigation#3266)

* test waypoint follower with composition off for logging

* adding no composition to all system tests

* 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>

* Use SetParameter Launch API to set the yaml filename for map_server (ros-navigation#3174)

* implement launch priority for the mapserver parameter yaml_filename

minor fix

fix commit

reincluded rewritten function

comment remaining lines for yaml_filename

removed default_value

issue with composable node

alternative soltion to the condition param not working in composable node

remove unused import

remove comments and reorder composablenode execution

fixing commit

fixing format

fixing lint

Update nav2_bringup/params/nav2_params.yaml

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* state new ros-rolling release changes and deprecation

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding reconfigure test to thetastar (ros-navigation#3275)

* Check for range_max of laserscan in updateFilter to avoid a implicit overflow crash. (ros-navigation#3276)

* Update amcl_node.cpp

* fit the code style

* fit code style

* 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 exec_depend on behaviortree_cpp_v3 (ros-navigation#3279)

* add parameterized refinement recursion numbers in Smac Planner Smoother and Simple Smoother (ros-navigation#3284)

* add parameterized refinement recursion numbers

* fix tests

* 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

* Include test cases waypoint follwer (ros-navigation#3288)

* WIP

* included missed_waypoing check

* finished inclding test

* fix format

* return default sleep value

* Dynamically changing polygons support (ros-navigation#3245)

* Add Collision Monitor polygon topics subscription

* Add the support of polygons published in different frame

* Internal review

* Fix working with polygons visualization

* Update nav2_collision_monitor/README.md

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Move getTransform to nav2_util

* Fix misprint

* Meet remaining review items:
* Update polygon params handling logic
* Warn if polygon shape was not set
* Publish with ownership movement

* Correct polygons_test.cpp parameters handling logic

* Adjust README for dynamic polygons logic update

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* adding getCostScalingFactor (ros-navigation#3290)

* 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>

* Pipe error codes (ros-navigation#3251)

* issue with finding key

* passed up codes to bt_navigator

* lint fix

* updates

* adding error_code_id back in

* error codes names in params

* bump error codes

* lint

* spelling

* test fix

* update behavior trees

* cleanup

* Update bt_action_server_impl.hpp

* code review

* lint

* code review

* log fix

* error code for waypoint follower

* clean up

* remove waypoint error test, too flaky on CI

* lint and code review

* rough imp for waypoint changes

* lint

* code review

* build fix

* clean up

* revert

* space

* remove

* try to make github happ

* stop gap

* loading in param file

* working tests :)

* lint

* fixed cmake

* lint

* lint

* trigger build

* added invalid plugin error

* added test for piping up error codes

* clean up

* test waypoint follower

* only launch what is needed

* waypoint test

* revert lines for robot navigator

* fix test

* waypoint test

* switched to uint16

* clean up

* code review

* todo to note

* lint

* remove comment

* Update nav2_behavior_tree/include/nav2_behavior_tree/bt_action_server_impl.hpp

Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* rename error_codes

* error code for navigate to pose

* error codes for navigate through poses.

* error codes for navigate through poses

* message update for waypoint follower

* rename to error code

* update node xml

Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>

* Solve bug when CostmapInfoServer is reactivated (ros-navigation#3292)

* Solve bug when CostmapInfoServer is reactivated

* Smoothness metrics update (ros-navigation#3294)

* Update metrics for path smoothness

* Support Savitzky-Golay smoother

* preempt/cancel test for time behavior, spin pluguin (ros-navigation#3301)

* include preempt/cancel test for time behavior, spin pluguin

* linting

* fix bug in code

* lint fix

* clean up test

* lint

* cleaned up test

* update

* revert Cmake

* fixed error code test

* half time

* bump build

* revert

* lint error

Signed-off-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: Joshua Wallace <josho.wallace.com>
Co-authored-by: Hao-Xuan Song <44140526+Cryst4L9527@users.noreply.github.com>
Co-authored-by: jaeminSHIN <91681721+woawo1213@users.noreply.github.com>
Co-authored-by: Steve Macenski <stevenmacenski@gmail.com>
Co-authored-by: Afif Swaidan <53655365+afifswaidan@users.noreply.github.com>
Co-authored-by: Afif Swaidan <afif.swaidan@spexal.com>
Co-authored-by: Stevedan Ogochukwu Omodolor <61468301+stevedanomodolor@users.noreply.github.com>
Co-authored-by: Pradheep Krishna <padhupradheep@gmail.com>
Co-authored-by: Erwin Lejeune <erwin.lejeune15@gmail.com>
Co-authored-by: Adam Aposhian <aposhian.dev@gmail.com>
Co-authored-by: Pedro Alejandro González <71234974+pepisg@users.noreply.github.com>
Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
Co-authored-by: Owen Hooper <17ofh@queensu.ca>
Co-authored-by: MartiBolet <43337758+MartiBolet@users.noreply.github.com>
shrijitsingh99 pushed a commit to moss-ag/navigation2 that referenced this pull request Mar 4, 2023
* 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>
shrijitsingh99 pushed a commit to moss-ag/navigation2 that referenced this pull request Mar 4, 2023
* 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants