I am working on a problem which needs to insert interpolation poses between initial SE3 and final SE3 with respect to time knots.
The issue is how to interpolate the middle poses for two rotation matrices.
I am wondering if there is a library to do that in Pinocchio? such as spherical linear interpolation (SLERP)?
You can use directly the following example: https://github.com/stack-of-tasks/pinocchio/blob/master/examples/interpolation-SE3.cpp
I am using python library. How can I expose this API to python
As far as I know, it isn't bound.
how to bind that API with python?
I confirm it is not bound. There is a specific issue on it, but we closed it because we did not plan to work on it https://github.com/stack-of-tasks/pinocchio/issues/977, it can be found in the Python bindings project.
@ddliugit if you want to make the bindings you can take inspiration from the existing ones (https://github.com/stack-of-tasks/pinocchio/tree/master/bindings/python). We would all be very grateful if you made this addition to Pinocchio! But I warn you it requires a considerable level of expertise and it is no easy task for a newcomer
Thanks.
Converting to python is difficult and I will try to do that if I am available.
Anyway, @ddliugit for your specific problem, you can workaround the issue by using something like
M = a * exp6( u * log6(a.inverse()*b))
where a and b are your SE3 objects, and u is in [0,1].
Thanks!
That's a good idea. I will try that!
Most helpful comment
Anyway, @ddliugit for your specific problem, you can workaround the issue by using something like
where a and b are your SE3 objects, and u is in [0,1].