@@ -32,6 +32,14 @@ message HostVehicleData
32
32
//
33
33
optional Timestamp timestamp = 11 ;
34
34
35
+ // The ID of the object.
36
+ //
37
+ // \rules
38
+ // is_globally_unique
39
+ // \endrules
40
+ //
41
+ optional Identifier id = 9 ;
42
+
35
43
// Deprecated: Will be removed in next major release. Moved to VehiclePositionAndKinematics.
36
44
// Current estimated location based on GPS- and related navigation sensors.
37
45
//
@@ -71,6 +79,15 @@ message HostVehicleData
71
79
//
72
80
optional VehicleLocalization vehicle_localization = 8 ;
73
81
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
+
74
91
//
75
92
// \brief The absolute base parameters of the vehicle.
76
93
//
@@ -271,4 +288,201 @@ message HostVehicleData
271
288
//
272
289
optional GeodeticPosition geodetic_position = 3 ;
273
290
}
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
+ }
274
488
}
0 commit comments