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

add footprint_clearing_padding to partially clear obstacles from footprint #105

Open
wants to merge 13 commits into
base: devel
Choose a base branch
from

Conversation

Nisarg236
Copy link
Member

@Nisarg236 Nisarg236 commented Nov 29, 2024

AB#19208
image
image

Dont ignore points that are near to the edge of the robot footprint for safety.

When the obstacle is very close to the robot, some part of the obstacle is inside the footprint and some is outside. The robot cannot move forward as the obstacle is just in front of it but it can rotate in place. As our robot footprint is not a circle, a part of it hits the obstacle when it rotates.

@Nisarg236 Nisarg236 marked this pull request as ready for review November 29, 2024 04:31
@Nisarg236 Nisarg236 marked this pull request as draft November 29, 2024 05:31
@Nisarg236 Nisarg236 marked this pull request as ready for review November 30, 2024 19:50
@Nisarg236 Nisarg236 marked this pull request as draft November 30, 2024 19:50
@Nisarg236
Copy link
Member Author

Nisarg236 commented Dec 7, 2024

simplescreenrecorder-2024-12-07_11.04.39.mp4

I have tested this in simulation, see the above video

@Nisarg236 Nisarg236 marked this pull request as ready for review December 7, 2024 05:49
@Nisarg236 Nisarg236 requested a review from vsamy December 7, 2024 05:53
@Nisarg236 Nisarg236 requested a review from renan028 December 17, 2024 05:27
Comment on lines 9 to 10
gen.add("reduced_footprint_enabled", bool_t, 0, "Enable use of reduced footprint size for clearing lethal obstacle when footprint_clearing_enabled", False)
gen.add("footprint_reduction_size", double_t, 0, "Size to reduce footprint (meters)", 0.01, 0.0, 0.1)
Copy link

Choose a reason for hiding this comment

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

These params are a bit confusing
Idea: add a single param named footprint_clearing_padding that defaults to footprint_padding
Setting to - footprint_reduction_size should achieve the same result
Ensure u add a good description, because the concept is not intuitive at all

Copy link
Member Author

Choose a reason for hiding this comment

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

Hi did you mean like this?
there is only extra parameter now

simplescreenrecorder-2024-12-17_15.55.39.mp4

@Nisarg236 Nisarg236 changed the title enable reduced footprint for footprint clearing add footprint_clearing_padding to partially clear obstacles from footprint Dec 17, 2024
Copy link
Member

@renan028 renan028 left a comment

Choose a reason for hiding this comment

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

interesting issue.
Can you check if this gets fixed if we use supercover:
naturerobots/move_base_flex#322
You would need to change mbf branch and rebuild

@Nisarg236
Copy link
Member Author

interesting issue. Can you check if this gets fixed if we use supercover: naturerobots/move_base_flex#322 You would need to change mbf branch and rebuild

This will not solve the issue completely because the robot will still rotate when the obstacle is just in front of it and cause collision, however it can improve the condition where sometimes the points are just outside the footprint and they are skipped in marking on the costmap.
I think there is no harm in adding supercover also.


reduced_footprint.push_back(new_point);
}
return reduced_footprint;
Copy link
Member

Choose a reason for hiding this comment

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

R: I think you should save the reduced footprint in the dynamic reconfigure call, so the computation of the new one is called only when you change the parameter (i.e, make this a member variable and in updateFootprint get it)

@renan028 renan028 self-requested a review January 7, 2025 13:23
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.

4 participants