Plan path with minimum clearance.
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Lukas Schroth
le 25 Mai 2022
Commenté : Lukas Schroth
le 29 Mai 2022
Hey all,
I am trying to plan a path using RRT for a robot manipulator using matlab.
Currently I am using manipulatorRRT as a planner, however i cannot find any way to change the minimal clearance of the planned path.
Due to safety of he application, I need a certain distance to all environment objects.
Is there any way to set the clearance in manipulatorRRT, or what can i use alternatively to achieve a path with a certain clearance?
Thank you very much for your help!
Yours,
Lukas
0 commentaires
Réponse acceptée
Karsh Tharyani
le 26 Mai 2022
Hi Lukas,
You can't specify a safety clearance in the planner. However, if your environment comprises of meshes (even if it isn't you can convert them to a collision mesh using convertToCollisionMesh), you can simply scale up the meshes in the environment and that should create a safety clearance for you.
Here's how you scale a mesh:
groundvehiclemesh=collisionMesh(stlread('groundvehicle.stl').Points);
% Show the original collision mesh
subplot(1,2,1)
show(groundvehiclemesh);
xlim([-150,150])
ylim([-150,150])
zlim([-60,60])
title("Original Mesh");
% Scale the mesh by a scaling factor
scalingfactor=2.5;
groundvehiclemesh.Vertices=scalingfactor*(groundvehiclemesh.Vertices);
% Show the scaled collision mesh
subplot(1,2,2);
show(groundvehiclemesh);
xlim([-150,150])
ylim([-150,150])
zlim([-60,60])
title("Scaled Mesh " + string(scalingfactor) + "X")
Then you can simply pass the scaled mesh to the planner "manipulatorRRT" during its creation.
Hope that helps,
Karsh
Plus de réponses (1)
Image Analyst
le 25 Mai 2022
I suggest you get a mask of your objects then enlarge them with imdilate to create the safety buffer zone around them. Then see Steve's blog to get the shortest route:
1 commentaire
Karsh Tharyani
le 26 Mai 2022
Modifié(e) : Karsh Tharyani
le 26 Mai 2022
The posts which you link are only relevant for 2D point like robots. The OP is asking about manipulatorRRT which uses a rigid body tree and involves collision checking for poses in 3D.
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!