Go to the documentation of this file.00001
00002
00003 import roslib; roslib.load_manifest('pr2_pose')
00004 import rospy
00005 import yaml
00006 from sensor_msgs.msg import JointState
00007
00008 if __name__ == '__main__':
00009 rospy.init_node('capture')
00010 argv = rospy.myargv()
00011
00012 joints = [
00013 'torso_lift_joint', 'torso_lift_motor_screw_joint',
00014 'head_pan_joint', 'head_tilt_joint',
00015
00016 'r_upper_arm_roll_joint', 'r_shoulder_pan_joint', 'r_shoulder_lift_joint',
00017 'r_forearm_roll_joint', 'r_elbow_flex_joint', 'r_wrist_flex_joint',
00018 'r_wrist_roll_joint',
00019
00020 'l_upper_arm_roll_joint', 'l_shoulder_pan_joint', 'l_shoulder_lift_joint',
00021 'l_forearm_roll_joint', 'l_elbow_flex_joint', 'l_wrist_flex_joint',
00022 'l_wrist_roll_joint'
00023 ]
00024
00025 pose = rospy.wait_for_message('joint_states', JointState)
00026
00027 output = {}
00028
00029 for joint in joints:
00030 index = pose.name.index(joint)
00031 output[joint] = pose.position[index]
00032
00033
00034 fname = 'pose.yaml'
00035 if len(argv) > 1:
00036 fname = argv[1]
00037
00038 print "Writing pose to %s"%fname
00039
00040 stream = file(fname, 'w')
00041
00042 yaml.dump(output, stream)