Hello All,
How do I figure out if the motion planner found a solution when invoking moveit's moveit_commander.MoveGroupCommander.plan()? As an example, when I run this snippet:
zrange = np.linspace(1,0.3,10)
for z in zrange:
pose_target.position.z = z
print("Moving to new pose z pos %f " % pose_target.position.z)
# set the new pose
group.set_pose_target(pose_target)
# Now call the planner to compute the plan.
plan1 = group.plan()
# to execute the plan call, group.go
group.go(wait=True)
# sleep for a while
rospy.sleep(0.3)
My robot can't go down to Z=0.3 mm, and what I see on the movit_config window is a whole bunch of errors for some z positions:
[ INFO] [1553915255.455107181, 4593.181000000]: Planner configuration 'manipulator' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
[ WARN] [1553915255.455373951, 4593.181000000]: RRTConnect: Skipping invalid start state (invalid bounds)
[ERROR] [1553915255.455499924, 4593.181000000]: RRTConnect: Motion planning start tree could not be initialized!
[ INFO] [1553915255.455590190, 4593.181000000]: No solution found after 0.000222 seconds
[ WARN] [1553915255.465173476, 4593.191000000]: Goal sampling thread never did any work.
[ INFO] [1553915255.465402585, 4593.191000000]: Unable to solve the planning problem
But before I even issue a group.go() command, how do I check if the computed plan is valid?
Thank you.
Karthik.
↧