@@ -293,29 +293,33 @@ message HostVehicleData
293
293
//
294
294
message VehicleAutomatedDrivingFunction
295
295
{
296
- // The particular function being reported about.
296
+ // The particular driving function being reported about.
297
297
//
298
- optional FunctionName function_name = 1 ;
298
+ optional Name name = 1 ;
299
299
300
- // Custom function name.
300
+ // Custom driving function name.
301
301
//
302
- // Only used if function_name is set to FUNCTION_NAME_OTHER .
302
+ // Only used if name is set to NAME_OTHER .
303
303
//
304
304
optional string custom_name = 2 ;
305
305
306
- // The activation state of the function.
306
+ // The state of the function.
307
307
//
308
308
// This is whether the function has actually been triggered, for
309
309
// example, a warning has been raised, or additional braking is
310
310
// in effect.
311
311
//
312
- optional ActivationState activation_state = 3 ;
312
+ optional State state = 3 ;
313
313
314
- // Custom activation state.
314
+ // Custom state.
315
315
//
316
- // Only used if the activation_state is set to ACTIVATION_STATE_OTHER .
316
+ // Only used if the state is set to STATE_OTHER .
317
317
//
318
- optional string custom_activation_state = 4 ;
318
+ optional string custom_state = 4 ;
319
+
320
+ // Whether, and how, the driver has overridden this function.
321
+ //
322
+ optional DriverOverride driver_override = 5 ;
319
323
320
324
// Custom detail.
321
325
//
@@ -325,7 +329,7 @@ message HostVehicleData
325
329
// be about settings which would influence evaluation, such as
326
330
// sensitivity settings.
327
331
//
328
- repeated KeyValuePair custom_detail = 5 ;
332
+ repeated KeyValuePair custom_detail = 6 ;
329
333
330
334
// A list of possible automated driving features.
331
335
//
@@ -335,157 +339,182 @@ message HostVehicleData
335
339
// - https://www.sae.org/binaries/content/assets/cm/content/miscellaneous/adas-nomenclature.pdf
336
340
// - https://www.vda.de/en/topics/innovation-and-technology/automated-driving/automated-driving
337
341
//
338
- enum FunctionName
342
+ enum Name
339
343
{
340
344
// Unknown feature, should not be used.
341
345
//
342
- FUNCTION_NAME_UNKNOWN = 0 ;
346
+ NAME_UNKNOWN = 0 ;
343
347
344
348
// Custom feature, see custom_name.
345
349
//
346
- FUNCTION_NAME_OTHER = 1 ;
350
+ NAME_OTHER = 1 ;
347
351
348
352
// Blind spot warning.
349
353
//
350
- FUNCTION_NAME_BLIND_SPOT_WARNING = 2 ;
354
+ NAME_BLIND_SPOT_WARNING = 2 ;
351
355
352
356
// Forward collision warning.
353
357
//
354
- FUNCTION_NAME_FORWARD_COLLISION_WARNING = 3 ;
358
+ NAME_FORWARD_COLLISION_WARNING = 3 ;
355
359
356
360
// Lane departure warning.
357
361
//
358
- FUNCTION_NAME_LANE_DEPARTURE_WARNING = 4 ;
362
+ NAME_LANE_DEPARTURE_WARNING = 4 ;
359
363
360
364
// Parking collision warning.
361
365
//
362
- FUNCTION_NAME_PARKING_COLLISION_WARNING = 5 ;
366
+ NAME_PARKING_COLLISION_WARNING = 5 ;
363
367
364
368
// Rear cross-traffic warning
365
369
//
366
- FUNCTION_NAME_REAR_CROSS_TRAFFIC_WARNING = 6 ;
370
+ NAME_REAR_CROSS_TRAFFIC_WARNING = 6 ;
367
371
368
372
// Automatic emergency braking
369
373
//
370
- FUNCTION_NAME_AUTOMATIC_EMERGENCY_BRAKING = 7 ;
374
+ NAME_AUTOMATIC_EMERGENCY_BRAKING = 7 ;
371
375
372
376
// Emergency steering
373
377
//
374
- FUNCTION_NAME_AUTOMATIC_EMERGENCY_STEERING = 8 ;
378
+ NAME_AUTOMATIC_EMERGENCY_STEERING = 8 ;
375
379
376
380
// Reverse automatic emergency braking
377
381
//
378
- FUNCTION_NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 9 ;
382
+ NAME_REVERSE_AUTOMATIC_EMERGENCY_BRAKING = 9 ;
379
383
380
384
// Adaptive cruise control
381
385
//
382
- FUNCTION_NAME_ADAPTIVE_CRUISE_CONTROL = 10 ;
386
+ NAME_ADAPTIVE_CRUISE_CONTROL = 10 ;
383
387
384
388
// Lane keeping assist
385
389
//
386
- FUNCTION_NAME_LANE_KEEPING_ASSIST = 11 ;
390
+ NAME_LANE_KEEPING_ASSIST = 11 ;
387
391
388
392
// Active driving assistance
389
393
//
390
- FUNCTION_NAME_ACTIVE_DRIVING_ASSISTANCE = 12 ;
394
+ NAME_ACTIVE_DRIVING_ASSISTANCE = 12 ;
391
395
392
396
// Backup camera
393
397
//
394
- FUNCTION_NAME_BACKUP_CAMERA = 13 ;
398
+ NAME_BACKUP_CAMERA = 13 ;
395
399
396
400
// Surround view camera
397
401
//
398
- FUNCTION_NAME_SURROUND_VIEW_CAMERA = 14 ;
402
+ NAME_SURROUND_VIEW_CAMERA = 14 ;
399
403
400
404
// Active parking assistance
401
405
//
402
- FUNCTION_NAME_ACTIVE_PARKING_ASSISTANCE = 15 ;
406
+ NAME_ACTIVE_PARKING_ASSISTANCE = 15 ;
403
407
404
408
// Remote parking assistance
405
409
//
406
- FUNCTION_NAME_REMOTE_PARKING_ASSISTANCE = 16 ;
410
+ NAME_REMOTE_PARKING_ASSISTANCE = 16 ;
407
411
408
412
// Trailer assistance
409
413
//
410
- FUNCTION_NAME_TRAILER_ASSISTANCE = 17 ;
414
+ NAME_TRAILER_ASSISTANCE = 17 ;
411
415
412
416
// Automatic high beams
413
417
//
414
- FUNCTION_NAME_AUTOMATIC_HIGH_BEAMS = 18 ;
418
+ NAME_AUTOMATIC_HIGH_BEAMS = 18 ;
415
419
416
420
// Driver monitoring
417
421
//
418
- FUNCTION_NAME_DRIVER_MONITORING = 19 ;
422
+ NAME_DRIVER_MONITORING = 19 ;
419
423
420
424
// Head up display
421
425
//
422
- FUNCTION_NAME_HEAD_UP_DISPLAY = 20 ;
426
+ NAME_HEAD_UP_DISPLAY = 20 ;
423
427
424
428
// Night vision
425
429
//
426
- FUNCTION_NAME_NIGHT_VISION = 21 ;
430
+ NAME_NIGHT_VISION = 21 ;
427
431
428
432
// Urban driving
429
433
//
430
- FUNCTION_NAME_URBAN_DRIVING = 22 ;
434
+ NAME_URBAN_DRIVING = 22 ;
431
435
432
436
// Highway autopilot.
433
437
//
434
- FUNCTION_NAME_HIGHWAY_AUTOPILOT = 23 ;
438
+ NAME_HIGHWAY_AUTOPILOT = 23 ;
435
439
436
440
// Cruise control.
437
441
//
438
- FUNCTION_NAME_CRUISE_CONTROL = 24 ;
442
+ NAME_CRUISE_CONTROL = 24 ;
439
443
440
444
// Speed limit control
441
445
//
442
- FUNCTION_NAME_SPEED_LIMIT_CONTROL = 25 ;
446
+ NAME_SPEED_LIMIT_CONTROL = 25 ;
443
447
}
444
448
445
- // The activation state of a feature.
449
+ // The state that the feature is in .
446
450
//
447
451
// \note Not all of these will be applicable for all vehicles
448
452
// and features.
449
453
//
450
- enum ActivationState
454
+ enum State
451
455
{
452
- // An unknown activation state, this should not be used.
456
+ // An unknown state, this should not be used.
453
457
//
454
- ACTIVATION_STATE_UNKNOWN = 0 ;
458
+ STATE_UNKNOWN = 0 ;
455
459
456
460
// Used for custom states not covered by the definitions below.
457
461
//
458
- // A string state can be specified in custom_activation_state .
462
+ // A string state can be specified in custom_state .
459
463
//
460
- ACTIVATION_STATE_OTHER = 1 ;
464
+ STATE_OTHER = 1 ;
461
465
462
- // The function has been disabled .
466
+ // The function has errored in some way that renders it ineffective .
463
467
//
464
- ACTIVATION_STATE_TURNED_OFF = 2 ;
468
+ STATE_ERRORED = 2 ;
465
469
466
- // The function has errored in some way that renders it ineffective.
470
+ // The function cannot be used due to unfulfilled preconditions,
471
+ // for example it is a highway only feature and the vehicle is in
472
+ // an urban environment.
467
473
//
468
- ACTIVATION_STATE_ERRORED = 3 ;
474
+ STATE_UNAVAILABLE = 3 ;
469
475
470
- // The function is initialized but not ready to start.
476
+ // The function can be used as all preconditions are satisfied, but
477
+ // it hasn't been enabled.
471
478
//
472
- ACTIVATION_STATE_UNAVAILABLE = 4 ;
479
+ STATE_AVAILABLE = 4 ;
473
480
474
- // The function is enabled but conditions have not caused it to be
481
+ // The function is available but conditions have not caused it to be
475
482
// triggered, for example, no vehicles in front to trigger a FCW.
476
483
//
477
- ACTIVATION_STATE_STANDBY = 5 ;
484
+ STATE_STANDBY = 5 ;
478
485
479
486
// The function is currently active, for example, a warning is being
480
487
// shown to the driver, or emergency braking is being applied/
481
488
//
482
- ACTIVATION_STATE_ACTIVE = 6 ;
489
+ STATE_ACTIVE = 6 ;
490
+ }
491
+
492
+ // Information about whether and how and driver may have overridden
493
+ // an automated driving function.
494
+ //
495
+ message DriverOverride
496
+ {
497
+ // The feature has been overridden by a driver action.
498
+ //
499
+ // \note If false, the rest of this message should be ignored.
500
+ optional bool active = 1 ;
501
+
502
+ // What driver inputs have caused the override.
503
+ //
504
+ repeated Reason override_reason = 2 ;
483
505
484
- // The function would be ACTIVE, but the user has show sufficient
485
- // input to override, for example, by applying throttle or steering
486
- // input.
506
+ // Ways in which a driver could override a driving function.
487
507
//
488
- ACTIVATION_STATE_ACTIVE_DRIVER_OVERRIDE = 7 ;
508
+ enum Reason
509
+ {
510
+ // The driver has applied sufficient input via the break pedal.
511
+ //
512
+ REASON_BRAKE_PEDAL = 0 ;
513
+
514
+ // The driver has applied sufficient steering input.
515
+ //
516
+ REASON_STEERING_INPUT = 1 ;
517
+ }
489
518
}
490
519
}
491
520
}
0 commit comments