How to efficiently detect collision between point and robot(rigidBodyTree)?

25 vues (au cours des 30 derniers jours)
Thomas Yao
Thomas Yao le 15 Juin 2022
Now I am doing my research and it includes a very large amount of point. So I wish to filter out some points in 3D grid that is never possible to be reached in the space.
Input data is a structure like this:
gird=[-1,-1,-1;
-0.5,-1,-1;
-0,-1,-1;
... A vertical matrix with each row as every possible [x,y,z]
]
gird = 3×3
-1.0000 -1.0000 -1.0000 -0.5000 -1.0000 -1.0000 0 -1.0000 -1.0000
Robot should be imported by importrobot or loadrobot, the rigidBodyTree looks same now in R2022a
robot=importrobot('frankaEmikaPanda.urdf')
That is what we could know. So now I wish to filter out the points inside the robot's base and first link (more things should be down like making rotation but now we just chat about the general method should be used).
But now I don't know how to make this quickly.
One method that could be done is import the stl collision data from outside, and the do triangularzation, and the check if a point is inside/outside triangularized body.
This works but:
  • Should always download import the collision stl from outside, which could be bad for file management (too much external dependencies, need manual update), and actually Matlab must have it SOMEWHERE in Robotics System Toolbox Robot Library Data. Because they provide it here importrobot(filename) after you download the Library Data.
  • For a specific pose, I have to read the transformation between links from rigidBodyTree, then apply it directly to a triangularzation. Which takes the data out between classes, have totally make class useless. (And would be very slow if you wish to do Transformation on triangularized body)
So I have two questions (which are both solutions, just answer one of them if you wish to)
  • Where can I find all the description of collision meshes(STL files) provided by Robotics System Toolbox Robot Library Data ? I can only find a very few in ".\MathLab\R2022a\toolbox\robotics\robotmanip\exampleRobots", which are the default importrobot(filename) ones. Where are the rest of them? This will help me to reach the target by the method mentioned above.
  • Is there any efficient method that could avoid using the stl file triangularzation but still works for my requirement? Especially if it is in toolbox, that would be very fine.
Thanks for your answers!
  1 commentaire
Karsh Tharyani
Karsh Tharyani le 4 Août 2023
Hi Thomas,
Can you check if you can find the mesh files in "toolbox/robotics/supportpackages/robotlibrary" directory after you have installed the The Robotics System Toolbox™ Robot Library Data Support Package?
Karsh

Connectez-vous pour commenter.

Réponses (1)

Karsh Tharyani
Karsh Tharyani le 29 Sep 2023
Hi Thomas,
You can find the mesh files in "toolbox/robotics/supportpackages/robotlibrary" directory after you have installed the The Robotics System Toolbox™ Robot Library Data Support Package.
Karsh

Produits


Version

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by