26 self.
pub = rospy.Publisher(range_topic, Range, queue_size=1)
28 rospy.loginfo(
"adding sensor converting from topic '" + laser_topic +
"' to topic '" + range_topic +
"'")
31 sensor_range = Range()
34 sensor_range.header = msg.header
37 if len(msg.ranges) > 0:
38 sensor_range.range = sum(msg.ranges)/len(msg.ranges)
40 sensor_range.range = 0
43 sensor_range.min_range = msg.range_min
44 sensor_range.max_range = msg.range_max
47 sensor_range.field_of_view = msg.angle_max - msg.angle_min
50 sensor_range.radiation_type = 1
53 self.pub.publish(sensor_range)
55 if __name__ ==
"__main__":
56 rospy.init_node(
'tactile_sensors')
59 if not rospy.has_param(
'~sensors'):
60 rospy.logerr(
"no sensors specified")
63 sensors = rospy.get_param(
'~sensors')
65 if type(sensors) != list:
66 rospy.logerr(
"sensors parameter not a list")
69 for sensor
in sensors:
def laser_callback(self, msg)
def __init__(self, laser_topic, range_topic)