-
Notifications
You must be signed in to change notification settings - Fork 128
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
Support differentiable forward kinematics with n-dof
joints
#473
Comments
Hi is there any update on this? Ive been trying to use this to solve an IK problem for a human kinematic chain with lots of 2-dof and 3-dof joints (total is aroud 125). Ive got it to work using autodiff but its painfully slow, uses a lot of memory, and gradient doesnt flow back to the outer optimization loop. Since you've also made the analytical backwards propagation I was wondering if youre looking to add that to more than 1-dof as well? |
@juulie thanks for your interest! We currently haven't scoped to work on these features. However, @fantaosha may be able to give some pointers if you wanted to give it a try yourself and can share relevant parts of your current implementation -- we welcome community contributions! |
Awesome! To elaborate on my problem: My neural model works on animated 3d markers that act as constraints on a human kinematic model. I want to use the Levenberg Marquardt optimizer to optimize the following error function:
fk_dof takes the dof_input tensor and uses a mapping to map each single dof_input entry to its correct local transformation and composes them. It then goes down the kinematic chain: For each joint it takes its parent global_transforms, applies the pre_translation and pre_rotation, and then the local SE3 transforms, in the right order. I feel like a custom backwards function could significantly improve the performance, especially since my human model has 123 dof. Its just that my knowledge on Lie algebra is lacking. Some more notes: |
🚀 Feature
Motivation
Pitch
Alternatives
Additional context
The text was updated successfully, but these errors were encountered: