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