pr2_tactile_sleeve_upperarm_driver_node.py
Go to the documentation of this file.
00001 #!/usr/bin/python
00002 
00003 import sys
00004 import math, numpy as np
00005 
00006 import roslib; roslib.load_manifest('hrl_fabric_based_tactile_sensor')
00007 import rospy
00008 from hrl_msgs.msg import FloatArray
00009 
00010 import hrl_lib.util as ut
00011 import hrl_lib.transforms as tr
00012 
00013 import hrl_fabric_based_tactile_sensor.adc_publisher_node as apn
00014 
00015 from m3skin_ros.msg import RawTaxelArray
00016 from geometry_msgs.msg import Transform
00017 
00018 from m3skin_ros.srv import None_TransformArray, None_TransformArrayResponse
00019 from m3skin_ros.srv import None_String
00020 
00021 from pr2_tactile_sleeve_driver_node import Tactile_Sleeve
00022 
00023 
00024 if __name__ == '__main__':
00025     import optparse
00026     p = optparse.OptionParser()
00027 
00028     p.add_option('--arm_to_use', action='store',
00029                  dest='arm', type='string',
00030                  help='l or r')
00031 
00032     opt, args = p.parse_args()
00033 
00034     if opt.arm != 'r' and opt.arm != 'l':
00035         rospy.logerr('Invalid arm_to_use')
00036         raise RuntimeError('Invalid arm_to_use')
00037 
00038     ts = Tactile_Sleeve(opt.arm)
00039 
00040     raw_data_upperarm_pub = rospy.Publisher('pr2_fabric_upperarm_sensor/taxels/raw_data',
00041                                            RawTaxelArray)
00042     rospy.Service('pr2_fabric_upperarm_sensor/taxels/srv/local_coord_frames',
00043                   None_TransformArray, ts.local_coord_frames_upperarm_cb)
00044     rospy.Service('pr2_fabric_upperarm_sensor/taxels/srv/link_name', None_String,
00045                   ts.link_name_upperarm_cb)
00046 
00047     rospy.init_node('fabric_tactile_sleeve_driver_node')
00048 
00049     baudrate = 115200
00050     dev2_nm = '/dev/robot/arduino1'
00051     dev2 = apn.setup_serial(dev2_nm, baudrate)
00052 
00053     for i in range(10):
00054         dev2.readline()
00055     
00056     rospy.loginfo('Started publishing data and upper arm')
00057 
00058     rta1 = RawTaxelArray()
00059     rta2 = RawTaxelArray()
00060     rta3 = RawTaxelArray()
00061     rta4 = RawTaxelArray()
00062     while not rospy.is_shutdown():
00063         adc_data = apn.get_adc_data(dev2, 32)
00064 
00065         rta1.val_z = adc_data[4:8]
00066         raw_data_upperarm_pub.publish(rta1)
00067 
00068         #rta3.val_z = adc_data[6:]
00069         #raw_data_gripper_pub.publish(rta3)
00070 
00071         #rta2.val_z = adc_data[24:26] + adc_data[30:32]
00072         #raw_data_gripper_left_link_pub.publish(rta2)
00073 
00074         #rta3.val_z = adc_data[26:30]
00075         #raw_data_gripper_right_link_pub.publish(rta3)
00076 
00077         #rta4.val_z = adc_data[15:16] + adc_data[13:14] 
00078         #raw_data_gripper_palm_pub.publish(rta4)
00079 
00080     dev2.close()
00081 
00082 
00083 


hrl_fabric_based_tactile_sensor
Author(s): Advait Jain, Advisor: Prof. Charles C. Kemp. Healthcare Robotics Lab, Georgia Tech
autogenerated on Wed Nov 27 2013 12:02:33