-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added Footprint Collision Checker (Simple Commander API) #3280
Conversation
@afifswaidan, please properly fill in PR template in the future. @SteveMacenski, use this instead.
|
@SteveMacenski This is the initial commit, I still need to add documentation, docstrings and test cases. But I wanted to take your opinion if there are any specific test cases that I should implement? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM for a first run, just a little cleanup and should be able to merge in soon!
nav2_simple_commander/nav2_simple_commander/footprint_collision_checker.py
Show resolved
Hide resolved
nav2_simple_commander/nav2_simple_commander/footprint_collision_checker.py
Outdated
Show resolved
Hide resolved
nav2_simple_commander/nav2_simple_commander/footprint_collision_checker.py
Outdated
Show resolved
Hide resolved
nav2_simple_commander/nav2_simple_commander/footprint_collision_checker.py
Outdated
Show resolved
Hide resolved
nav2_simple_commander/nav2_simple_commander/footprint_collision_checker.py
Outdated
Show resolved
Hide resolved
I added the doc strings, migrated to Polygon and Point32 messages, and renamed the validity function. |
Looked it all over and resolved the comments solved + added more recommendations! |
any update? I would like this in before Christmas to button up that ticket for 2022 😄 |
I was sick for the past week so I couldn't work or contribute. I already implemented some test cases, I'll continue the rest and commit on the weekend as usual. Is that okay? 😊 |
Awesome, totally understand. Feel better! I appreciate the help :-) |
Awesome! i think the last thing was the verified worldtomap None return for 1 call! |
This was already implemented a few commits back. Now the function returns None in case of invalid inputs, else, it returns the [X,Y] coordinates from world coordinates to map coordinates. EDIT: Also I added this explanation in the |
We talked about changing that to |
Ah yes correct, I modified the function but still kept calling it more than one time. |
LETHAL_OBSTACLE = 254 | ||
|
||
|
||
class TestFootprintCollisionChecker(unittest.TestCase): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Last thing : the unit tests should have some that have non-zero costs in them to make sure things are working properly. If you make a 100x100 map with a 10x10 block of cost in the middle (or something) and then run these same tests to make sure we're picking things up correctly.
Then this is good to merge! Thanks!
nav2_simple_commander.test.test_footprint_collision_checker.TestFootprintCollisionChecker failed
Also a linting error
|
@afifswaidan I forgot - can you add docs https://navigation.ros.org/commander_api/index.html about this feature? |
Sure thing! My 2nd question is, its my first time of adding/modifying a docs website, how do you usually do it for ros2 nav2 docs? Sorry if its a basic question but I'd like to know how and do it! Thanks :) |
Thank you so much for the credits! Please ping me whenever there are some pending issues that needs contributors, I've been working with ROS Navigation since 2017 and I hope I can be a good help for the development of ROS. |
https://github.com/ros-planning/navigation.ros.org/blob/master/commander_api/index.rst Basically just modify this file under the |
Something that would be very helpful if you were interested is #3205. The idea is that if you create a |
Okay sure I'll do that either tomorrow or on Saturday. |
Okay sure, I can look into it. Thanks for telling me about it as well. |
I don't expect much to get done from tomorrow to the end of the year from anyone 😆 When you have time and interest :-) If this doesn't interest you, there are plenty of things in the issue tracker and would very much appreciate contributions where you would have interest! |
Yeah exactly its the holidays and end of year season 😆 Okay I'll check it out and let you know. I'll check the other issues as well. |
Hello Steve, I will be looking into all the stuff you told me about later in the first week of January 2023. |
Unfortunately, that’s to do with your git configurations and not something I can control. Perhaps its possible in Git to manually manipulate that, but it would be wrong (and possibly problematic legally) for me to do that as a representative of a company. What we can do instead though is revert the commit so its out of the git history and you can resubmit a new PR under your preferred address. Its mostly problematic for me as a 3rd party to reassign the commit. For you, its fine if its more properly representative. |
Thanks for for the quick reply. |
I modified the file based on previous APIs (costmap and commander) |
…ion#3280) * 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 * Initial commit for python collision checker * Initial commit for footprint_collision_checker * Added docstrings and renamed the validity function * implemented worldToMapValidated and added tests * fixed wrong imports * Fixed test cases linting errors * Fixed one line comment error * Fixed docstring colon error * Fixed docstring dashed line error * Added return None to keep consistent docstrings * Changed worldToMapValidated to 1 call only * Fixed linting error and added none-zero cost test case * Fixed linting errors * Fixed linting errors Co-authored-by: Afif Swaidan <[email protected]>
Basic Info
Description of contribution in a few bullet points
For Maintainers: