OpenSimulationInterface / open-simulation-interface

A generic interface for the environmental perception of automated driving functions in virtual scenarios.
Other
267 stars 125 forks source link

Pedestrian Attributes Hip vs. Root #772

Open ClemensLinnhoff opened 6 months ago

ClemensLinnhoff commented 6 months ago

Describe the problem

In the definition of the Bones in PedestrianAttributes there is a bone type TYPE_ROOT. Its position relative to the moving object base position, i.e. center of the bounding box, is given by bbcenter_to_root.

However, in the hierarchy image of the bones there is no root bone listed. And in the skeleton image, the root (O_Ref?) is in the same position as the hip.

So what exactly is the difference between root and hip?

This might be related to https://github.com/LudwigFriedmann/OpenMATERIAL/issues/50

@Peintnerer could you maybe shed some light on this?

Peintnerer commented 6 months ago

We defined the "root-bone" as the reference for the entire skeleton model of the pedestrian. So, to know were the reference point of the skeleton is in relation to the bounding box. This additional root point is derived from how rigs are defined in most 3D applications. Usually, the root point coincides with the hip, but not always; Thus we defined it separately. It's true that it is missing in the hierarchy image, maybe it would make sense to change this for clarity.

ClemensLinnhoff commented 6 months ago

But is the root bone an actual bone of the skeleton? Or is it rather a vector from an arbitrary reference point to the hip? I am still not sure I understand the function of this root bone. If it is not a real bone of the skeleton, why not just point from the center of the bounding box to the hip with a bbcenter_to_hip vector?

You say "Usually, the root point coincides with the hip, but not always" What would be the use-case of not putting the root at the hip?

How does this definition fit to the OpenMATERIAL pedestrian?

LudwigFriedmann commented 6 months ago

Hi @ClemensLinnhoff, the root bone acts as transform for the skeleton. The bone is 0-dimensional, so it should have length 0.. Nevertheless, it has a special meaning for skeletal animation as a key handling point. Therefore, we introduced the reference coordinate frame (situated in the center of the bounding box) in OpenMATERIAL. As you have correctly recognized, the origin of the reference system and the position of the hip bone do not necessarily coincide.

LudwigFriedmann commented 6 months ago

https://github.com/LudwigFriedmann/OpenMATERIAL/issues/50 was transfered to https://github.com/asam-ev/OpenMATERIAL/issues/1