Plan path with minimum clearance.
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Lukas Schroth
el 25 de Mayo de 2022
Comentada: Lukas Schroth
el 29 de Mayo de 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 comentarios
Respuesta aceptada
Karsh Tharyani
el 26 de Mayo de 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
Más respuestas (1)
Image Analyst
el 25 de Mayo de 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 comentario
Karsh Tharyani
el 26 de Mayo de 2022
Editada: Karsh Tharyani
el 26 de Mayo de 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.
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!