openpilot is an open source driver assistance system. openpilot performs the functions of Automated Lane Centering and Adaptive Cruise Control for over 85 supported car makes and models.
Add steering monitoring functionality for compliance with regulation r079r4e
[X] Track hands on wheel status based on steering_pressed signal from carState messaging channel.
[X] Issue alert messages for the different states of steering monitoring in accordance with regulation.
[x] Change initially implemented alerts to visual alerts with steering wheel pictogram as specified by regulation. Modify steering monitoring state machine accordingly.
[x] If system inactive or speed under 10km/h, no alert or steering wheel pictogram should be displayed.
[x] When active and over 10km/h: If, after a period no longer than 15 seconds the driver is not holding the steering control, an optical warning signal shall be provided. The hands on steering wheel pictogram should be displayed with an orange message alert: "Keep hands on steering wheel" without a persisting acoustic signal.
[x] When active and over 10km/h: If, after a period of no longer than 30 seconds the driver is not holding the steering control, at least the hands or steering control in the pictorial information provided as optical warning signal shall be shown in red and an persisting acoustic warning signal shall be provided. A red message alert should be displayed: "Keep hands on steering wheel"
[x] The warning signals shall be active until the driver is holding the steering control, or until the system is deactivated, either manually or automatically.
[x] The system shall be automatically deactivated at the latest 30 seconds after the acoustic warning signal has started. After deactivation the system shall clearly inform the driver about the system status by an acoustic emergency signal which is different from the previous acoustic warning signal, for at least five seconds or until the driver holds the steering control again.
[x] Implement disengage logic according to regulation.
[x] Consider adding changes on cruise speed as well as button press detections as indicators of hands of wheel signal.
[x] Check why buttons are not being detected as steering wheel interaction
[x] Make the feature configurable via a parameter.
Add steering monitoring functionality for compliance with regulation
r079r4e
steering_pressed
signal fromcarState
messaging channel.