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

How to make one concave geometry outside of another concave geometry by a set distance threshold #586

Open
KingWang569 opened this issue Oct 7, 2022 · 0 comments

Comments

@KingWang569
Copy link

KingWang569 commented Oct 7, 2022

Is your feature request related to a problem? Please describe.
We now have such a problem:
We want different components of the robot (eg: arm, C-type-tool, etc.) and different parts of the table (eg desktop, table legs, etc.) to maintain the set safe distance threshold;
We use ros fcl interface distance() to get the minimum distance from the robot to the table
manager.manager_->distance(object.collision_objects_[i].get(), &drd, &collision_detection::distanceCallback);
image

For the first time, when we try to move the C-type-tool up, we can control it to slow down and stop based on the minimum distance between the C-type-tool and the table;
When the C-type tool moves to the point where it is not allowed to continue upward movement, we try to move the tool to the right, and a collision occurs, because the obtained distance is always the minimum distance until the C-type-tool is closer to the table;

Describe the solution you'd like
We want one concave polygon to move in all directions to another concave polygon, always staying outside the distance threshold we set, without collision
The equidistant collision model is not applicable because we set different distance thresholds and we cannot create an equidistant collision model for each distance threshold
image

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
The motion control of the object has a certain overshoot due to the large speed, so we need to be able to obtain the distance in all directions between a concave polyhedron and another concave polyhedron to control deceleration and stop
We're curious how such issues are addressed in the game
Looking forward to your reply and solution
Thanks!

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

No branches or pull requests

1 participant