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




Information Types

Seatting.pptx

Aligning on information types is critical


Bolsters and Bladders:



A(Seat Height or  Seat Up/Down)

B  Seat Forward/Backward

C Seat Recline

D Cushion Extension

E Cushion Tilt

FHeadrest Height or Headrest Fwd/Backward

Information TypeDefinitionIllustration #BMWFordGMVolvo CarsVSS MappingAndroid

Seats

Seat identity for 3 rows with 3 seats  per row, front to back

  • row1_left

looking towards the front of vehicle from within the vehicle




General: 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

Note:

  • 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


  • row1_center







  • row1_right







  • row2_left







  • row2_center







  • row2_right







  • row3_left







  • row3_center







  • row3_right







Moveable (Electrically Driven) Seating Component


Complete seat All

Added




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

  • 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.
  • Vehicle.Cabin.Seat.Row1.DriverSide.Tilt - degrees -  In VSS it is assumed that tilting a seat affects both seating (seat bottom) and backrest, i.e. the angle between seating and backrest will not be affected when changing Tilt.


SEAT_FORE_AFT

SEAT_HEIGHT


Lumbar

5





Did we somehow lose this?

  • 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.

SEAT_LUMBAR_FORE_AFT

SEAT_LUMBAR_SIDE_SUPPORT

SEAT_LUMBAR_VERTICAL

Cushion Side Bolstewr

Need number

Pictures would be good


focus must be on Mechatronic components

Right and Left Back (upper) bolsters
Infalation level 0-100%

Backrest Side Bolster

8

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.

Upper Shoulder (fwd/backward)

9






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.
  • 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.



Cushion Extension

Blue thing


Thigh Extension?

see video


Either works

Fold Seat





Row 3, Row 2, and possibly row 1 passenger seat


Headrest






  • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest - Headrest settings
  • Vehicle.Cabin.Seat.Row1.DriverSide.Headrest.Angle - degrees - Headrest angle, relative to backrest, 0 degrees if parallel to backrest, Positive degrees = tilted forward.
  • 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.




Airbag






  • Vehicle.Cabin.Seat.Row1.DriverSide.Airbag
  • Vehicle.Cabin.Seat.Row1.DriverSide.Airbag.IsDeployed - boolean - Airbag deployment status. True = Airbag deployed. False = Airbag not deployed.

Direction
  • Forward - toward the front of the vehicle

Needs Clarification.
Percent of total? clicks? x, y, z axis values?
foredepends on the component


  • Backward - toward the back of the vehicle

aftdepends on the component


  • Up - toward the roof of the vehicle


depends on the component


  • 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)


depends on the component


  • Swivel






Position

position on horizontal or vertical plane of seat or component


needs clarification

Position vs Direction

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





Tilt Angle

tilt angle of seat or component


duplicate to Tilt / Recline (angles)






Neck Scarf (fan)
  • Fan Speed
  • Temperature







Backrest Seat  Temperature

 (Copied from VSS)

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







Cushion Seat  Temperature
  • -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







Temperature Controlled Element Level
  • Off

delete covered by Seat temp modeConcur with comment from BMW



  • Auto







  • Low 







  • Med







  • High







  • Actual temperature

added




Massage Capabilityyes/no or true/false
we need a general discover mechanism

Overlaps with with Seat Massage Type

Massage StatusOn/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).

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.
Seat Occupancy Status
  • Unknown





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





  • Empty





Child seat
  • Installed

added




Seat Belt Status
  • Fastened





Vehicle.Cabin.Seat.Row1.PassengerSide.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





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.

Seat Side
  • Right
  • Left

duplicate to "SEATS"Is this side of specific seat?



Delay Between Pulses



internal calibration at the moment, based on the requestor


Haptic Pulses







Seat Switch 





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


Capabilities

Column Definitions


General questions regarding API invocation:

Capability

Description

Inputs

Outputs

Dependencies

Assumptions /Constraints

Considerations

Location in Architecture

Notes

Control Seat Position Per Seat
Move Seat Move the identified seat in the specified direction.  When a user commands a seat in a certain direction, it will incrementally move in that direction until the user ceases their request.
  • seat
  • direction
  • status





Set Seat Position Per SeatSet the seat position for the identified seat.  This is entire seat position.  
  • seat
  • position
  • status





Move Seat ComponentMove 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





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





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






Recall Seat PositionRecall seat and comp
  • seat
  • seat occupant ID






Fold HeadrestFold or unfold headrest
  • Seat
  • Fold or unfold






Fold SeatFold or unfold seat
  • Seat
  • Fold or unfold






Haptic Seat







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















Get Seat Position Per Seat
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 the seat component position for the identified seat.  This is position of the component only.
  • seat
  • seat component
  • position
  • angle
  • status














Get Seat Heating Mode and Level Per Seat
Get Seat Heating Per SeatGet the heating mode and level for the identified seat 
  • seat
  • seat
  • seat temperature mode
  • seat temperature level





Get Seat Component Heating Per SeatGet the heating mode and level for the identified seat and component
  • seat
  • seat component
  • seat
  • seat component
  • seat temperature mode
  • seat temperature level














Get Seat Massage Patterns
Get Seat Massage PatternsProvides a list of available massage patterns for a specific seat. May be none. 
  • seat
  • list of available massage patterns




Need to consider in what format? Bounded array of string values?
Control Seat Massage Per Seat
Set Seat Massage Per SeatSet the massage type and intensity for the identified seat 
  • seat
  • seat massage type (includes none?)
  • massage intensity
  • status




Suggested that it will be difficult to agree on massage.  So likely remove except for basic on/off and status.









Get Seat Massage Per Seat
Get Seat Massage Per SeatGet the massage type and intensity for the identified seat 
  • seat
  • seat
  • seat massage type
  • massage intensity





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







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





Get Seat Occupant Safety Status 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 Seat locatoins in "this" Vehicle
Get Seat LocationsProvides the list of seats available in "this" Vehicle
  • seat location (like row1_left, row1_center, etc)
  • Is_Present (true/false)
































Zonal Architecture for Reference