When Coppeliasim update to 4.2.0, I want to use UR5 do path planning with OMPL in this version, but I found that the motionPlanningDemo1.ttt is removed. So I referred to path_planning_and_grasping.ttt.
In path_planning_and_grasping.ttt, collisionPair is:
Code: Select all
local collection=sim.createCollection(0)
sim.addItemToCollection(collection,sim.handle_tree,simBase,0)
collisionPairs={collection,collection,collection,sim.handle_all}
Code: Select all
sim.checkCollision(collection, collection) -- is 1, {pair}
I modified the code, want to check self-collision and ignore the collision of adjacent joints:
Code: Select all
namespace = {'UR5_link1_visible', 'UR5_link2_visible', 'UR5_link3_visible', 'UR5_link4_visible', 'UR5_link5_visible', 'UR5_link6_visible', 'UR5_link7_visible'}
function validationCb(config,auxData)
local retVal=true
local prev={}
for i=1,#jh,1 do
prev[i]=sim.getJointPosition(jh[i])
sim.setJointPosition(jh[i],config[i])
end
--vis, pair = sim.checkCollision(collisionPairs[1],collisionPairs[2])
-- enviroment
vis, pair = sim.checkCollision(collisionPairs[1],collisionPairs[2])
if vis>0 then
retVal=false
end
-- self-clossision
if retVal then
vis, pair = sim.checkCollision(selfcollisionPair[1],selfcollisionPair[2])
--vis, pair = sim.checkCollision(collisionPairs[3],collisionPairs[4])
if vis>0 then
local name1 = sim.getObjectName(pair[1])
local name2 = sim.getObjectName(pair[2])
print(name1..' '..name2)
......
-- Ignore the collision of adjacent joints.
end
end
I suspect the problem is here, because collisionPairs just UR5 and environment:
Code: Select all
simOMPL.setCollisionPairs(task,collisionPairs)
I don't know how to fix this... Some one can help me?[simExtOMPL:error] OMPL: /home/marc/Documents/coppeliaRobotics/programming/simExtOMPL/build/ompl-1.5.0-prefix/src/ompl-1.5.0/src/ompl/geometric/planners/rrt/src/RRTConnect.cpp:207: RRTConnect: Motion planning start tree could not be initialized!
Thanks.