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