def __init__(self):
self.services = {'record': {'name': 'perception/record', 'type': Record}}
for service_name, service in self.services.items():
rospy.loginfo("Controller is waiting service {}...".format(service['name']))
rospy.wait_for_service(service['name'])
service['call'] = rospy.ServiceProxy(service['name'], service['type'])
# Buttons switches + LEDs
self.prefix = 'sensors'
self.button_leds_topics = ['button_leds/help', 'button_leds/pause']
self.buttons_topics = ['buttons/help', 'buttons/pause']
self.subscribers = [rospy.Subscriber('/'.join([self.prefix, topic]), Bool, lambda msg: self._cb_button_pressed(msg, topic)) for topic in self.buttons_topics]
self.publishers = {topic: rospy.Publisher('/'.join([self.prefix, topic]), Bool, queue_size=1) for topic in self.button_leds_topics}
self.button_leds_status = {topic: False for topic in self.button_leds_topics}
self.button_pressed = {topic: False for topic in self.buttons_topics}
self.last_press = {topic: rospy.Time(0) for topic in self.buttons_topics}
self.rospack = RosPack()
with open(join(self.rospack.get_path('apex_playground'), 'config', 'perception.json')) as f:
self.params = json.load(f)
评论列表
文章目录