diff --git a/content/geometry/object-classes.adoc b/content/geometry/object-classes.adoc index c315c4cc..a884168d 100644 --- a/content/geometry/object-classes.adoc +++ b/content/geometry/object-classes.adoc @@ -53,6 +53,7 @@ NOTE: TODO: Discuss and document NOTE: TODO: Add information on geometry classes + segmentation? + include::object-vehicle/vehicle-index.adoc[leveloffset=+1] include::object-human/human-index.adoc[leveloffset=+1] include::object-road-network/road-index.adoc[leveloffset=+1] \ No newline at end of file diff --git a/content/geometry/object-vehicle/vehicle-general.adoc b/content/geometry/object-vehicle/vehicle-general.adoc new file mode 100644 index 00000000..479eac24 --- /dev/null +++ b/content/geometry/object-vehicle/vehicle-general.adoc @@ -0,0 +1,15 @@ += General + +A vehicle is any machine that moves on land and is either self-propelled or attached to a self-propelled machine. +Trailers or train wagons are considered separate vehicles. +However, permanently attached parts, such as the front and rear of an articulated bus are considered a single vehicle. +The vehicle class contains all land vehicles including wheeled or tracked vehicles. +In this version of the standard, only wheeled vehicles are considered. + +The vehicle 3D geometry is generically structured into the node structure defined in the next section. +The structure starts with a Root node as a parent to all other nodes in the structure +A separation of vehicle parts into different groups enables movement or animation of parts, such as wheels and doors, positioning external light sources in a simulation and many other use-cases. +Each node is an empty node representing the coordinate origin of the contained geometry. +Meshes are to be placed in the corresponding group node. +Not all node have to be present in every vehicle 3D model, as not all vehicle have parts to fit all groups. +Additional group nodes may be added to facilitate additional use-cases, but they shall be integrated into the general structure of external/internal and static/dynamic groups and follow the naming convention. diff --git a/content/geometry/object-vehicle/vehicle-index.adoc b/content/geometry/object-vehicle/vehicle-index.adoc index 58b02c39..14223ff3 100644 --- a/content/geometry/object-vehicle/vehicle-index.adoc +++ b/content/geometry/object-vehicle/vehicle-index.adoc @@ -1,8 +1,7 @@ = Vehicle structure -include::vehicle-structure-general.adoc[leveloffset=+1] -include::vehicle-structure-model-creation.adoc[leveloffset=+1] -include::vehicle-structure-model-structure.adoc[leveloffset=+1] +include::vehicle-general.adoc[leveloffset=+1] +include::vehicle-structure.adoc[leveloffset=+1] include::vehicle-structure-notes.adoc[leveloffset=+1] diff --git a/content/geometry/object-vehicle/vehicle-structure-general.adoc b/content/geometry/object-vehicle/vehicle-structure-general.adoc deleted file mode 100644 index 75ffc3a4..00000000 --- a/content/geometry/object-vehicle/vehicle-structure-general.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= General - -// General stuff \ No newline at end of file diff --git a/content/geometry/object-vehicle/vehicle-structure-model-creation.adoc b/content/geometry/object-vehicle/vehicle-structure-model-creation.adoc deleted file mode 100644 index 7f45458f..00000000 --- a/content/geometry/object-vehicle/vehicle-structure-model-creation.adoc +++ /dev/null @@ -1,3 +0,0 @@ -= Model creation - -// Describe how the vehicle structure model is created \ No newline at end of file diff --git a/content/geometry/object-vehicle/vehicle-structure-model-structure.adoc b/content/geometry/object-vehicle/vehicle-structure-model-structure.adoc deleted file mode 100644 index 771a4110..00000000 --- a/content/geometry/object-vehicle/vehicle-structure-model-structure.adoc +++ /dev/null @@ -1,1660 +0,0 @@ -= Model structure - -== Table of content - -[plantuml] ----- -legend -Vehicle structure -|_ Grp_Vehicle_Part__ (T) - |_ Grp_Exterior - |_ Grp_Exterior_Static - |_ Grp_Exterior_Dynamic - |_ Grp_Wheel__ (T) - |_ Grp_Wheel___Steering - |_ Grp_Wheel___Steering_Rotating (T) - |_ Grp_Door_Front_ (T) - |_ Grp_Door_Left_ (T) - |_ Grp_Door_Right_ (T) - |_ Grp_Door_Rear_ (T) - |_ Grp_Door_Top_ (T) - |_ Grp_Door_Bottom_ (T) - |_ Grp_Light_Day_Left_ (T) - |_ Grp_Light_Day_Right_ (T) - |_ Grp_Light_Low_Beam_Left_ (T) - |_ Grp_Light_Low_Beam_Right_ (T) - |_ Grp_Light_High_Beam_Left_ (T) - |_ Grp_Light_High_Beam_Right_ (T) - |_ Grp_Light_Position_Left_ (T) - |_ Grp_Light_Position_Right_ (T) - |_ Grp_Light_Park_Left_ (T) - |_ Grp_Light_Park_Right_ (T) - |_ Grp_Light_Tail_Left_ (T) - |_ Grp_Light_Tail_Right_ (T) - |_ Grp_Light_Brake_Left_ (T) - |_ Grp_Light_Brake_Center_ (T) - |_ Grp_Light_Brake_Right_ (T) - |_ Grp_Light_Reverse_Left_ (T) - |_ Grp_Light_Reverse_Right_ (T) - |_ Grp_Light_Fog_Left_ (T) - |_ Grp_Light_Fog_Right_ (T) - |_ Grp_Light_Corner_Left_ (T) - |_ Grp_Light_Corner_Right_ (T) - |_ Grp_Light_Indicator_Left_ (T) - |_ Grp_Light_Indicator_Right_ (T) - |_ Grp_Number_Plate_ (T) - |_ Grp_Light_Number_Plate_ (T) - |_ Grp_Light_Warning_ (T) - |_ Grp_Convertible_Top - |_ Grp_Sensors (T) - |_ Grp_Side_Mirror_Mounting_Left_ (T) - |_ Grp_Side_Mirror_View_Left_ (T) - |_ Grp_Side_Mirror_Mounting_Right_ (T) - |_ Grp_Side_Mirror_View_Right_ (T) - |_ Grp_Blindspot_Mirror_Mounting_ (T) - |_ Grp_Blindspot_Mirror_View_ (T) - |_ Grp_Interior - |_ Grp_Interior_Static - |_ Grp_Interior_Dynamic - |_ Grp_Steering_Wheel (T) - |_ Grp_Eyepoint_ (T) - |_ Grp_Rearview_Mirror_Mounting_ (T) - |_ Grp_Rearview_Mirror_View_ (T) - |_ Grp_Seat_ (T) -end legend ----- - -== Grp_Vehicle_Part_ (T) - -Add a description - -. -[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Exterior - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Exterior_Static - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Exterior_Dynamic - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Wheel__ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Wheel_Steering__ - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Wheel_Steering_Rotating__ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Front_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Right_(door_right_idx) (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Rear_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Top_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Door_Bottom_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Day_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Day_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Low_Beam_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Low_Beam_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_High_Beam_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_High_Beam_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Position_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Position_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Park_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Park_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Tail_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Tail_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Brake_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Brake_Center_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Brake_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Reverse_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Reverse_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Fog_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Fog_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Corner_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Corner_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Indicator_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Indicator_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Number_Plate_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Number_Plate_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Light_Warning_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Convertible_Top - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Sensors (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Side_Mirror_Mounting_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Side_Mirror_Mounting_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Side_Mirror_View_Left_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Side_Mirror_View_Right_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Blindspot_Mirror_Mounting_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Blindspot_Mirror_View_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Interior - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Interior_Static - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Interior_Dynamic - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Steering_Wheel (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Eyepoint_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Rearview_Mirror_Mounting_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Rearview_Mirror_View_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] - -== Grp_Seat_ (T) - -Add a description - -.
-[%header, cols="20, 80"] -|=== - -2+^|
- -| *Origin* -| ... - -| *x-axis* -| ... - -| *y-axis* -| ... - -| *z-axis* -| ... -|=== - - -Add a figure. - -.
-//image::images/Vehicle_Structure_Door_Coord_Frame.svg[width=70%, scalewidth=10cm] diff --git a/content/geometry/object-vehicle/vehicle-structure-notes.adoc b/content/geometry/object-vehicle/vehicle-structure-notes.adoc index 0fb4899a..40ba8718 100644 --- a/content/geometry/object-vehicle/vehicle-structure-notes.adoc +++ b/content/geometry/object-vehicle/vehicle-structure-notes.adoc @@ -1,37 +1,7 @@ = Notes from Miro board -== General structure -* The structure can be extended by custom groups for additional use-cases. Custom groups shall follow the general structure (e.g. grouping into static/dynamic, interior/exterior). -* Vehicle Parts are for moving entire parts of the vehicle, e.g. in a hinged bus or construction vehicle with a hinge (articulated vehicles). -When a vehicle part can be detached, like a trailer, it is to be treated as a separate vehicle and not a vehicle part. -* Don't include windows in hierarchy for now -* General note: Grp_* Nodes are empty nodes - -== Nodes - -* `axle_idx`: Follow https://opensimulationinterface.github.io/osi-antora-generator/asamosi/latest/gen/structosi3_1_1MovingObject_1_1VehicleAttributes_1_1WheelData.html#a094de989f5a2aab080f9a65f0feb3867[OSI Definition] counting from front to rear starting with 0 -* `wheel_idx`: Follow https://opensimulationinterface.github.io/osi-antora-generator/asamosi/latest/gen/structosi3_1_1MovingObject_1_1VehicleAttributes_1_1WheelData.html#a094de989f5a2aab080f9a65f0feb3867[OSI definition] counting per axle from right to left (in positive y-direction) -* `door_*_idx`: Counting per side from front to rear and right to left (in positive y-direction) -* trunk, front-trunk, engine hood (lid) etc. are considered doors * `convertible_top`: Indicate default mesh (open, closed etc.) in the Asset File * Enable switching on/off convertible top from within the asset file -* Warning lights incorporate emergency ligths, flashing lights, hazard lights,... -* `Grp_Sensors` can be used to position geometry of sensors, view cones, rays etc., but sensor geometry can also be part of the chassis/body -* https://github.com/KhronosGroup/glTF/issues/2005[Discussion about switch nodes in glTF] +* https://github.com/KhronosGroup/glTF/issues/2005[Discussion about switch nodes in glTF] * Should add nodes for trailer coupling devices, so that you know where to attach (MT) -* Any need for moving pedals or shift levers, or the levers on the steering wheel? (SG) -* Interior is separated from exterior to enable switching or exchanging it (LF) -* Door and sunroof interior parts would be defined as child nodes of the exterior node for the door (LF) -* Trailers and train wagons are treated as separate vehicles (LF) -* MT: What about buses with middle axis? More complex geometries/functions? Multiple Trailers? movable Cabins? -* Each vehicle part has its own transform: -** Grp_Vehicle_Part_ -*** Grp_Exterior -*** Grp_Interior -* Grp_Vehicle_Part_keyword_vehicle_part_idx -** The structure can be extended by custom groups for additional use-cases. Custom groups shall follow the general structure (e.g. grouping into static/dynamic, interior/exterior). -** Each vehicle part has its own transform . -** Vehicle Parts are for moving entire parts of the vehicle, e.g. in a hinged bus or construction vehicle with a hinge (articulated vehicles). When a vehicle part can be detached, like a trailer, it is to be treated as a separate vehicle and not a vehicle part. -*** Comment LF: Trailers and train wagons are treated as separate vehicles -*** Comment MT: MT: What about buses with middle axis? More complex geometries/functions? Multiple Trailers? movable Cabins? -*** Should add nodes for trailer coupling devices, so that you know where to attach (MT) \ No newline at end of file +* Any need for moving pedals or shift levers, or the levers on the steering wheel? (SG) \ No newline at end of file diff --git a/content/geometry/object-vehicle/vehicle-structure.adoc b/content/geometry/object-vehicle/vehicle-structure.adoc new file mode 100644 index 00000000..3f66d2b4 --- /dev/null +++ b/content/geometry/object-vehicle/vehicle-structure.adoc @@ -0,0 +1,1615 @@ += Model structure + +:home-path: ../.. +:imagesdir: {home-path}/_images +:includedir: {home-path}/_images + +== Table of content + +[plantuml] +---- +legend +Root +|_ Grp_Vehicle_Part__ + |_ Grp_Exterior_ + |_ Grp_Exterior_Static_ + |_ Grp_Exterior_Dynamic_ + |_ Grp_Wheel___ + |_ Grp_Wheel_Steering___ + |_ Grp_Wheel_Steering_Rotating___ + |_ Grp_Door_Front__ + |_ Grp_Door_Left__ + |_ Grp_Door_Right__ + |_ Grp_Door_Rear__ + |_ Grp_Door_Top__ + |_ Grp_Door_Bottom__ + |_ Grp_Light_Day_Left__ + |_ Grp_Light_Day_Right__ + |_ Grp_Light_Low_Beam_Left__ + |_ Grp_Light_Low_Beam_Right__ + |_ Grp_Light_High_Beam_Left__ + |_ Grp_Light_High_Beam_Right__ + |_ Grp_Light_Corner_Left__ + |_ Grp_Light_Corner_Right__ + |_ Grp_Light_Position_Left__ + |_ Grp_Light_Position_Right__ + |_ Grp_Light_Park_Left__ + |_ Grp_Light_Park_Right__ + |_ Grp_Light_Indicator_Left__ + |_ Grp_Light_Indicator_Right__ + |_ Grp_Light_License_Plate__ + |_ Grp_Light_Tail_Left__ + |_ Grp_Light_Tail_Right__ + |_ Grp_Light_Brake_Left__ + |_ Grp_Light_Brake_Center__ + |_ Grp_Light_Brake_Right__ + |_ Grp_Light_Reverse_Left__ + |_ Grp_Light_Reverse_Right__ + |_ Grp_Light_Fog_Left__ + |_ Grp_Light_Fog_Right__ + |_ Grp_Light_Warning__ + |_ Grp_Mirror_Side_Mounting_Left__ + |_ Grp_Mirror_Side_View_Left__ + |_ Grp_Mirror_Side_Mounting_Right__ + |_ Grp_Mirror_Side_View_Right__ + |_ Grp_Mirror_Blindspot_Mounting__ + |_ Grp_Mirror_Blindspot_View__ + |_ Grp_License_Plate__ + |_ Grp_Convertible_Top_ + |_ Grp_Sensor__ + |_ Grp_Interior_ + |_ Grp_Interior_Static_ + |_ Grp_Interior_Dynamic_ + |_ Grp_Steering_Wheel_ + |_ Grp_Eyepoint__ + |_ Grp_Mirror_Rearview__Mounting_ + |_ Grp_Mirror_Rearview_View__ + |_ Grp_Seat__ +end legend +---- + +== Grp_Vehicle_Part__ + +A vehicle part is a large structure of the vehicle (part), that moves independently from other parts of the same vehicle. +This mainly applies to articulated vehicles, e.g. a front loader with a hinged axis or an articulated bus with a hinge in the middle. +When a vehicle part can be detached, like a trailer, it is to be treated as a separate object and not a vehicle part. + +Standard vehicles only have one part and no keyword. +Therefore, only one Grp_Vehicle_Part exists with the name `Grp_Vehicle_Part_0`. + +The `` must be added to all sub-nodes, as multiple nodes with the same name in different vehicle parts are not possible. +There cannot be a node `Grp_Exterior` in both `Grp_Vehicle_Part_0` and `Grp_Vehicle_Part_1`. + +NOTE: Define the origin of the vehicle (part) + +NOTE: Add description and examples for keywords + +NOTE: Add a figure visualizing e.g. a hinged bus to explain what vehicle parts are. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| ... + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + +== Grp_Exterior_ + +This group contains all elements of the exterior of the vehicle (part). + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + +== Grp_Exterior_Static_ + +This group contains all static elements of the exterior of the vehicle (part). +Static elements are geometry structures that have a fixed position and orientation relative to the origin on the vehicle (part) throughout a simulation. +They also do not change their state during the simulation, therefore lights are considered dynamic. + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + +== Grp_Exterior_Dynamic_ + +This group contains all dynamic elements of the exterior of the vehicle (part). +Dynamic elements are geometry structures which position and orientation relative to the origin on the vehicle (part) might change throughout a simulation. +They may also change their state during the simulation, therefore lights are considered dynamic. + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Wheel___ + +This group contains all geometries of one wheel assembly. +This may include tire, rim, brake caliper etc. + +The `` denotes the index of the axle the wheel is mounted to, counting from the front to the rear, starting with 0. +The `` denotes the index of the wheel on the specified axle, counting from right to left (in positive y direction), starting with 0. +Example: The wheel on the front left of a standard vehicle would be `Grp_Wheel_0_1`. + +Steering of the wheel is implemented by a rotation around the z-axis. +Wheel camber is defined by a rotation around the x-axis. +Suspension deflection is represented by a translation along the z-axis. +Zero rotation and and translation around all axles are defined in neutral load conditions. +In the 3D model, both caster and camber angles are neglected. + +image::Grp_Wheel.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the wheel + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Wheel_Steering___ + +This group contains all components of the wheel assembly, that follow the steering motion but not the rotation of the wheel, e.g. brake calipers. + +The indices are the same as in the parent group. + +This group typically does not move independently in the simulation as it moves with the parent transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the wheel + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Wheel_Steering_Rotating___ + +This group contains all components of the wheel assembly, that follow the steering motion as well as the rotation of the wheel, e.g. tire and rim. + +The indices are the same as in the parent group. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the wheel + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Door_Front__ + +The group contains all components of a door in the front of the vehicle (part). +This includes e.g. the engine cover. +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors in the front counting from right to left (in positive y direction), starting with 0. + +image::Grp_Door_Front.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Door_Left__ + +The group contains all components of a door on the left side of the vehicle (part). +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors on the left counting from front to rear, starting with 0. + +image::Grp_Door_Left[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Door_Right__ + +The group contains all components of a door on the right side of the vehicle (part). +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors on the right counting from front to rear, starting with 0. + +image::Grp_Door_Right[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Door_Rear__ + +The group contains all components of a door in the rear of the vehicle (part). +This includes e.g. the trunklid. +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors in the rear counting from right to left (in positive y direction), starting with 0. + +image::Grp_Door_Rear.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Door_Top__ + +The group contains all components of a door on the top of the vehicle (part). +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors on the top counting from front to rear, starting with 0. + +image::Grp_Door_Top.svg[, 1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing towards the door + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Door_Bottom__ + +The group contains all components of a door on the bottom of the vehicle (part). +This also includes the interior parts of the door, since they are moved as one unit. + +The `` is the index for all doors on the bottom counting from front to rear, starting with 0. + +NOTE: Add a figure with a hatch on the bottom. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Geometric center of the virtual hinge axis + +| *x-axis* +| Perpendicular to the z-axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Concentric and coaxial to the virtual hinge axis +|=== + + +== Grp_Light_Day_Left__ + +This group contains all parts of a daytime running light on the left side of the vehicle (part). + +The `` is the index for all daytime running lights on the left counting from right to left (in positive y direction), starting with 0. + +//NOTE: Add a figure. This figure might ba applicable to all lights on the front left. I don't think we have to distinguish in the figures between the different kinds of lights. +image::Grp_Light_Day_Left.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Day_Right__ + +This group contains all parts of a daytime running light on the right side of the vehicle (part). + +The `` is the index for all daytime running lights on the right counting from right to left (in positive y direction), starting with 0. + +//NOTE: Add a figure. This figure might be applicable to all lights on the front right. I don't think we have to distinguish in the figures between the different kinds of lights. +image::Grp_Light_Day_Right.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Low_Beam_Left__ + +This group contains all parts of a low beam light on the left side of the vehicle (part). + +The `` is the index for all low beam lights on the left counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Left.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Low_Beam_Right__ + +This group contains all parts of a low beam light on the right side of the vehicle (part). + +The `` is the index for all low beam lights on the right counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Right.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_High_Beam_Left__ + +This group contains all parts of a high beam light on the left side of the vehicle (part). + +The `` is the index for all high beam lights on the left counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Left.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_High_Beam_Right__ + +This group contains all parts of a high beam light on the right side of the vehicle (part). + +The `` is the index for all high beam lights on the right counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Right.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Corner_Left__ + +This group contains all parts of a corner light on the left side of the vehicle (part). +A corner light is a typically white light for lateral illumination in the direction of an intended turn or lane change. + +The `` is the index for all corner lights on the left counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Left.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission in neutral position + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Corner_Right__ + +This group contains all parts of a corner light on the right side of the vehicle (part). +A corner light is a typically white light for lateral illumination in the direction of an intended turn or lane change. + +The `` is the index for all corner lights on the right counting from right to left (in positive y direction), starting with 0. + +image::Grp_Light_Day_Right.svg[,1100] + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission in neutral position + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Position_Left__ + +This group contains all parts of a position light on the left side of the vehicle (part). +Position lights are typically smaller, low-intensity, orange lights. + +The `` is the index for all position lights on the left counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Position_Right__ + +This group contains all parts of a position light on the right side of the vehicle (part). +Position lights are typically smaller, low-intensity, orange lights. + +The `` is the index for all position lights on the right counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Park_Left__ + +This group contains all parts of a parking light on the left side of the vehicle (part). + +The `` is the index for all parking lights on the left counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Park_Right__ + +This group contains all parts of a parking light on the right side of the vehicle (part). + +The `` is the index for all parking lights on the right counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Indicator_Left__ + +This group contains all parts of an indicator light on the left side of the vehicle (part). + +The `` is the index for all indicator lights on the left counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Indicator_Right__ + +This group contains all parts of an indicator light on the left side of the vehicle (part). + +The `` is the index for all indicator lights on the right counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_License_Plate__ + +This group contains all parts of a license plate light of the vehicle (part). + +The `` is the index for all license plate lights counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure for the exemplary license plate light on the rear of the vehicle (part). + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Tail_Left__ + +This group contains all parts of a tail light on the left side of the vehicle (part). + +The `` is the index for all tail lights on the left counting from right to left (in positive y direction), starting with 0. + +NOTE: Add a figure. This figure might be applicable to all lights on the rear left. I don't think we have to distinguish in the figures between the different kinds of lights. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Tail_Right__ + +This group contains all parts of a tail light on the right side of the vehicle (part). + +The `` is the index for all tail lights on the right counting from right to left (in positive y direction), starting with 0. + +NOTE: Add a figure. This figure might be applicable to all lights on the rear right. I don't think we have to distinguish in the figures between the different kinds of lights. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Brake_Left__ + +This group contains all parts of a brake light on the left side of the vehicle (part). + +The `` is the index for all brake lights on the left counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Brake_Center__ + +This group contains all parts of a brake light in the center of the vehicle (part). + +The `` is the index for all brake lights in the center counting from right to left (in positive y direction), starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Brake_Right__ + +This group contains all parts of a brake light on the right side of the vehicle (part). + +The `` is the index for all brake lights on the right counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Reverse_Left__ + +This group contains all parts of a reverse light on the left side of the vehicle (part). + +The `` is the index for all reverse lights on the left counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Reverse_Right__ + +This group contains all parts of a reverse light on the right side of the vehicle (part). + +The `` is the index for all reverse lights on the right counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Fog_Left__ + +This group contains all parts of a fog light on the left side of the vehicle (part). + +The `` is the index for all fog lights on the left counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Fog_Right__ + +This group contains all parts of a fog light on the right side of the vehicle (part). + +The `` is the index for all fog lights on the right counting from right to left (in positive y direction), starting with 0. + +NOTE: Add figure from tail light. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, usually backwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Light_Warning__ + +This group contains all parts of a warning light of the vehicle (part). +Warning lights can be all kinds of emergency lights, hazard lights, etc. + +The `` is the index for all warning lights counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure on an exemplary rotating warning light on the roof the vehicle (part). + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the light element + +| *x-axis* +| Pointing towards the main light emission, or forwards for rotating lights + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Mirror_Side_Mounting_Left__ + +This group contains all parts of a mirror mounting on the left side of the vehicle (part). + +The `` is the index for all mirror mountings on the left counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Base of the mirror mounting + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Mirror_Side_View_Left__ + +This group contains all parts of a mirror without the housing on the left side of the vehicle (part). + +The `` is the index for all mirrors on the left counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the mirror surface + +| *x-axis* +| Pointing outwards from the front of the mirror + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards along the mirror face +|=== + + +== Grp_Mirror_Side_Mounting_Right__ + +This group contains all parts of a mirror mounting on the right side of the vehicle (part). + +The `` is the index for all mirror mountings on the right counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Base of the mirror mounting + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Mirror_Side_View_Right__ + +This group contains all parts of a mirror without the housing on the right side of the vehicle (part). + +The `` is the index for all mirrors on the right counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the mirror surface + +| *x-axis* +| Pointing outwards from the front of the mirror + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards along the mirror face +|=== + + +== Grp_Mirror_Blindspot_Mounting__ + +This group contains all parts of a blindspot mirror mounting of the vehicle (part). + +The `` is the index for all blindspot mountings counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Base of the mirror mounting + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Mirror_Blindspot_View__ + +This group contains all parts of a mirror without the housing of the vehicle (part). + +The `` is the index for all blindspot mirrors counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the mirror surface + +| *x-axis* +| Pointing outwards from the front of the mirror + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards along the mirror face +|=== + + +== Grp_License_Plate__ + +This group contains all parts of a license plate of the vehicle (part). + +The `` is the index for all license plates counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the plate + +| *x-axis* +| Pointing outwards from the front of the plate + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Convertible_Top_ + +This group contains all parts of a convertible top of the vehicle (part). + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Sensor__ + +This group contains all parts of a perception sensor of the vehicle (part). +The geometry of a sensor can alternatively be placed in the Grp_Exterior_Static. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the sensor + +| *x-axis* +| Pointing outwards from the sensor in the direction of its longitudinal axis + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing upwards in sensor coordinates +|=== + + +== Grp_Interior_ + +This group contains all elements of the interior of the vehicle (part). +The interior is separated form the exterior to enable disabling or exchanging it in the simulation. + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Interior_Static_ + +This group contains all static elements of the interior of the vehicle (part). +Static elements are geometry structures that have a fixed position and orientation relative to the origin on the vehicle (part) throughout a simulation. +They also do not change their state during the simulation, therefore lights are considered dynamic. + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Interior_Dynamic_ + +This group contains all dynamic elements of the exterior of the vehicle (part). +Dynamic elements are geometry structures which position and orientation relative to the origin on the vehicle (part) might change throughout a simulation. +They may also change their state during the simulation, therefore lights are considered dynamic. + +This group typically does not move in the simulation and therefore does not have its own transforms. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Origin of the vehicle (part) + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Steering_Wheel_ + +This group contains all elements of the steering wheel of the vehicle (part). + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the steering wheel + +| *x-axis* +| Collinear with the steering column, pointing towards the axis + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards in neutral position +|=== + + +== Grp_Eyepoint__ + +This group contains is an empty element containing the origin of an average passenger of the vehicle (part). + +The `` is the index for all eye points counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the eye view point + +| *x-axis* +| Collinear with the view direction + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards in neutral position +|=== + + +== Grp_Mirror_Rearview_Mounting__ + +This group contains all parts of a rearview mirror mounting of the vehicle (part). + +The `` is the index for all rearview mirrors mounting counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Base of the mirror mounting + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing forwards + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|=== + + +== Grp_Mirror_Rearview_View__ + +This group contains all parts of a rearview mirror without the housing. + +The `` is the index for all rearview mirrors counting from right to left (in positive y direction), and from the front to the rear, starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the mirror surface + +| *x-axis* +| Pointing outwards from the front of the mirror + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards along the mirror face +|=== + + +== Grp_Seat__ + +This group contains all parts of a seat of the vehicle (part). + +The seat position can be used for the placement of a human 3D model as a passenger. +Therefore, a bench is consists of multiple individual seats. + +The `` is the index for all seats counting from from the front to the rear and right to left (in positive y direction), starting with 0. + +NOTE: Add a figure. + +.
+[%header, cols="20, 80"] +|=== + +2+^|
+ +| *Origin* +| Center of the seat cushion. + +| *x-axis* +| Collinear with the vehicle longitudinal axis, pointing in the direction of the seat + +| *y-axis* +| Completes the right-handed coordinate system + +| *z-axis* +| Perpendicular to the x-axis, pointing vertically upwards +|===