OpenHPS / POSO

A Generic Positioning System Ontology
MIT License
1 stars 0 forks source link

Orientations in POSO #2

Open HenryK15777 opened 2 months ago

HenryK15777 commented 2 months ago

Hello, thanks for providing the POSO. I want to use it for monitoring positions of a robot arm. I am relatively new to this field, so I hope my question isn't too basic. I figured out that for the orientation you provide the options to describe it as poso:EulerOrientation, poso:AxisAngleOrientation and poso:QuaternionOrientation. I didn´t found a specification for the EulerOrientation is it the classic z-x-z?Typically, Euler angles can be described in two main ways: Proper Euler angles (z-x-z, x-y-x, y-z-y, z-y-z, x-z-x, y-x-y) Tait–Bryan angles (x-y-z, y-z-x, z-x-y, x-z-y, z-y-x, y-x-z) The EulerOrientation in POSO is described using pitch, roll, and yaw values, which I usually associate with Tait-Bryan angles. Is there a way to specify which rotation axes are being used? Perhaps a separate object property "sequences of rotation axes" could indicate one of the twelve options listed above. Regarding the QuaternionOrientation, how do you expect it to be used? Specifically, how should the four values (w, x, y, z) be linked to the poso:QuaternionOrientation? I couldn't find object properties similar to pitch, roll, and yaw that link the values to the EulerOrientation. Thanks for your assistance Best Heinrich

Maximvdw commented 2 months ago

Hey,

You raise a good point in regards to the euler angles. There is an update pending to the ontology that adds the EulerOrder class with several individuals for the specific orders. I was planning to add some other features to the update, but I will force the update today.

As for quaternions; we envisioned the use of the same xAxisValue etc.. for x,y,z . as for W we envisioned the use of the scalar (http://purl.org/poso/scalar). We could think about using a different (equivalent) predicate for the components, seeing its not really an 'axis' that we are trying to represent.

Feel free to let me know if you have any recommendations

Best, Maxim

Maximvdw commented 2 months ago

the EulerOrder has been added along with individuals for the different orders. The update also adds the precession, nutation and spin predicates for proper euler angles. You can use the "order" predicate to specify this: https://poso.openhps.org/1.0/#order

Changes: https://github.com/OpenHPS/POSO/commit/f26708b683ab5da1c41321ac1d9c548de4767444

The latest version is pushed to purl and the documentation is also updated here: https://poso.openhps.org/1.0/#XYX

HenryK15777 commented 2 months ago

Thanks for the quick answer and the update. I haven't worked with proper Euler angles yet, but is there a reason why you didn't define the individuals: X-Z-X; Y-X-Y and Z-Y-Z?