Skip to content

Commit f274051

Browse files
authored
Add head and eye position signals for driver (COVESA#731)
Signed-off-by: Erik Jaegervall <[email protected]>
1 parent 2f45377 commit f274051

File tree

10 files changed

+229
-19
lines changed

10 files changed

+229
-19
lines changed

spec/Cabin/Cabin.vspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ Seat:
148148
- Row[1,2]
149149
- ["DriverSide","Middle","PassengerSide"]
150150
description: All seats.
151-
#include SingleSeat.vspec Seat
151+
#include Seat.vspec Seat
152152

153153
#
154154
# Seat attributes.

spec/Cabin/Occupant.vspec

Lines changed: 0 additions & 16 deletions
This file was deleted.

spec/Cabin/SingleSeat.vspec renamed to spec/Cabin/Seat.vspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Occupant:
3535
# Include the Cabin/Occupant.vspec file and attach all its data under the
3636
# Occupant branch created above.
3737

38-
#include Occupant.vspec Occupant
38+
#include Seat/Occupant.vspec Occupant
3939

4040
IsBelted:
4141
datatype: boolean

spec/Cabin/Seat/Occupant.vspec

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
# Copyright (c) 2020 Contributors to COVESA
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Mozilla Public License 2.0 which is available at
5+
# https://www.mozilla.org/en-US/MPL/2.0/
6+
#
7+
# SPDX-License-Identifier: MPL-2.0
8+
9+
#
10+
# Occupant data
11+
#
12+
13+
Identifier:
14+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
15+
type: branch
16+
description: Identifier attributes based on OAuth 2.0.
17+
18+
Identifier.Subject:
19+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
20+
datatype: string
21+
type: sensor
22+
description: Subject for the authentication of the occupant e.g. UserID 7331677.
23+
24+
Identifier.Issuer:
25+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
26+
datatype: string
27+
type: sensor
28+
description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.

spec/Driver/Driver.vspec

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,22 @@
1010
# Driver data
1111
#
1212

13+
Identifier:
14+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
15+
type: branch
16+
description: Identifier attributes based on OAuth 2.0.
1317

14-
#include ../Cabin/Occupant.vspec
18+
Identifier.Subject:
19+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
20+
datatype: string
21+
type: sensor
22+
description: Subject for the authentication of the occupant e.g. UserID 7331677.
23+
24+
Identifier.Issuer:
25+
deprecation: v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
26+
datatype: string
27+
type: sensor
28+
description: Unique Issuer for the authentication of the occupant e.g. https://accounts.funcorp.com.
1529

1630
DistractionLevel:
1731
datatype: float

spec/Vehicle/Occupant.vspec

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (c) 2020 Contributors to COVESA
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Mozilla Public License 2.0 which is available at
5+
# https://www.mozilla.org/en-US/MPL/2.0/
6+
#
7+
# SPDX-License-Identifier: MPL-2.0
8+
9+
#
10+
# Occupant data
11+
#
12+
13+
Identifier:
14+
type: branch
15+
description: Identifier attributes based on OAuth 2.0.
16+
#include ../include/Identifier.vspec Identifier
17+
18+
HeadPosition:
19+
type: branch
20+
description: The current position of the driver head on vehicle axis according to ISO 23150:2023.
21+
#include Occupant/HeadPosition.vspec HeadPosition
22+
23+
MidEyeGaze:
24+
type: branch
25+
description: Direction from mid eye position to object driver is looking at.
26+
#include Occupant/MidEyeGaze.vspec MidEyeGaze
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
# Copyright (c) 2024 Contributors to COVESA
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Mozilla Public License 2.0 which is available at
5+
# https://www.mozilla.org/en-US/MPL/2.0/
6+
#
7+
# SPDX-License-Identifier: MPL-2.0
8+
9+
# This file intends to provide data related to head position.
10+
#
11+
# As specified in "Euro NCAP - Assessment Protocol - Safety Assist" section 3.5.3.1
12+
# (https://www.euroncap.com/media/80158/euro-ncap-assessment-protocol-sa-safe-driving-v104.pdf)
13+
# Head Movement (Owl) can be used to assess detection of driver distraction.
14+
#
15+
# Head position in this file refers to mid eye position.
16+
# Mid eye position refers to the center of a line drawn between the drivers eyes.
17+
# Absence of an eye does not affect mid eye position, as it shall be calculated as if both eyes were present.
18+
#
19+
# Position is given in the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12
20+
# This coordinate system corresponds to a vehicle coordinate system as defined by ISO 8855:2011 section 2.11
21+
# with the vehicle reference point at centre of the (first) rear axle.
22+
#
23+
# With the definitions given below example values for a regular LHD passenger vehicle
24+
# could be something like
25+
# X = 2000 mm (head position 2 meters in front of rear axle)
26+
# Y = 600 mm (head position 60 cm left of vehicle center)
27+
# Z = 1000 mm (head position 100 cm above center of rear axis)
28+
#
29+
# Head Roll/Pitch/Yaw refers to relationship between head axis system and the vehicle rear-axle coordinate system.
30+
#
31+
# Head axis system is defined as follows
32+
# Head X-axis corresponds to a vector from midway between left and right pre-auricular point and nasion.
33+
# Head Y-axis corresponds to a vector orthogonal to X going left from the head on the plane defined by left and right
34+
# pre-auricular point and nasion.
35+
# Head Z-axis corresponds to vector orthogonal to X and Y going upward.
36+
#
37+
38+
X:
39+
datatype: int16
40+
type: sensor
41+
unit: mm
42+
description: Longitudinal position of head center measured as mid eye position on X-axis
43+
of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12
44+
Mid eye position refers to the center of a line drawn between the center of the drivers eyes.
45+
Positive values = forward of (first) rear-axle. Negative values = backward of (first) rear-axle.
46+
47+
Y:
48+
datatype: int16
49+
type: sensor
50+
unit: mm
51+
description: Lateral position of head center measured as mid eye position on X-axis
52+
of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12
53+
Mid eye position refers to the center of a line drawn between the center of the drivers eyes.
54+
Positive values = left of rear-axle center. Negative values = right of rear-axle center.
55+
56+
Z:
57+
datatype: int16
58+
type: sensor
59+
unit: mm
60+
description: Height position of head center measured as mid eye position on X-axis
61+
of the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12
62+
Mid eye position refers to the center of a line drawn between the center of the drivers eyes.
63+
Positive values = above center of rear-axle reference point.
64+
Negative values = below center of rear-axle reference point.
65+
66+
Yaw:
67+
datatype: float
68+
type: sensor
69+
unit: degrees
70+
min: -180
71+
max: 180
72+
description: Head yaw angle, measured from the vehicle sprung mass X-axis as defined by ISO 23150:2023
73+
to the head X-axis, around the vehicle Z-axis (right-hand rule).
74+
0 = Head in normal position.
75+
Positive values = Head turned left. Negative values = Head turned right.
76+
77+
Pitch:
78+
datatype: float
79+
type: sensor
80+
unit: degrees
81+
min: -90
82+
max: 90
83+
description: Head pitch angle, measured as angle from vehicle sprung mass XY-plane as defined by ISO 23150:2023
84+
to the head X-axis.
85+
0 = Head in normal position.
86+
Positive values = Head leaning up. Negative values = Head leaning down.
87+
Roll:
88+
datatype: float
89+
type: sensor
90+
unit: degrees
91+
min: -180
92+
max: 180
93+
description: Head roll angle about the head X-axis (right-hand rule).
94+
0 = Head in normal position.
95+
Positive values = Head leaning to the right. Negative values = Head leaning to the left.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
# Copyright (c) 2024 Contributors to COVESA
2+
#
3+
# This program and the accompanying materials are made available under the
4+
# terms of the Mozilla Public License 2.0 which is available at
5+
# https://www.mozilla.org/en-US/MPL/2.0/
6+
#
7+
# SPDX-License-Identifier: MPL-2.0
8+
9+
# This file intends to provide data related to mid eye gaze.
10+
#
11+
# As specified in "Euro NCAP - Assessment Protocol - Safety Assist" section 3.5.3.1
12+
# (https://www.euroncap.com/media/80158/euro-ncap-assessment-protocol-sa-safe-driving-v104.pdf)
13+
# Eye Movement (Lizard) can be used to assess detection of driver distraction.
14+
#
15+
# Mid eye position refers to the center of a line drawn between the drivers eyes.
16+
# Absence of an eye does not affect mid eye position, as it shall be calculated as if both eyes were present.
17+
#
18+
# Gaze refers to the direction to the object the driver is looking at measured from
19+
# mid eye position.
20+
# Axis definitions correspond to the vehicle rear-axle coordinate system as defined by ISO 23150:2023 section 3.7.12
21+
#
22+
# Some examples (at long distance from vehicle)
23+
# Object in front of vehicle (at far distance) - Azimuth==0, Elevation == 0
24+
# Object to the left of vehicle (at far distance) - Azimuth==90, Elevation == 0
25+
# Object to the right of vehicle (at far distance)- Azimuth==-90, Elevation == 0
26+
# Object behind the vehicle (at far distance) - Azimuth==180 or -180, Elevation == 0
27+
# Object right above the vehicle (at height) - Azimuth==<any>, Elevation == 90
28+
# Object deep down below the vehicle - Azimuth==<any>, Elevation == -90
29+
30+
Azimuth:
31+
datatype: float
32+
type: sensor
33+
unit: degrees
34+
min: -180
35+
max: 180
36+
description: Mid eye azimuth gaze (right-hand rule) on vehicle sprung mass Z-axis as defined by ISO 23150:2023
37+
0 = Driver looking forward.
38+
Positive values = Driver looking at something on the left side of driver.
39+
Negative values = Driver looking at something on the right side of driver.
40+
41+
Elevation:
42+
datatype: float
43+
type: sensor
44+
unit: degrees
45+
min: -90
46+
max: 90
47+
description: Elevation to observed object measured
48+
as angle between vehicle sprung mass XY-plane as defined by ISO 23150:2023
49+
at driver mid eye position and object.
50+
0 = Driver looking at something at same height as mid eye position.
51+
Positive values = Driver looking at something above mid eye position.
52+
Negative values = Driver looking at something below mid eye position.

spec/VehicleSignalSpecification.vspec

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,17 @@ Vehicle.Driver:
166166

167167
#include Driver/Driver.vspec Vehicle.Driver
168168

169+
#
170+
# Occupant Data
171+
#
172+
173+
Vehicle.Occupant:
174+
type: branch
175+
instances:
176+
- Row[1,2]
177+
- ["DriverSide","Middle","PassengerSide"]
178+
description: Occupant (Driver or Passenger) data.
179+
#include Vehicle/Occupant.vspec Vehicle.Occupant
169180

170181
#
171182
# Exterior information
File renamed without changes.

0 commit comments

Comments
 (0)