Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 Table of Contents

Table of Contents

Note
titleNotes from Kickoff

Below is the start of translating the uServices definitions of seating capabilities to a technology neutral tabular format as agreed in our kick-off meeting on October 18th.  Please take a look, iterate, comment and let me know if you have questions Paul Boyes 


Agreed by Group:

  • Start a position D in architecture - see architecture diagram below
  • Safety considerations to be noted but not exhaustively

...




Terminology Alignment (WIP)

Seatting.pptx

Aligning on information types is critical.

Image Removed

Bolsters and Bladders:

Image Removed

AImage Removed(Seat Height or  Seat Up/Down)

BImage Removed  Seat Forward/Backward

CImage Removed Seat Recline

DImage Removed Cushion Extension

EImage Removed Cushion Tilt

FImage RemovedHeadrest Height or Headrest Fwd/Backward

Notes:

    • Seating accounts for over 1/5th of VSS.yaml.  This is due to the many facets of seating and the number of instances.
    • Seat Configuration:
      • Vehicle.Cabin.SeatRowCount - number of rows - defaults to 2
      • Vehicle.Cabin.SeatPosCount - array of number of seats per row - defaults to 2,3 which is 2 in row 1 and 3 in row 2
      • Even though the default says only 2 seats in row 1, generated (yaml) it has Driver, Middle and Passenger
    • Related:
      • Vehicle.VehicleIdentification.VehicleSeatingCapacity - provides seating capacity vehicle
      • Vehicle.Cabin.DriverPosition - driver left, middle or right

Seat Identity

Identifying a specific seat within a vehicle. This is based on location within the vehicle.

Information TypeDefinitionValuesIllustration #
Information Type

Values (per GM uServices)

Illustration #
BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / MappingNotes

Seat

Id / Location DataSeat

(Instances)

Seat identity for 3 rows with 3 seats  per row,

front

 front to back

(looking towards front of vehicle from within the vehicle)

  • row1_left


row1_driver
or
row1_passenger
by region / config



Vehicle.

Row1.DriverSidealigned? - NO

Cabin.Seat.DriverPosition

Vehicle.Cabin.Seat.Row1.DriverSide




 VehicleAreaSeatDriver and Passenger can be mapped to row1_left, etc...
  • row1_center





Vehicle.Cabin.Seat.Row1.Middle

aligned? - ?



  • row1_right


row1_driver
or
row1_

right

passenger
by region / config



Vehicle.Cabin.Seat.Row1.PassengerSide

aligned? - NOrow2_



  • row2_left





  • Vehicle.Cabin.Seat.Row2.DriverSide

aligned? - NO



  • row2_center





  • Vehicle.Cabin.Seat.Row2.Middle
aligned? - ?


  • row2_right





  • Vehicle.Cabin.Seat.Row2.PassengerSide
aligned? - NO


  • row3_left





  • Vehicle.Cabin.Seat.Row3.DriverSide
aligned? - NO


  • row3_center





  • Vehicle.Cabin.Seat.Row3.Middle
aligned? - ?


  • row3_right





  • Vehicle.Cabin.Seat.Row3.PassengerSide
aligned? - NO


Seat Identity Illustrations

tbd

Seat

...

Components

Seat components that are movable or controllable, electrically driven.

Component 
Moveable Seating Component (Electrically Driven)
Complete seat All
Information TypeValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / mappingNotes

Seat Component 

Moveable Seating Component (Electrically Driven)



Complete seat All

Added




  • Vehicle.Cabin.Seat is the complete seat definition.
    •  Vehicle.Cabin.Seat.Row1.DriverSide would be an instance.

SEAT_FORE_AFT

SEAT_DEPTH

SEAT_HEIGHT

SEAT_TILT


Lumbar

  • Top
  • Middle
  • Lower

5

  • top =5a
  • mid =5b
  • lower =5c





  • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar - Adjustable lumbar support mechanisms in seats allow the user to change the seat back shape.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height - mm - Height of lumbar support. Position is relative within available movable range of the lumbar support. 0 = Lowermost position supported.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support - percent - lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.

Differs:  Lumbar is only one piece in VSS not three components

SEAT_LUMBAR_VERTICAL

SEAT_LUMBAR_FORE_AFT

Cushion Side

Differs:  Lumbar is only one piece in Android


Cushion Side Bolster

Need number

Pictures would be good

focus must be on Mechatronic components

Right and Left Back (upper) bolsters

12

  • right = 12a
  • left = 12b


"lower bolsters"



Inflation
Infalation
level 0-100%Differs:  Does not exist in VSS

SEAT_CUSHION_SIDE_SUPPORT

Align lumbar top, mid,


Backrest Side Bolster

8

11

  • right = 11a
  • left = 11b
"upper bolsters"
Right and Left Cushion (lower) bolsters

Inflation level 0-100%
  • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster - Backrest side bolster (lumbar side support) settings.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster.Support percent - Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.

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

same as cushion above or is this "Back"?




  • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest - Describes signals related to the backrest of the seat.

    Cushion Extension

    Blue thing

    Thigh Extension?

    see video

    Either works

    Headrest

    Vehicle.
      • Vehicle.Cabin.Seat.Row1.DriverSide.
    Headrest - Headrest settings
    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height - mm Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.
      • Backrest.Recline degrees - Backrest recline compared to seat z-axis (seat vertical axis). 0 degrees = Upright/Vertical backrest. Negative degrees for forward recline. Positive degrees for backward recline.

    SEAT_BACKREST_ANGLE_1

    SEAT_BACKREST_ANGLE_2


    Cushion Extension

    13

    Blue thing


    Thigh Extension?

    see video


    Either works
    Airbag
    • Vehicle.Cabin.Seat.Row1.DriverSide.
    Airbag
    • Seating - Describes signals related to the seat bottom of the seat.
      • Vehicle
    Vehicle
      • .Cabin.Seat.Row1.DriverSide.
    Airbag
      • Seating.
    IsDeployed - boolean - Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.
      • Length - Length adjustment of seating. 0 = Adjustable part of seating in rearmost position (Shortest length of seating).
    Differs:  Does not exist in Android

    Headrest

    4





    • Vehicle.Cabin.Seat.Row1.
    PassengerSide.AirbagDirectionDirection of seat or component movement
    • Forward - toward the front of the vehicle
    Needs Clarification.
    Percent of total? clicks? x, y, z axis values?foredepends on the componentAI:  align this definition .   Is Fold a direction?
    • Backward - toward the back of the vehicle
    aftdepends on the component
    • Up - toward the roof of the vehicle
    depends on the componentrelates to height like:
    • DriverSide.Headrest - Headrest settings
      • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height - mm Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.
      • Vehicle.Cabin.Seat.Row1.Middle.Headrest.Angle - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.

    SEAT_HEADREST_ANGLE

    SEAT_HEADREST_FORE_AFT

    SEAT_HEADREST_HEIGHT


    Airbag






    • Vehicle.Cabin.Seat.Row1.DriverSide.Airbag
      • Vehicle.Cabin.Seat.Row1.DriverSide.
    Backrest.Lumbar.Height
    • Down - toward the bottom of the vehicle
    depends on the component
    • Inflate - fill with air
    increasedepends on the component
    • Deflate - remove air
    decreasedepends on the component
    • Tilt / Recline (angles)
    anglesdepends on the component
      • Airbag.IsDeployed - boolean - Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.
    • Vehicle.Cabin.Seat.Row1.PassengerSide.Airbag


    VSS has deployed but not enabled.  

    SEAT_AIRBAG_ENABLED


    Has enabled only not deployed

    Should we consider extending VSS for other airbags.

    Neck Scarf (fan)

    6





    Differs:  Does not existDiffers: Does not existAdd to VSS?

    Seat Belt (height)

    Like:






    • Vehicle.Cabin.Seat.Row1.DriverSide.
    Backrest.Recline -

    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.

    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle -

    degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.

    • Swivel
    Position

    position on horizontal plane (x-axis) or vertical plane (z-axis) of seat or component

    needs clarification

    Position vs Direction

    Should height be separate from position?

    Is y-axis ever needed?

    • Vehicle.Cabin.Seat.Row1.DriverSide.Position -

    Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.

    • Vehicle.Cabin.Seat.Row1.DriverSide.Height -

    mm - Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.

    Aligned? - ?

    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

    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline -
    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.
    • IsBelted
      • Boolean
    • Vehicle.Cabin.Seat.Row1.DriverSide.SeatBeltHeight
      • Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.

    SEAT_BELT_BUCKLED

    SEAT_BELT_HEIGHT_MOVE

    SEAT_BELT_HEIGHT_POS


    Seat Component Illustrations (maintained on  Miro)

    Image Added


    Bolsters and Bladders:

    Image Added


    Seat & Component Movements or Positions 

    Words describing control parameters or changeable properties related to movement or position.

    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / MappingNotes
    DirectionDirection of seat or component movement
    • Forward - toward the front of the vehicle


    foredepends on the component

    Applied by seat or component like:

    Is Fold a direction?
    Team agreed it is a capability
    • Backward - toward the back of the vehicle

    aftdepends on the component

    • Up - toward the roof of the vehicle


    depends on the component

    Applied by Seat or Component like:

    • Vehicle.Cabin.Seat.Row1.DriverSide.Height
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height
    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.
    Angle -

    degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.

    Seat Heating and Cooling Data

    Temperature

     (Copied from VSS)

    • -100 = max cooling
    • 100 = max heating
    • 0 = off

    Temperature Controlled Element Mode

    • On
    addedIs "On" covered by heat, cool, or vent?
    • Off
    • Cool
    • Vent
    • Heat
    Fan Speed
    • Off
    delete covered by Seat temp modeConcur with comment from BMW
    • Auto
    • Level 1 
    • Level 2
    • Level 3 
    • Level 4 
    added
    • Level 5
    Neck Scarf (fan)
    • fan speed
    • temperature
    Massage DataMassage Capabilityyes/no or true/falsewe need a general discover mechanismOverlaps with with Seat Massage TypeMassage StatusOn/OffOverlaps with Seat Massage Type
    • Height

    Applied by seat or component like:


    • Down - toward the bottom of the vehicle


    depends on the component

    • Inflate - fill with air

    increasedepends on the component

    Applied by inflatable Component like:

    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support percent - lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.
    • Vehicle.Cabin
    Vehicle.Cabin
    • .Seat.Row1.DriverSide.Backrest.
    Switch
    • SideBolster.
    Massage - Switches for SingleSeat.Massage.Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsDecreaseEngaged - Decrease massage level switch engaged (SingleSeat.Massage).Provide / get Massage PatternsList of available massage patterns for a specific seat, including none. Seat Massage Type
    • Off
    • Roll
    • Knead
    • Anti Fatigue
    • Pulse
    • Stretch
    • Lumbar
    • Shoulder
    • Wave
    • Relief
    • Glide
    Need discovery capability as will vary by seat.Massage IntensityIntensity of massage??1-5?Vehicle.Cabin.Seat.Row1.PassengerSide.Massage - Seat massage level. 0 = off. 100 = max massage.Occupant DataSeat Occupancy Status
    • Unknown
    • Support percent - Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.


    • Deflate - remove air

    decreasedepends on the component


    • Tilt / Recline (angles)

    anglesdepends on the component

    Applied by Component like:

    • Vehicle.Cabin.Seat.Row1.DriverSide.
    Switch.Massage.IsIncreaseEngaged - Increase massage level switch engaged (SingleSeat.Massage).
    • Backrest.Recline -

    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.

    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle -

    degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.



    • Swivel







    Position

    position on horizontal plane (x-axis) or vertical plane (z-axis) of seat or component




    Needs Clarification.
    Percent of total? clicks? x, y, z axis values?


    Should height be separate?

    Is y-axis needed?



    • Vehicle.Cabin.Seat.Row1.
    Middle
    • DriverSide.
    IsOccupied - boolean - is or is not occupied.  No Unkown.
    • Position -

    Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.

    • Occupied
    • Empty
    Seat Occupant ID??What is this?

    • Vehicle.Cabin.Seat.Row1.DriverSide.
    Occupant.Identifier
    • Height -
  • v5.0  use data from Vehicle.Occupant.*.*.Identifier.
  • Identifier attributes based on OAuth 2.0.
  • Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Subject
    • v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
    • Subject for the authentication of the occupant e.g. UserID 7331677.
  • 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



    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline -

    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.

    Seat Haptics DataDelay Between Pulsesinternal calibration at the moment, based on the requestorHaptic PulsesOther Seat DataChild seat
    • Installed
    addedSeat Belt Status
    • Fastened

    Vehicle.Cabin.Seat.Row1.PassengerSide.IsBelted  - boolean - is or is not belted/fastened

    Related:

    • Vehicle.Cabin.Seat.Row1.DriverSide.
    PassengerSide
    • Headrest.
    SeatBeltHeight - Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.
    • Unfastened
    • Angle -

    degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.




    Seat Heating and Cooling

    Words describing control parameters or changeable properties related to seat heating and cooling.

    Side of Seat
    • Right
    • Left
    duplicate to "SEATS"Is this side of specific seat?Seat Switch Seat Switch Signals - e.g.
    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS MappingAndroid Alignment / mappingNotes

    Temperature





    OFF
    Cooling (level 1, 2, 3)

    Heat (level 1, 2, 3)



    • -100 = max cooling
    • 100 = max heating
    • 0 = off


    • Vehicle.Cabin.Seat.Row1.DriverSide.
    Switch.Backrest.IsReclineBackwardEngaged
  • See spec and generated schema for details
  • Capabilities

    Column Definitions

    • Capability: A concise name for the capability
    • Description:  A brief description of the capability and what it does and enables
    • Inputs:  What data (must align with VSS) is required by the capability
    • Outputs:  What data (must align with VSS) is output by the capability
    • Dependencies:  Other capabilities, processes, or systems the capability depends on
    • Assumptions/Constraints:  Any assumptions or limitations that should be considered
    • Considerations:  Including safety, security, performance, regulations, diagnostics…
    • Location in Architecture:  For context where does it sit in an architecture

    General questions regarding API invocation:

    • Can we use "actuate with commands, report with signals" as a general strategy?
    • Do we use transaction IDs to tie commands to output signals/results?
    • HeatingCooling
      •  Heating or Cooling requsted for the Item. -100 = Maximum cooling, 0 = Heating/cooling deactivated, 100 = Maximum heating
    HVAC_SEAT_TEMPERATUREShould this be heating cooling?

    Temperature Controlled Element Mode



    • On

    addedIs "On" covered by heat, cool, or vent?





    • Off









    • Cool


    level 1, 2, 3





    • Vent


    as predetermined percentages





    • Heat


    level 1, 2, 3




    Fan Speed
    • Off

    delete covered by Seat temp modeConcur with comment from BMW

    Not in VSS

    HVAC_SEAT_VENTILATION

    Not the same



    • Auto









    • Level 1 









    • Level 2









    • Level 3 









    • Level 4 

    added






    • Level 5









    Seat Massage


    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / MappingNotes
    Massage CapabilityIs the seat capable of providing massage.

    yes/no or true/false


    we need a general discover mechanism

    Overlaps with with Seat Massage TypeNot in VSSNot in Andriod
    Massage Status
    On/Off



    Overlaps with Seat Massage Type
    • Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage - Switches for SingleSeat.Massage.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsDecreaseEngaged - Decrease massage level switch engaged (SingleSeat.Massage).
    • Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Massage.IsIncreaseEngaged - Increase massage level switch engaged (SingleSeat.Massage).


    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 VSSNot in Android
    Seat Massage Type
    • Off
    • Roll
    • Knead
    • Anti Fatigue
    • Pulse
    • Stretch
    • Lumbar
    • Shoulder
    • Wave
    • Relief
    • Glide


    Need discovery capability as will vary by seat.

    Not in VSSNot in Android
    Massage Intensity
    Intensity of massage
    ??

    1-5?Vehicle.Cabin.Seat.Row1.DriverSide.MassageLevel - Seat massage level. 0 = off. 100 = max massage.


    Seat Haptics

    Haptics are seat or component vibrations used to alert the driver or provide feedback. Typically used by ADAS such as lane departure warning.

    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / Mapping
    Delay Between Pulses




    internal calibration at the moment, based on the requestor
    Not in VSSNot in Android
    Haptic Pulses









    Seat Occupancy and Safety


    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / MappingNotes
    Seat Occupancy Status
    • Unknown





    Vehicle.Cabin.Seat.Row1.DriverSide.IsOccupied - boolean - is or is not occupied.  No Unkown.

    • Occupied





    • Empty





    Seat Occupant ID


    ??

    What is this?
    • Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier -
      • v5.0  use data from Vehicle.Occupant.*.*.Identifier.
      • Identifier attributes based on OAuth 2.0.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Occupant.Identifier.Subject
      • v5.0 - use data from Vehicle.Occupant.*.*.Identifier.
      • Subject for the authentication of the occupant e.g. UserID 7331677.


    Child seat
    • Installed (true/false)

    added





    Seat Belt Status
    • Fastened





    Vehicle.Cabin.Seat.Row1.DriverSide.IsBelted  - boolean - is or is not belted/fastened

    Related:

    • Vehicle.Cabin.Seat.Row1.PassengerSide.SeatBeltHeight - Seat belt position on vehicle z-axis. Position is relative within available movable range of the seat belt. 0 = Lowermost position supported.




    • Unfastened





    Other Seat Information


    Information TypeDefinitionValues Illustration #BMWFordGMVolvo CarsVSS Alignment / MappingAndroid Alignment / MappingNotes
    Seat Switch 






    • Seat Switch Signals - e.g. Vehicle.Cabin.Seat.Row1.DriverSide.Switch.Backrest.IsReclineBackwardEngaged
    • See spec and generated schema for details

    Address in VSS - Is this needed for capabilities?  


    Seat Capability Alignment (WIP)

    Column Definitions

      • Capability: A concise name for the capability
      • Description:  A brief description of the capability and what it does and enables
      • Inputs:  What data (must align with VSS) is required by the capability
      • Outputs:  What data (must align with VSS) is output by the capability
      • Dependencies:  Other capabilities, processes, or systems the capability depends on
      • Assumptions/Constraints:  Any assumptions or limitations that should be considered
      • Considerations:  Including safety, security, performance, regulations, diagnostics…
      • Location in Architecture:  For context where does it sit in an architecture


    General questions regarding API invocation:

      • Can we use "actuate with commands, report with signals" as a general strategy?
      • Do we use transaction IDs to tie commands to output signals/results?

    Seat Movement and Position


    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Android Examples / Mapping

    Notes

    Movement & Position - Control
    Move Seat Continuously

    Move the identified seat in the specified direction.  When a user commands a seat 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.

    • seat
    • direction
    • status


    Vehicle.Cabin.Seat.Row1.DriverSide.Switch.IsForwardEngaged:
      datatype: boolean
      description: Seat forward switch engaged (SingleSeat.Position).
      type: actuator

    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? 

    Move Seat to Specified PositionSet the seat position for the identified seat.  This is entire seat position forward, back, up down.  
    • seat
    • position
    • status


    • Vehicle.Cabin.Seat.Row1.DriverSide.Position 

    Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.

    • Vehicle.Cabin.Seat.Row1.DriverSide.Height 

    mm - Seat position on vehicle z-axis. Position is relative within available movable range of the seating. 0 = Lowermost position supported.

    SEAT_FORE_AFT_POS

    What is the position definition?

    ISO 8895

    What is status?  Position Status.

    Move Seat Component ContinuouslyMove the identified seat and component in the specified direction.  When 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.
    • seat
    • component
    • direction
    • status


    Vehicle.Cabin.Seat.Row1.Middle.Switch.Headrest.IsForwardEngaged:
      datatype: boolean
      description: Head rest forward switch engaged (SingleSeat.Headrest.Angle).
      type: actuator

    Question:  How does something other than a switch use this capability?

    SEAT_HEADREST_ANGLE_MOVE

    Different classes of comportment?  Certain directions apply to different components?


    Need to enumerate the components?  Component type?

    Set Seat Component Position Per SeatSet the seat component position for the identified seat.  This is position of the component only.
    • seat
    • seat component
    • position
    • angle
    • status


    Applied by Component and Direction like:

    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height 
    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support percent - lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster.Support percent - Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support

    Applied by Component and Direction like:

    SEAT_HEADREST_ANGLE_POS


    Store Seat PositionStores current seat and component positions
    • seat
    • Seat Occupant ID



    N/AN/APersonalization not in VSS or Android
    Recall Seat PositionRecall seat and component positions
    • seat
    • seat occupant ID



    N/AN/APersonalization not in VSS or Android
    Fold HeadrestFold or unfold headrest
    • Seat
    • Fold or unfold





    Align with move seat compontent?
    Fold SeatFold or unfold seat
    • Seat
    • Fold or unfold





    Align with move seat component
    Movement & Position - Status / Data
    Get Seat Position Per SeatGet the seat position for the identified seat.  This is entire seat position.
    • seat
    • position
    • status





    Get Seat Component Position Per SeatGet

    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Notes

    Seat Movement & Position - ControlMove Seat IncrementallyMove the identified seat in the specified direction.  When a user commands a seat in a certain direction, it will incrementally move in that direction.
    • seat
    • direction
    • status
    One request/trigger moves one increment.Move Seat to Specified PositionSet the seat position for the identified seat.  This is entire seat position forward, back, up down.  
    • seat
    • position
    • status
    • Vehicle.Cabin.Seat.Row1.DriverSide.Position 

    Seat position on vehicle x-axis. mm - Position is relative to the frontmost position supported by the seat. 0 = Frontmost position supported.

    • Vehicle.Cabin.Seat.Row1.DriverSide.Height 

    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 IncrementallyMove 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.
    • seat
    • component
    • direction
    • status

    Different classes of comportment?  Certain directions apply to different components?

    Need to enumerate the components?  Component type?

    Set Seat Component Position Per SeatSet
    the seat component position for the identified seat.  This is position of the component only.
    • seat
    • seat component
    • position
    • angle
    • status
    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Height 
    • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Recline
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Height
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.Lumbar.Support percent - lumbar support (in/out position). 0 = Innermost position. 100 = Outermost position.
    • Vehicle.Cabin.Seat.Row1.DriverSide.Backrest.SideBolster.Support percent - Side bolster support. 0 = Minimum support (widest side bolster setting). 100 = Maximum support.





    Get Seat Ids / LocationsProvides the list of seats available in "this" Vehicle
    • none

    Array of:

    • seat location (like row1_left, row1_center, etc)
    • Is_Present (true/false)





    Seat Movement Illustrations:


    A Image Added(Seat Height or  Seat Up/Down)

    B Image Added  Seat Forward/Backward

    C Image Added Seat Recline

    D Image Added Cushion Extension

    E Image Added Cushion Tilt

    F Image AddedHeadrest Height or Headrest Fwd/Backward


    Seat Heating and Cooling


    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Android Examples / Mapping

    Notes

    Heating & Cooling - Control
    Set Seat Temperature Level  Per SeatSet the temperature level for the identified seat 
    • seat
    • seat temperature level
    • seat
    • seat temperature level



    HVAC_SEAT_TEMPERATURE
    Set Seat Ventilation Per SeatGet ventilation level for the identified seat
    • seat
    • seat temperature level
    • seat
    • seat temperature level



    HVAC_SEAT_VENTILATION
    TBD
















    Seat Heating & Cooling
    Store Seat PositionStores current seat and component positions
    • seat
    • Seat Occupant ID
    Recall Seat PositionRecall seat and component positions
    • seat
    • seat occupant ID
    Fold HeadrestFold or unfold headrest
    • Seat
    • Fold or unfold
    Align with move seat compontent?Fold SeatFold or unfold seat
    • Seat
    • Fold or unfold
    Align with move seat componentSeat Movement & Position
    - Status / Data
    Get Seat
    Position
    Temperature Level Per SeatGet the
    seat position
    temerature level for the identified
    seat.  This is entire seat position.
    seat 
    • seat
    • seat
    • seat
  • position
  • status
    • temperature level



    HVAC_SEAT_TEMPERATURE
    Get Seat
    Component Position
    Ventilation  Level Per SeatGet the
    seat component position
    ventilation level for the identified
    seat.  This is position of the component only.
    seat
    • seat
    • seat
    • seat
    component
  • position
  • angle
    • status
    Seat Heating & Cooling - ControlTBD
    • temperature level



    HVAC_SEAT_VENTILATION









    Seat Massage


    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Android Examples / Mapping

    Notes

    Massage - Control Per Seat
    Set Seat Massage Per SeatSet the massage type and intensity
    Seat Heating & Cooling - Status / DataGet Seat Heating Per SeatGet the heating mode and level
    for the identified seat 
    • seat
    • seat
  • seat temperature mode
  • seat temperature level
    • massage type 
    • massage intensity
    • status




    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
    Get Seat Component Heating
    Per SeatGet the
    heating mode
    massage type and
    level
    intensity for the identified seat 
    • seat
    and component
    • seat
  • seat component
    • seat
    • seat component
    • seat temperature mode
    • seat temperature level
    Seat Massage - Control Per SeatSet Seat Massage Per SeatSet the massage type and intensity for the identified seat 
    • seat
    • seat massage type (includes none?)
    • massage intensity
    • status
    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.Seat Massage - Status / Data Per SeatGet Seat Massage Per SeatGet the massage type and intensity for the identified seat 
    • seat
    • seat
    • seat massage type
    • massage intensity
    Get Massage Statusidentifies if massage is on or off for specific set(s)
    • seat
    • (or all)?
    • seat
    • massage status
    Get Seat Massage Capabilityidentifies if seats support massage
    • seat
    • (or all)?
    • seat
    • massage capability
    Get Seat Massage Types (Patterns)Provides a list of available massage types for a specific seat. May be none. 
    • seat
    • list of available massage patterns
    Need to consider in what format? Bounded array of string values?
    • massage type
    • massage intensity





    Get Massage Statusidentifies if massage is on or off for specific set(s)
    • seat
    • (or all)?
    • seat
    • massage status





    Get Seat Massage Capabilityidentifies if seats support massage
    • seat
    • (or all)?
    • seat
    • massage capability







    Get Seat Massage Types (Patterns)Provides a list of available massage types for a specific seat. May be none. 
    • seat
    • list of available massage patterns




    Need to consider in what format? Bounded array of string values?


    Seat Haptics


    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Android Examples / Mapping

    Notes

    Haptics - Control
    Activate HapticsActivate seat haptic notification for driver's seat
    • seat (driver only) 
    • side (left right both)
    • delay between pulses
    • pulses






    Haptics - Status / Data








    Is this needed?


    Seat Occupancy and Safety


    Capability

    Description

    Inputs

    Outputs

    Dependencies

    Assumptions /Constraints

    VSS Examples / Mapping

    Android Examples / Mapping

    Notes

    Seat Occupant Safety - Status / Data Per Seat
    Get Seat Occupant
    Safety Per SeatGet the occupant safety status for the identified seat 
    • seat
    • seat
    • seat occupancy status
    • seat belt status
    Get Child Seat StatusAllows user to determine if a Child Seat is installed
    • seat
    Seat Haptics - ControlActivate HapticsActivate seat haptic notification for driver's seat
    • seat (driver only) 
    • side (left right both)
    • delay between pulses
    • pulses

    What is a haptic seat?   Where does it fit?

    Use use case to help define.

    Provide Seat locations in "this" Vehicle
    Safety Per SeatGet the occupant safety status for the identified seat 
    • seat
    • seat
    • seat occupancy status
    • seat belt status





    Get Child Seat StatusAllows user to determine if a Child Seat is installed
    • seat
    • seat
    • Is child Seat Installed
    Get Seat LocationsProvides the list of seats available in "this" Vehicle
    • none

    Array of:

  • seat location (like row1_left, row1_center, etc)
  • Is_Present (true/false)
























    Zonal Architecture for Reference