Plan path with minimum clearance.
2 views (last 30 days)
Show older comments
Lukas Schroth
on 25 May 2022
Commented: Lukas Schroth
on 29 May 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 Comments
Accepted Answer
Karsh Tharyani
on 26 May 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
More Answers (1)
Image Analyst
on 25 May 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 Comment
Karsh Tharyani
on 26 May 2022
Edited: Karsh Tharyani
on 26 May 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.
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!