Skip to content

Commit d568803

Browse files
committed
Add driver assist to host vehicle data
Signed-off-by: Caspar de Haes <caspar.dehaes@five.ai>
1 parent f7acd76 commit d568803

File tree

2 files changed

+225
-0
lines changed

2 files changed

+225
-0
lines changed

osi_hostvehicledata.proto

Lines changed: 214 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
}

osi_trafficupdate.proto

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ option optimize_for = SPEED;
55
import "osi_version.proto";
66
import "osi_common.proto";
77
import "osi_object.proto";
8+
import "osi_hostvehicledata.proto";
89

910
package osi3;
1011

@@ -52,4 +53,14 @@ message TrafficUpdate
5253
// MovingObject::VehicleClassification::trailer_id.
5354
//
5455
repeated MovingObject update = 3;
56+
57+
// Internal state for each vehicle.
58+
//
59+
// \note This covers any information which cannot be externally perceived
60+
// and therefore cannot be included in messages available in ground truth.
61+
//
62+
// \note The id field from this should match the id in the update field
63+
// above where the same vehicle is being referenced.
64+
//
65+
repeated HostVehicleData internal_state = 4;
5566
}

0 commit comments

Comments
 (0)