-
Notifications
You must be signed in to change notification settings - Fork 0
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
Orientations in POSO #2
Comments
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, |
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: The latest version is pushed to purl and the documentation is also updated here: |
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? |
Sorry for the late response - somehow the reply got lost. The main reason was the additional complexity in defining the order and values. I.e. if you specify a value for X, Y , Z - you can easily switch the order by indicating this. However, with X-Z-X for example, you have two values for X, which at the moment was (and is) not possible in POSO. |
I'm sorry, but I just don't understand this argument. The Euler order is defined by the properties pitch, yaw, roll, not by x-axis-value or similar, is it? Also, X-Y-X is already defined, so I don't see why X-Z-X shouldn't be there. |
XZX would in this case mean that the rotation first happens on the X axis, then Z, then X again. But what defines that the first step is a roll and the third step is a pitch? Because the X rotation could be considered 2x roll. In general; according to ISO 9787:2013; Roll is a rotation around the X axis, Pitch around the Y axis and yaw around the Z-axis. Reusing these for different orders is possible as long as both X,Y,Z are used (i.e., for YZX it would mean you first do a pitch, then a yaw rotation and end with a roll). But if you have rotations around the same axis - it would be confusing to repurpose these terms because XZX would mean you first do a roll, then a yaw rotation and then a roll again (but possibly with a different value than the first roll). This is a possible solution to your issue that we can implement in POSO:
|
Ok, I wasn't aware that ISO 9787:2013 assigns roll, pitch and yaw to the axis. I thought they were assigned to the first, second and third rotation. In this case I think the second solution is the more elegant one. Perhaps it would be helpful if you could add to the description of yaw, pitch, roll that they're assigned to rotations around the z, y, x axes. For example, the description of pitch might be: "According to ISO 9787:2013, pitch is the rotation about the Y axis with respect to the object to which the pitch applies." Thank you for the helpful discussion and the support on this topic. |
It seems indeed a good idea to properly document the use of the pitch roll and yaw usage. I will investigate an elegant solution to the list representation of rotations, most likely using PS: Here is some additional information https://www.mathworks.com/help/driving/ug/coordinate-systems.html#bvhvcje as well as some usage in other standards (https://www.iso.org/obp/ui/#iso:std:iso:8855:ed-2:v1:en - section 5.2) |
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
The text was updated successfully, but these errors were encountered: