Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Instance discussion - Driver/Passenger vs Left/Right #695

Closed
wants to merge 1 commit into from

Conversation

erikbosch
Copy link
Collaborator

There have been some criticism on the VSS change some time ago to use DriverSide/PassengerSide as reference rather than Left/Right. I can see values in supporting both notations, or that at least OEMs can decide which notation they prefer.

This PR discuss/propose a possible solution. In short it is based on having something like this in VSS:

Seat:
  type: branch
  instances:
    - Row[1,2]
    - ["DriverSide","Middle","PassengerSide", "Left","Right"]

We can also use this PR to capture the discussion/decision on whether we actually need to do something.

Some previous discussion available in #642

@doganulus
Copy link

I have seen the mention of reusable definitions in #642 (comment). I think this can be a good solution. Similarly, the JSON Schema has $ref keyword for reusable definitions. An example would look like this:

vehicle.seat.row1_left:
  $ref: #/definitions/seat_definition
vehicle.seat.row1_right:
  $ref: #/definitions/seat_definition
vehicle.seat.row2_left:
  $ref: #/definitions/seat_definition
vehicle.seat.row2_right:
  $ref: #/definitions/seat_definition

definitions:
  seat_definition:
    properties:
      row: 
        type: integer
      pos:
        type: string

Now, above, I have duplicated each signal name. This might be enough, but maybe we can look at key expressions, too. Yet I am not sure about that.

vehicle/seat/row[1-2]_{left,right}:
  $ref: #/definitions/seat_definition

@erikbosch erikbosch marked this pull request as draft December 1, 2023 14:25
@erikbosch erikbosch added Status:DoNotMerge PR shall not be merged now, maybe later, maybe after rework Status:New An issue/PR that not yet have been discussed/announced at a VSS meeting labels Dec 1, 2023
@alanmapleburl-au
Copy link

alanmapleburl-au commented Dec 5, 2023

Here is a perspective from an ontologist. TL/DR: I support - ["DriverSide","Middle","PassengerSide", "Left","Right"]. It uses anyOf (inclusive or) logic and provides the knowledge required rather than using oneOf (exclusive or) logic to constrain it.

In Basic Formal Ontology, which is a philosophically rigorous upper ontology, the lateral or y-axis position (Left, Middle, and Right) would be deemed "qualities." They are only dependent on the thing they describe, such as the seat position. They will always be able to describe the seat position regardless of processes or circumstances.

Driver and Passenger, on the other hand, would be deemed "roles." They not only depend on the thing that they describe, but also on some process--driving a vehicle in this case. The problem becomes clear when you consider a fully autonomous vehicle in which there are passenger seats but no driver position.

In a fully-articulated model, the position of the driver controls would be a property of the vehicle, not a seat. Everything necessary could be reported by vehicle.driverLateralPosition and seat.Lateralposition. Given the tree model and the notion of allowed values, if we're going to constrain with oneOf, then [Left, Middle, Right] is the stronger option. But I see no reason that we can't have it both ways by including both the lateral position and the occupant role.

@erikbosch
Copy link
Collaborator Author

My conclusion so far:

  • No-one really seems to object supporting both left/right and driverside/passengerside
  • The question is if we need to add syntax to VSS so that implementations (like VISS server, Kuksa) automatically knows that they are synonyms, or if we leave that to implementations

Maybe I will create a PR for a "simple" solution

Signed-off-by: Erik Jaegervall <erik.jaegervall@se.bosch.com>
@erikbosch erikbosch removed the Status:New An issue/PR that not yet have been discussed/announced at a VSS meeting label Feb 20, 2024
@erikbosch
Copy link
Collaborator Author

Closing this one for now as there likely will be no progress within the next months

@erikbosch erikbosch closed this Mar 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status:DoNotMerge PR shall not be merged now, maybe later, maybe after rework
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants