Go to the documentation of this file.00001
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
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080 dev2.close()
00081
00082
00083