@@ -75,6 +75,15 @@ message HostVehicleData
7575 //
7676 optional VehicleLocalization vehicle_localization = 8 ;
7777
78+ // What driver assistance is active.
79+ //
80+ // This can include:
81+ // - information presented to the driver, for example, parking sensors
82+ // - warnings raised by the vehicle, for example, forward collision warning
83+ // - corrective action taken by the vehicle, for example, auto emergency braking
84+ //
85+ repeated DriverAssistState driver_assist_state = 12 ;
86+
7887 //
7988 // \brief The absolute base parameters of the vehicle.
8089 //
@@ -275,4 +284,201 @@ message HostVehicleData
275284 //
276285 optional GeodeticPosition geodetic_position = 3 ;
277286 }
287+
288+ //
289+ // \brief The driver assist state specifically relating to recognised
290+ // Advanced Driver Assistance Systems.
291+ //
292+ message DriverAssistState
293+ {
294+ // The particular feature being reported about.
295+ //
296+ optional AssistFeature assist_feature = 1 ;
297+
298+ // Custom feature name.
299+ //
300+ // Only used if assist_feature is set to ASSIST_FEATURE_OTHER.
301+ //
302+ optional string custom_name = 2 ;
303+
304+ // The activation state of the feature.
305+ //
306+ // This is whether the feature has actually been triggered, for
307+ // example, a warning has been raised, or additional braking is
308+ // in effect.
309+ //
310+ optional ActivationState activation_state = 3 ;
311+
312+ // Custom activation state.
313+ //
314+ // Only used if the activation_state is set to ACTIVATION_STATE_OTHER.
315+ //
316+ optional string custom_activation_state = 4 ;
317+
318+ // Custom detail.
319+ //
320+ // An opaque set of key-value pairs which capture any user specific
321+ // details that may be relevant. This could include details about
322+ // how a warning was raised (dashboard, audible, etc.) or it could
323+ // be about settings which would influence evaluation, such as
324+ // sensitivity settings.
325+ //
326+ repeated CustomDetail custom_detail = 5 ;
327+
328+ // ADAS feature that is raising the notification.
329+ //
330+ // \note The naming convention is taken from the SAE guidance on ADAS
331+ // nomenclature:
332+ // https://www.sae.org/binaries/content/assets/cm/content/miscellaneous/adas-nomenclature.pdf
333+ //
334+ enum AssistFeature
335+ {
336+ // Unknown feature, should not be used.
337+ //
338+ ASSIST_FEATURE_UNKNOWN = 0 ;
339+
340+ // Custom feature, see custom_name.
341+ //
342+ ASSIST_FEATURE_OTHER = 1 ;
343+
344+ // Blind spot warning.
345+ //
346+ ASSIST_FEATURE_BLIND_SPOT_WARNING = 2 ;
347+
348+ // Forward collision warning.
349+ //
350+ ASSIST_FEATURE_FORWARD_COLLISION_WARNING = 3 ;
351+
352+ // Lane departure warning.
353+ //
354+ ASSIST_FEATURE_LANE_DEPARTURE_WARNING = 4 ;
355+
356+ // Parking collision warning.
357+ //
358+ ASSIST_FEATURE_PARKING_COLLISION_WARNING = 5 ;
359+
360+ // Rear cross-traffic warning
361+ //
362+ ASSIST_FEATURE_REAR_CROSS_TRAFFIC_WARNING = 6 ;
363+
364+ // Automatic emergency braking
365+ //
366+ ASSIST_FEATURE_AUTOMATIC_EMERGENCY_BRAKING = 7 ;
367+
368+ // Emergency steering
369+ //
370+ ASSIST_FEATURE_AUTOMATIC_EMERGENCY_STEERING = 8 ;
371+
372+ // Reverse automatic emergency braking
373+ //
374+ ASSIST_FEATURE_REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 9 ;
375+
376+ // Adaptive cruise control
377+ //
378+ ASSIST_FEATURE_ADAPTIVE_CRUISE_CONTROL = 10 ;
379+
380+ // Lane keeping assist
381+ //
382+ ASSIST_FEATURE_LANE_KEEPING_ASSIST = 11 ;
383+
384+ // Active driving assistance
385+ //
386+ ASSIST_FEATURE_ACTIVE_DRIVING_ASSISTANCE = 12 ;
387+
388+ // Backup camera
389+ //
390+ ASSIST_FEATURE_BACKUP_CAMERA = 13 ;
391+
392+ // Surround view camera
393+ //
394+ ASSIST_FEATURE_SURROUND_VIEW_CAMERA = 14 ;
395+
396+ // Active parking assistance
397+ //
398+ ASSIST_FEATURE_ACTIVE_PARKING_ASSISTANCE = 15 ;
399+
400+ // Remote parking assistance
401+ //
402+ ASSIST_FEATURE_REMOTE_PARKING_ASSISTANCE = 16 ;
403+
404+ // Trailer assistance
405+ //
406+ ASSIST_FEATURE_TRAILER_ASSISTANCE = 17 ;
407+
408+ // Automatic high beams
409+ //
410+ ASSIST_FEATURE_AUTOMATIC_HIGH_BEAMS = 18 ;
411+
412+ // Driver monitoring
413+ //
414+ ASSIST_FEATURE_DRIVER_MONITORING = 19 ;
415+
416+ // Head up display
417+ //
418+ ASSIST_FEATURE_HEAD_UP_DISPLAY = 20 ;
419+
420+ // Night vision
421+ //
422+ ASSIST_FEATURE_NIGHT_VISION = 21 ;
423+ }
424+
425+ // The activation state of a feature.
426+ //
427+ // \note Not all of these will be applicable for all vehicles
428+ // and features.
429+ //
430+ enum ActivationState
431+ {
432+ // An unknown activation state, this should not be used.
433+ //
434+ ACTIVATION_STATE_UNKNOWN = 0 ;
435+
436+ // Used for custom states not covered by the definitions below.
437+ //
438+ // A string state can be specified in custom_activation_state.
439+ //
440+ ACTIVATION_STATE_OTHER = 1 ;
441+
442+ // The feature has been disabled.
443+ //
444+ ACTIVATION_STATE_TURNED_OFF = 2 ;
445+
446+ // The feature has errored in some way that renders it ineffective.
447+ //
448+ ACTIVATION_STATE_ERRORED = 3 ;
449+
450+ // The feature is enabled but conditions have not caused it to be
451+ // triggered, for example, no vehicles in front to trigger a FCW.
452+ //
453+ ACTIVATION_STATE_STANDBY = 4 ;
454+
455+ // The feature is currently active, for example, a warning is being
456+ // shown to the driver, or emergency braking is being applied/
457+ //
458+ ACTIVATION_STATE_ACTIVE = 5 ;
459+
460+ // The feature would be ACTIVE, but the user has show sufficient
461+ // input to override, for example, by applying throttle or steering
462+ // input.
463+ //
464+ ACTIVATION_STATE_ACTIVE_DRIVER_OVERRIDE = 6 ;
465+ }
466+
467+ //
468+ // \brief Custom detail message
469+ //
470+ // To contain driver-assist related information that is too function
471+ // specific to be captured in a generic way.
472+ //
473+ message CustomDetail
474+ {
475+ // A generic string key to identify the information.
476+ //
477+ optional string key = 1 ;
478+
479+ // A generic string value to capture the information.
480+ //
481+ optional string value = 2 ;
482+ }
483+ }
278484}
0 commit comments