MCPcopy Create free account
hub / github.com/AdaCompNUS/summit / LaneInvasionSensor

Class LaneInvasionSensor

PythonAPI/examples/manual_control.py:719–739  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

717
718
719class LaneInvasionSensor(object):
720 def __init__(self, parent_actor, hud):
721 self.sensor = None
722 self._parent = parent_actor
723 self.hud = hud
724 world = self._parent.get_world()
725 bp = world.get_blueprint_library().find('sensor.other.lane_invasion')
726 self.sensor = world.spawn_actor(bp, carla.Transform(), attach_to=self._parent)
727 # We need to pass the lambda a weak reference to self to avoid circular
728 # reference.
729 weak_self = weakref.ref(self)
730 self.sensor.listen(lambda event: LaneInvasionSensor._on_invasion(weak_self, event))
731
732 @staticmethod
733 def _on_invasion(weak_self, event):
734 self = weak_self()
735 if not self:
736 return
737 lane_types = set(x.type for x in event.crossed_lane_markings)
738 text = ['%r' % str(x).split()[-1] for x in lane_types]
739 self.hud.notification('Crossed line %s' % ' and '.join(text))
740
741
742# ==============================================================================

Callers 1

restartMethod · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected