Skip to content
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

Add integrate and differentiate methods in JointModel #104

Closed
jcarpent opened this issue Feb 16, 2016 · 4 comments
Closed

Add integrate and differentiate methods in JointModel #104

jcarpent opened this issue Feb 16, 2016 · 4 comments

Comments

@jcarpent
Copy link
Contributor

No description provided.

@jcarpent
Copy link
Contributor Author

jcarpent commented Mar 3, 2016

Add also random method for each joint

@jmirabel
Copy link
Contributor

jmirabel commented Mar 3, 2016

For the differentiate method of SO3 joints, a convention must be chosen. This convention relates to what is being modelled: the rotation group or the unit quaternions group. Each rotation is mapped to 2 quaternions.
Thus, the "difference" between two quaternions a and b can be:

  • either the angle axis between a and b (the quaternion representation)
  • or the angle axis that has the shortest angle, between a and b or between a and -b (the rotation representation)

In HPP, we use the rotation representation. This has several implications. The one I can think of now are:

  • Equality check: a and -a must be considered as the same rotation for the whole software => two configurations q1 and q2 can be equal even if q1.isApprox (q2) is false.
  • Difference and distance: use the angle axis that has the shortest angle

See https://github.com/jmirabel/hpp-model/blob/devel/src/joint-configuration.cc#L243

@jcarpent
Copy link
Contributor Author

jcarpent commented Mar 4, 2016

The second proposition is the rational one. Because, we are working on base orientation, which can be handled by many representations:

  • rotation matrix (unique representation)
  • quaternion, with a non-infectivity (a and -a leads to the same orientation)
  • Euler angles (with a lot of drawbacks - singularities)

@fvalenza
Copy link
Contributor

fvalenza commented Apr 1, 2016

Solved with #141

@fvalenza fvalenza closed this as completed Apr 1, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants