How to efficiently detect collision between point and robot(rigidBodyTree)?
25 views (last 30 days)
Show older comments
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]
]
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 Comment
Karsh Tharyani
on 4 Aug 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
Answers (1)
Karsh Tharyani
on 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
0 Comments
See Also
Categories
Find more on Manipulator Modeling in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!