Plan path with minimum clearance.

2 次查看(过去 30 天)
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

采纳的回答

Karsh Tharyani
Karsh Tharyani 2022-5-26
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

更多回答(1 个)

Image Analyst
Image Analyst 2022-5-25
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 个评论
Karsh Tharyani
Karsh Tharyani 2022-5-26
编辑:Karsh Tharyani 2022-5-26
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.

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by