Hello Ioan and moveit_users,
I've tried to run the pick demo from moveit_commander on our robot, but
the motion planner keeps giving me strange errors:
-----
[ INFO] [1381496234.147557423, 254.573000000]: Planning attempt 1 of at
most 1
[ INFO] [1381496234.147954643, 254.573000000]: Added plan for pipeline
'pick'. Queue is now of size 1
[ERROR] [1381496234.155924990, 254.580000000]: close up = 0.018182
[ INFO] [1381496234.160568851, 254.586000000]: Manipulation plan failed
at stage 'approach & translate' on thread 3
[ WARN] [1381496234.161139832, 254.586000000]: All supplied grasps
failed. Retrying last grasp in verbose mode.
[ INFO] [1381496234.161240559, 254.586000000]: Re-added last failed plan
for pipeline 'pick'. Queue is now of size 1
[ INFO] [1381496234.165029126, 254.590000000]: Found a contact between
'arm_4_link' (type 'Robot link') and 'asus_camera_link' (type 'Robot
link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1381496234.165074309, 254.590000000]: Collision checking is
considered complete (collision was found and 0 contacts are stored)
[ERROR] [1381496234.165119971, 254.590000000]: close up = 0.018182
[ INFO] [1381496234.169614767, 254.595000000]: Found a contact between
'arm_4_link' (type 'Robot link') and 'asus_camera_link' (type 'Robot
link'), which constitutes a collision. Contact information is not stored.
[ INFO] [1381496234.169660631, 254.595000000]: Collision checking is
considered complete (collision was found and 0 contacts are stored)
[ERROR] [1381496234.169723300, 254.595000000]: close up = 0.018182
[ INFO] [1381496234.173846483, 254.599000000]: Manipulation plan failed
at stage 'approach & translate' on thread 1
[ INFO] [1381496234.173932149, 254.599000000]: Pickup completed after
0.013469 seconds
-----
My code is like this:
-----
scene = PlanningSceneInterface()
robot = RobotCommander()
rospy.sleep(1)
grasp = manipulation_msgs.msg.Grasp()
grasp.id = "blah"
grasp.grasp_pose.header.frame_id = "base_link"
grasp.grasp_pose.header.stamp = rospy.Time.now()
grasp.grasp_pose.pose.position.x = .68
grasp.grasp_pose.pose.position.y = .3
grasp.grasp_pose.pose.position.z = .5
grasp.grasp_pose.pose.orientation.w = .7
grasp.grasp_pose.pose.orientation.x = -.08
grasp.grasp_pose.pose.orientation.y = .7
grasp.grasp_pose.pose.orientation.z = -.08
goal.possible_grasps.append( grasp )
scene.remove_world_object("box")
p = PoseStamped()
p.header.frame_id = robot.get_planning_frame()
p.pose.position.x = 1.0
p.pose.position.y = 0.3
p.pose.position.z = 0.5
scene.add_box("box", p, (0.15, 0.05, 0.3))
rospy.sleep(1)
robot.arm.pick("box")
-----
The grasp pose I've defined is shown in the first of the attached
screenshots, so the planner should be able to find a solution per se.
I've also tried not giving any grasp information at all and simply
picking the object like in the pick.py example, but that spawned similar
errors.
Those messages are strange because they refer to "arm_4_link" and
"asus_camera_link" which have nothing to do with each other (see second
screenshot). I'm not sure, though, whether using the group "arm" is
correct (for group definitions, see below).
Don't worry about the red color of the ring on the end effector; it's
actually colored red in the URDF.
One more information: I'm using ROS Groovy and unfortunately, I won't
have much chance to switch to Hydro in near future, in case that's
necessary.
Does anybody have an idea what's going wrong here? How could I possibly
find out more about what's actually failing?
Some additional data, in case that helps:
my controllers.yaml:
-----
controller_manager_ns:
pr2_controller_manager
controller_list:
- name: arm_controller
action_ns: follow_joint_trajectory
type: FollowJointTrajectory
default: true
joints:
- arm_1_joint
- arm_2_joint
- arm_3_joint
- arm_4_joint
- arm_5_joint
- arm_6_joint
- name: gripper_controller
action_ns: gripper_command
type: GripperCommand
default: true
joints:
- gripper_base_joint_gripper_left
- gripper_base_joint_gripper_right
-----
my group definitions from the SRDF:
-----
<group name="arm">
<joint name="arm_base_joint" />
<joint name="arm_0_joint" />
<joint name="arm_1_joint" />
<joint name="arm_2_joint" />
<joint name="arm_3_joint" />
<joint name="arm_4_joint" />
<joint name="arm_5_joint" />
<joint name="arm_6_joint" />
</group>
<group name="gripper">
<joint name="ft_sensor_joint" />
<joint name="gripper_base_joint_gripper_left" />
<joint name="gripper_base_joint_gripper_right" />
<joint name="gripper_anterior_gripper_joint" />
</group>
-----
Thanks in advance, best,
Tobi
--
Tobias Fromm
Robotics Group
Jacobs University
Research I, Room 38
+49-421-200-3106
Campus Ring 1
t.f...@jacobs-university.de
28759 Bremen, Germany
http://robotics.jacobs-university.de