asked
2012-03-31 15:05:37 -0500
jker 65 ● 6 ● 9 ● 18 Hi I'm new to ROS, I've downloaded and installed Electric, and now I'm trying to get the PR2 to pick up and place objects in the Gazebo simulator. I'm interested in writing my own pick-and-place package using Python, so I've been following the tutorial here. I've downloaded all the relevant packages and I execute the command below in that order.
roslaunch pr2_gazebo
pr2_empty_world.launch roslaunch
gazebo_worlds table.launch roslaunch
gazebo_worlds coffee_cup.launch export
ROBOT=sim roslaunch
pr2_tabletop_manipulation_launch
pr2_tabletop_manipulation.launch
stereo:=true rosrun
pr2_pick_and_place_demos
simple_pick_and_place_example.py
Everything launches fine except for the last command, which gets stuck at the message:
[INFO] [WallTime: 1333224769.117507] [1004.719000] ik_utilities: waiting for IK services to be there
I'm not sure why it can't find IK services (or what they are, since I can't find it in the tutorial), so what is it and how do I get it so the PR2 can grasp objects?
EDIT: For some reason it gets past this line now, but after it moves the arms and head it crashes with the output below (Sorry about the format, but pasting here I can't get the newlines to work properly unless I space it out to every other line):
[INFO] [WallTime: 1333234720.247776] [431.624000] ik_utilities: waiting for IK services to be there
[INFO] [WallTime: 1333234720.370728] [431.630000] ik_utilities: services found
[INFO] [WallTime: 1333234720.388736] [431.631000] getting the IK solver info
[INFO] [WallTime: 1333234720.440548] [431.632000] done getting the IK solver info
[INFO] [WallTime: 1333234720.514891] [431.636000] ik_utilities: done init
[INFO] [WallTime: 1333234720.527255] [431.637000] done creating IKUtilities class
objects
Traceback (most recent call last):
File "/opt/ros/electric/stacks/pr2_object_manipulation/applications/pr2_pick_and_place_demos/test/simple_pick_and_place_example.py", line 110, in <module>
sppe = SimplePickAndPlaceExample()
File "/opt/ros/electric/stacks/pr2_object_manipulation/applications/pr2_pick_and_place_demos/test/simple_pick_and_place_example.py", line 54, in __init__
self.papm = PickAndPlaceManager()
File "/opt/ros/electric/stacks/pr2_object_manipulation/applications/pr2_pick_and_place_demos/src/pr2_pick_and_place_demos/pick_and_place_manager.py", line 172, in __init__
self.cms[0] = controller_manager.ControllerManager('r', self.tf_listener, use_slip_controller, use_slip_detection)
File "/opt/ros/electric/stacks/pr2_object_manipulation/manipulation/pr2_gripper_reactive_approach/src/pr2_gripper_reactive_approach/controller_manager.py", line 243, in __init__
self.cartesian_desired_pose = self.get_current_wrist_pose_stamped('/base_link')
File "/opt/ros/electric/stacks/pr2_object_manipulation/manipulation/pr2_gripper_reactive_approach/src/pr2_gripper_reactive_approach/controller_manager.py", line 676, in get_current_wrist_pose_stamped
(current_trans, current_rot) = self.return_cartesian_pose(frame)
File "/opt/ros/electric/stacks/pr2_object_manipulation/manipulation/pr2_gripper_reactive_approach/src/pr2_gripper_reactive_approach/controller_manager.py", line 1429, in return_cartesian_pose
(trans, rot) = self.tf_listener.lookupTransform(frame, self.whicharm+'_wrist_roll_link', rospy.Time(0))
tf.ExtrapolationException: Lookup would require extrapolation into the past. Requested time 431.621000000 but the earliest data is at time 431.960000000, when looking up transform from frame [/r_wrist_roll_link] to frame [/base_link]
Exception in thread Thread-32 (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
File "/usr/lib/python2.6/threading.py", line 484, in run
File "/opt/ros/electric/stacks/pr2_object_manipulation/manipulation/pr2_gripper_reactive_approach/src/pr2_gripper_reactive_approach/joint_states_listener.py", line 80, in joint_states_listener
File "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/client.py", line 101, in spin
<type 'exceptions.attributeerror'="">: 'NoneType' object has no attribute 'core'
Unhandled exception in thread started by
Error in sys.excepthook:
Original exception was:
Exception in thread /r_arm_controller/joint_trajectory_action/status (most likely raised during interpreter shutdown):
Traceback (most recent call last):
File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
File "/usr/lib/python2.6/threading.py", line 484, in run
File "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/impl/tcpros_pubsub.py", line 169, in robust_connect_subscriber
File "/opt/ros/electric/stacks/ros_comm/clients/rospy/src/rospy/impl/tcpros_base.py", line 720, in receive_loop
<type 'exceptions.typeerror'="">: 'NoneType' object is not callable
On a side note: One other error I noticed was that the manipulation pipeline could not connect to the database because I don't have it installed on my computer (I'm on a public machine and don't have permissions to install the database locally). Is the database necessary? Because the manipulation pipeline seems to run without it. If it is necessary, is there a workaround?