JOIN/SIGN UP
Already a Member? |
GET INVOLVED
Understanding and Engaging in COVESA Expert Groups & Projects |
COLLABORATIVE PROJECTS
HISTORICAL
SDV Telemetry Project |
Table Table of Contents
Table of Contents |
---|
...
Identifying a specific seat within a vehicle. This is based on location within the vehicle.
Information Type | Values (per GM uServices) | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping | Notes |
---|---|---|---|---|---|---|---|---|---|
Seat (Instances) Seat identity for 3 rows with 3 seats per row, front to back (looking towards front of vehicle from within the vehicle) |
| row1_driver |
Vehicle.Cabin.Seat. |
In uServices, it does not appear Driver Position or similar is spelled out.
Decision: For Seating Capabilities, not how it is done internally to your organization, can we align around VSS Vehicle.Cabin.Seat?
Stupid Question Erik Jaegervall bear with me : How does Vehicle.Cabin.SeatPosCount work with what is actually generated for vss.yaml (the instances) and/or how you use?
For instance, in Cabin.vspec the default is
SeatPosCount:
datatype: uint8[]
type: attribute
default: [2, 3]
Based on the Seat branch definition:
Seat:
type: branch
instances:
- Row[1,2]
- ["DriverSide","Middle","PassengerSide"]
The following instances are generated per row:
Vehice.Cabin.Seat.Row1.DriverSide,
Vehice.Cabin.Seat.Row1.Middle,
Vehice.Cabin.Seat.Row1.PassengerSide
It is implied or just well known that in this case you just don't use Middle? What if SeatPosition is [1,1] ... DriverSide and PassengerSide or the same? What if it is your instances are ["DriverSide","Middle1","Middle2"PassengerSide"] and your SeatPosition is [3,4]?
I guess it is implied, industry knowledge or incumbent on the implementor to spell it out? Right?
Comment from Erik Jaegervall 2024-12-18:
In general - how to indicate whether a VSS signal or a seat instance actually exists is up to the implementation. It might be based on that you do changes to your in VSS (for example with delete: true
attribute to remove specific instances), or it may handle it dynamically, like no ECU provide values for specific seat). In the latter case, the VSS spec just shows "valid paths", it does not say whether a specific feature or seat actually exist.
The SeatPosCount
signal is old. Once upon the time we actually had a numeric "pos" argument for seats, like Pos1, Pos2 and then you could possibly use it to know which seats that existed, but now it is more of guesswork.
There have been discussions if the instance-part should be removed from the VSS-spec and especially from the full dot-notated paths, as that is rather deployment information. That "core" VSS should specify that there can be multiple seats, and possibly that row/pos are attributes that seat can have, but specifying the actual instances is rather for the implementation. That would be a bit similar to the Android zone concept.
row1_driver
or
row1_passenger
by region / config
tbd
Seat components that are movable or controllable, electrically driven.
Row1.DriverSide | VehicleAreaSeat. | Driver and Passenger can be mapped to row1_left, etc... | ||||||
| Vehicle.Cabin.Seat.Row1.Middle | |||||||
| row1_driver | Vehicle.Cabin.Seat.Row1.PassengerSide | ||||||
|
| |||||||
|
| |||||||
|
| |||||||
|
| |||||||
|
| |||||||
|
|
tbd
Seat components that are movable or controllable, electrically driven.
Information Type | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / mapping | Notes | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Seat Component Moveable Seating Component (Electrically Driven) | Complete seat | All | Added |
| |||||||||||||||
Lumbar
| 5
|
Differs: Lumbar is only one piece in VSS not three components | Differs: Lumbar is only one piece in Android | ||||||||||||||||
Cushion Side Bolster | 12
| "lower bolsters" | Inflation level 0-100% | Differs: Does not exist in VSS | |||||||||||||||
Backrest Side Bolster | 11
| "upper bolsters" | Inflation level 0-100% |
Differs: SideBolster is represented as one piece vs two | SEAT_LUMBAR_SIDE_SUPPORT | ||||||||||||||
Upper Shoulder (fwd/backward) | 9 | Differs: Does not exist in VSS. Is it needed? | Differs: Does not exist in Android | ||||||||||||||||
Backrest (was Cushion Front) | 10 |
| |||||||||||||||||
Cushion Extension | 13 Blue thing | Thigh Extension? | Either works | ||||||||||||||||
Information Type | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / mapping | Notes | ||||||||||
Complete seat | All | Added |
| Lumbar
| 5
| Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar - Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape. |
SEAT_LUMBAR_VERTICAL SEAT_LUMBAR_FORE_AFT | Cushion Side Bolster | Need number |
| Differs: Does not exist in Android | ||||||||
Headrest | 4 | Right and Left Back (upper) bolsters | Inflaation level 0-100% | SEAT_CUSHION_SIDE_SUPPORT | Backrest Side Bolster | 8 | Right and Left Cushion (lower) bolsters | Inflation level 0-100%
|
| SEAT_LUMBAR_SIDE_SUPPORT |
| ||||||||
Airbag | Upper Shoulder (fwd/backward) | 9 | Backrest (was Cushion Front) | 10 | Headrest
| Cushion Extension | Blue thing | Thigh Extension? | Either works |
| Airbag | Vehicle.Cabin.Seat.Row1.DriverSide.Airbag
VSS has deployed but not enabled. | Has enabled only not deployed | Should we consider extending VSS for other airbags. | |||||
Neck Scarf (fan) | 6 | Differs: Does not exist | Differs: Does not exist | Add to VSS? | |||||||||||||||
Seat Belt (height) |
| ||||||||||||||||||
| Neck Scarf (fan) | Seat Belt (height) |
|
Bolsters and Bladders:
...
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping | Notes | |
---|---|---|---|---|---|---|---|---|---|---|---|
Direction | Direction of seat or component movement |
| Needs Clarification.fore | depends on the component | Applied by seat or component like:
| Is Fold a direction? Team agreed it is a capability | |||||
| aft | depends on the component | |||||||||
| depends on the component | Applied by Seat or Component like:
| Applied by seat or component like:
| ||||||||
| depends on the component | ||||||||||
| increase | depends on the component | Applied by inflatable Component like:
| ||||||||
| decrease | depends on the component | |||||||||
| angles | depends on the component | Applied by Component like:
degrees - Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.
degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. | ||||||||
| |||||||||||
Position | position on horizontal plane (x-axis) or vertical plane (z-axis) of seat or component | needs clarification Position vs DirectionNeeds Clarification. | Should height be separate? Is y-axis needed? |
Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.
mm - Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. | AI: align what position means | ||||||
Tilt Angle | tilt angle of seat or component (also known as recline) | duplicate to Tilt / Recline (angles) | duplicate to Tilt / Recline (angles) under "direction" above |
degrees - Seat z-axis depends on seat tilt. This means that movement of backrest due to seat tilting will not affect Backrest.Recline as long as the angle between Seating and Backrest are constant. Absolute recline relative to vehicle z-axis can be calculated as Tilt + Backrest.Recline.
degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward. |
...
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Mapping | Android Alignment / mapping | Notes | Notes | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Temperature | OFF Heat (level 1, 2, 3) | Temperature |
| HVAC_SEAT_TEMPERATURE | Should this be heating cooling? | |||||||
|
| |||||||||||
| ||||||||||||
| level 1, 2, 3 | |||||||||||
| as predetermined percentages | |||||||||||
| level 1, 2, 3 |
| ||||||||||
Fan Speed |
| Not in VSS | Not the same | |||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||
|
...
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping | Notes |
---|---|---|---|---|---|---|---|---|---|---|
Massage Capability | Is the seat capable of providing massage. | yes/no or true/false | we need a general discover mechanism | Overlaps with with Seat Massage Type | Not in VSS | Not in Andriod | ||||
Massage Status | On/Off | Overlaps with Seat Massage Type |
| |||||||
Massage Types | Available massage types for a specific seat, including none. | Values will vary by OEM, therefore, need a capability to determine types per seat. | Massage Patterns | Not in VSS | Not in Android | |||||
Seat Massage Type |
| Need discovery capability as will vary by seat. | Not in VSS | Not in Android | ||||||
Massage Intensity | Intensity of massage | ?? | 1-5? | Vehicle.Cabin.Seat.Row1.PassengerSideDriverSide.Massage MassageLevel - Seat massage level. 0 = off. 100 = max massage. |
...
Haptics are seat or component vibrations used to alert the driver or provide feedback. Used Typically used by ADAS such as lane departure warning.
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping |
---|---|---|---|---|---|---|---|---|---|
Delay Between Pulses | internal calibration at the moment, based on the requestoron the requestor | Not in VSS | Not in Android | ||||||
Haptic Pulses |
...
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping | Notes |
---|---|---|---|---|---|---|---|---|---|---|
Seat Occupancy Status |
| Vehicle.Cabin.Seat.Row1.MiddleDriverSide.IsOccupied - boolean - is or is not occupied. No Unkown. | ||||||||
| ||||||||||
| ||||||||||
Seat Occupant ID | ?? | What is this? |
| |||||||
Child seat |
| added | ||||||||
Seat Belt Status |
| Vehicle.Cabin.Seat.Row1.PassengerSideDriverSide.IsBelted - boolean - is or is not belted/fastened Related:
| ||||||||
|
...
Information Type | Definition | Values | Illustration # | BMW | Ford | GM | Volvo Cars | VSS Alignment / Mapping | Android Alignment / Mapping | Notes | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Side of Seat | Side of a specific Seat |
| duplicate to "SEATS" | Seat Switch |
| Address in VSS - Is this needed for capabilities? |
...
Capability | Description | Inputs | Outputs | Dependencies | Assumptions /Constraints | VSS Examples / Mapping | Android Examples / Mapping | Notes | ||||
Movement & Position - Control | ||||||||||||
Move Seat IncrementallyContinuously | Move the identified seat in the specified direction. When a user commands a seat in a certain direction, it will incrementally move in that directionmove in that direction until the value is changed. The change (e.g. stop) could come from the user or a hardware limit. |
|
| One request/trigger moves one increment. | Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsForwardEngaged: Question: How does something other than a switch use this capability? | SEAT_FORE_AFT_MOVE includes speed. | Android includes speed. VSS does not. Is it needed? N/A | |||||
Move Seat to Specified Position | Set the seat position for the identified seat. This is entire seat position forward, back, up down. |
|
|
Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.
mm - Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported. | What is the position definition? ISO 8895 What is status? Position Status. | |||||||
Move Seat Component IncrementallyContinuously | Move the identified seat and component in the specified direction. When a user commands a seat component in a certain direction, it will incrementally move in that direction until the user ceases their request. |
|
| N/A | a user commands a seat component in a certain direction, it will move in that direction until the value is changed. The change (e.g. stop) could come from the user or a hardware limit. |
|
| Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsForwardEngaged: Question: How does something other than a switch use this capability? | Different classes of comportment? Certain directions apply to different components? Need to enumerate the components? Component type? | |||
Set Seat Component Position Per Seat | Set the seat component position for the identified seat. This is position of the component only. |
|
| Applied by Component and Direction like:
|
| |||||||
Store Seat Position | Stores current seat and component positions |
| N/A | N/A | Personalization not in VSS or Android | |||||||
Recall Seat Position | Recall seat and component positions |
| N/A/A | N/A | Personalization not in VSS or Android | |||||||
Fold Headrest | Fold or unfold headrest |
| Align with move seat compontent? | |||||||||
Fold Seat | Fold or unfold seat |
| Align with move seat component | |||||||||
Movement & Position - Status / Data | ||||||||||||
Get Seat Position Per Seat | Get the seat position for the identified seat. This is entire seat position. |
|
| |||||||||
Get Seat Component Position Per Seat | Get the seat component position for the identified seat. This is position of the component only. |
|
| |||||||||
Get Seat Ids / Locations | Provides the list of seats available in "this" Vehicle |
| Array of:
|
...
Capability | Description | Inputs | Outputs | Dependencies | Assumptions /Constraints | VSS Examples / Mapping | Android Examples / Mapping | Notes |
Heating & Cooling - Control | ||||||||
Set Seat Temperature Level Per Seat | Set the temperature level for the identified seat |
|
| HVAC_SEAT_TEMPERATURE | ||||
Set Seat Ventilation Per Seat | Get ventilation level for the identified seat |
|
| HVAC_SEAT_VENTILATION | ||||
TBD | ||||||||
Seat Heating & Cooling - Status / Data | ||||||||
Get Seat Heating Temperature Level Per Seat | Get the heating mode and temerature level for the identified seat |
|
| HVAC_SEAT_TEMPERATURE | ||||
Get Seat Component Heating Ventilation Level Per Seat | Get the heating mode and ventilation level for the identified seat and component |
|
| HVAC_SEAT_VENTILATION | ||||
Capability | Description | Inputs | Outputs | Dependencies | Assumptions /Constraints | VSS Examples / Mapping | Android Examples / Mapping | Notes |
Massage - Control Per Seat | ||||||||
Set Seat Massage Per Seat | Set the massage type and intensity for the identified seat |
|
| It will be difficult to agree on massage types / patterns. So added a capability to determine what massage types or patterns are available per set. | ||||
Massage - Status / Data Per Seat | ||||||||
Get Seat Massage Per Seat | Get the massage type and intensity for the identified seat |
|
| |||||
Get Massage Status | identifies if massage is on or off for specific set(s) |
|
| |||||
Get Seat Massage Capability | identifies if seats support massage |
|
| |||||
Get Seat Massage Types (Patterns) | Provides a list of available massage types for a specific seat. May be none. |
|
| Need to consider in what format? Bounded array of string values? |
...
Capability | Description | Inputs | Outputs | Dependencies | Assumptions /Constraints | VSS Examples / Mapping | Android Examples / Mapping | Notes |
Haptics - Control | ||||||||
Activate Haptics | Activate seat haptic notification for driver's seat |
Use use case to help define. | ||||||
Haptics - Status / Data | ||||||||
Is this needed? |
...