How to check collision between several robots?
Ältere Kommentare anzeigen
I have created four robots (rigidBodyTrees) with the Robotics Toolbox.
In reality, this is one robot with four arms.
I chose to create four different robots, because I want to ignore self collision (the self being the same arm).
I want to generate configurations for each arm (each robot) and then check whether there is collision between them.
How do I do this? The documentation says:
This suggests that I can only enter the configuration for one robot and the worldObjects cannot be placed depending on the configuration that is generated but are 'fixed'.
I really hope someone can help me!
3 Kommentare
Karsh Tharyani
am 13 Jan. 2021
Bearbeitet: Karsh Tharyani
am 13 Jan. 2021
Hi Eva,
Thanks for your question. You can consider modelling your four-arms robot as a single rigidBodyTree with four sub-trees.
Next, if you feel like you want to ignore self collisions, you can set the "IgnoreSelfCollisions" to "on".
Let me know if this helps.
Best,
Karsh
(Edit)
I think I might have misunderstood your question. Sounds like (and correct me if I am wrong), you want to find out the collision between bodies of two arms, but not of bodies within an arm. Based on your current approach, you would have to update the poses of the world objects (which will correspond to links on the other arms) using "getTransform".
Alternatively, you can model your robot as, like I mentioned above, a four sub-trees "rigidBodyTree", and use "checkCollision" for a configuration and set "Exhaustive" "on".
[isColliding, separationDistance, witnessPts] = checkCollision(robot, config, "Exhaustive", "on");
Next, you can deduce based on the "separationDistance" (see here) values to decide whether the configuration is in collision or not. For example, if the (1,3) entry of "separationDistance" is NaN and that bodies at indices 1 and 3 form the same arm, this is not a collision and this can be filtered out.
Eva
am 14 Jan. 2021
Yiping Liu
am 13 Jun. 2021
Can you share your script so we can take a detailed look?
Antworten (1)
Karsh Tharyani
am 14 Jun. 2021
Verschoben: Remo Pillat
am 16 Jul. 2024
0 Stimmen
Hi Eva,
Please reach out to Technical Support with your question. You can provide them with the supporting files that reproduce the issue.
Best,
Karsh
Kategorien
Mehr zu Motion Planning finden Sie in Hilfe-Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
