asam-ev / OpenMATERIAL

3D model exchange format with physical material properties for virtual development, test and validation of automated driving.
Mozilla Public License 2.0
7 stars 0 forks source link

Vehicle reference coordinate system #8

Open LudwigFriedmann opened 2 months ago

LudwigFriedmann commented 2 months ago

Original author: @ClemensLinnhoff

In model_structure, the reference coordinate system of a vehicle is placed on the front axle with x facing backwards.

To my knowledge, the x-direction contradicts DIN ISO 8855, where it is specified as facing forward. Most of the defined sub-components also have the x-axis facing forward. In OSI the reference origin is typically located at the rear axle (see fig. 10). This coincides with the definition of the sensor coordinate frame here. Why is the vehicle reference frame not also located at the rear axle with the x-axis facing forward? Wouldn't that simplify coordinate transformations?

LudwigFriedmann commented 2 months ago

Hi @ClemensLinnhoff, in order to enable consistency with CAD data and other use-cases (e.g. VR/AR), the Reference Coordinate Frame representing the origin of the vehicle was placed and oriented based on the vehicles’ construction coordinate frame.

For sensor placement or simulation, the Sensor Coordinate Frame was introduced, matching the OSI reference origin.

I agree, for vehicle dynamics simulation, introduction of the DIN ISO 8855 reference frame would be beneficial.

And you're right, depending on the use case, coordinate transformations may be required.

But from a production perspective, it makes sense to keep the origin consistent with the source data and add appropriate transformations on a use-case-specific basis. This in turn enables the use of existing or emerging workflows from other domains.

What do you think?

LudwigFriedmann commented 2 months ago

Original author: @ClemensLinnhoff

If it is a standard in vehicle construction to place the reference frame that way, I understand where this is coming from. However, the main application field of OpenMaterial is simulation. So in my opinion, the main reference frame should reflect that and be located at a simulation typical position. It might confuse people coming from the simulation domain, if the reference is located at the front, facing backwards. I know, that there are several "simulation typical positions", but this one I have not seen before.

Furthermore, OSI unfortunately does not really make it easier, as in the ground truth, the object reference is located in the middle of the bounding box. Is this somehow covered in OpenMaterial, yet? Or do we need the middle of the bounding box as an additional coordinate frame in OpenMaterial?

LudwigFriedmann commented 2 months ago

Hi @ClemensLinnhoff , the proposed position and orientation of the construction coordinate frame is quite common in automotive engineering (and in aerospace engineering). However, I don't know of a corresponding standard. I'll definitely check DIN ISO 8855 on that topic.

I fully understand your arguments, but one goal of OpenMATERIAL is the creation of industry-wide databases for 3D models and materials. To achieve this goal, consistency with other use cases and production workflows must be ensured.

In the industrial context, 3D vehicle models used for VR/AR, simulation, digital twins, etc. are derived from CAD data. Thus, it makes sense to use the construction coordinate frame as reference frame and to introduce specific coordinate frames for the various use cases. This allows coordinate frames to be added subsequently.

You're right - the reference point of static and moving OSI objects resides at the center of the corresponding bounding-box. While the position may be easily calculated at simulation runtime, the orientation of this coordinate frame has to be defined during model creation. Therefore, this request definitely represents a requirement for the model structure.

LudwigFriedmann commented 2 months ago

Concrete proposal: Move reference coordinate frame to the center of the bounding box in order to achieve consistency with ASAM Open Simulation Interface and other 3D assets.

LudwigFriedmann commented 2 months ago

Original author: @ClemensLinnhoff

I recently saw an internal 3D model of another OEM, and while their reference coordinate system is also located in the center of the front axle, their definition of "front axle" is different. As a real front axle does not exist, in OpenMaterial, the y-axis is going through the center points of the front wheels, if I see this correctly. But in the case of the OEM model I saw, the y-axis is going through the actual steering linkage and not the wheel centers. Since "center of front axle" does not seem to be a clearly defined standard, I would urge even stronger to move the reference coordinate frame to the center of the bounding box.

LudwigFriedmann commented 2 months ago

Original author: @ClemensLinnhoff

I just realized another issue with the coordinate systems in the examples:

The coordinate origins of the wheels are not in the rotational center of the wheel. The x- and z- coordinates are slightly off. So if you use the model in a simulation and drive over a flat surface, the wheels wobble slightly. Could you fix this while fixing the center of bounding box origin? This is why I did not open up a new issue and but it here.

LudwigFriedmann commented 2 months ago

Hi @ClemensLinnhoff, from the orientation of the wheel coordinate frames, I can't explain this behavior. Corresponding axes are colinear to the global coordinate system (wheels undeflected). At most, I could check the geometry itself for orthogonality. Can you state the model and wheel at which you have observed the behavior?

LudwigFriedmann commented 2 months ago

Original author: @ClemensLinnhoff

I made a quick video just rotating a tire in blender. You can already see the wobble. ExampleVehicle_Wheel_Wobble.webm