capture.py
Go to the documentation of this file.
00001 #!/usr/bin/env python
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)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends


pr2_pose
Author(s): Austin Hendrix
autogenerated on Sun Sep 8 2013 10:18:16