if an arm is in collision at start, anything downstream of the arm is…#5809
if an arm is in collision at start, anything downstream of the arm is…#5809erh wants to merge 1 commit into
Conversation
… allowed to be in that collision during this motion, i think this is right...
Availability
Quality
Performance
The above data was generated by running scenes defined in the
|
biotinker
left a comment
There was a problem hiding this comment.
Wouldn't this allow an end effector to collide with the table an arm is mounted on? Or the rest of the arm for that matter?
It's one thing for us to allow "X and anything downstream" to collide with Y on a per-call basis but making this the default seems like it is going to have a lot of real world breakage.
if the arm is already in collision. |
Due to inaccuracy of models (and likely after we have mesh models everywhere) the base of arms is often in collision with the table on which it is mounted. We don't want anything else to collide with a table. With this change, the result of mildly overinflating or slightly misplacing an important obstacle like a table would be that the obstacle gets ignored. Maybe we want something more like manually specifying allowed collisions that are not direct parent-child relationships and otherwise this scenario would be a very clear error "forearm in mesh guard not allowed to collide but starting in collision"? |
The table being ignored for all children component would be a big problem.
Likely Problem: However I think the base of the arm is not split into a fixed and a moveable piece (the part below and above the base joint) so the base would be considered a frame with a DoF, so it is not in our frame system a fixed component, and this which would break us again |
|
I don't think either of those saves the approach. Right now we have a limitation, which is that the starting state of the robot influences what motion plan can be generated at a more fundamental level than people might expect. This approach keeps that, and adds a new surprise where the backend ordering of static frames matters, and spatially identical robots will behave radically differently if someone describes three static pieces as x->y->z vs z->y->x. I would rather us try to remove the above limitation, which only exists because it was a quick and dirty heuristic to get reasonable behavior most of the time without forcing the user to specify every pair of objects allowed to collide. |
|
i agree with peter, i think the original approach was wrong so therefore this is wrong. |
… allowed to be in that collision during this motion, i think this is right...
this fixes an issue you had from email "Armplanning error when starting point is violating an obstacle" on Wed, Dec 17, 2025, 12:45 PM