Derivative of Jacobian #138
-
Hello! However, I'm unable to find either of these matrices as symbolic functions within the documentation. If someone is aware of what either of these functions are, it would be very helpful. Alternatively, if someone knows how to differentiate the Jacobian matrix without worrying about the exact definition, it would also serve the same purpose. Thanks for your time :)
|
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
Hello, The forward kinematics and jacobian are generated procedurally and numerically within the API, and so we do not have a symbolic function for either of these that we can expose. However, you should be able to numerically differentiate the Jacobian matrix or double-differentiate the forward kinematics. In these cases, you can perturb with a small joint angle perturbation dTheta around the current angle position, and use the resulting matrices to generate your numerical derivative. For example: dJ(theta)/dTheta = (J(theta + dTheta) - J(theta)) / dTheta Depending on your requirements, you can make this derivative unbiased by centering your Jacobian computations around theta instead of only adding to one side, which can make this more accurate. You can also numerically double-differentiate the forward kinematics directly by evaluating at theta, theta+dTheta, and theta-dTheta. If it would help, we can provide some pseudocode for numerical differentiation of these matrices here as well. Best,
|
Beta Was this translation helpful? Give feedback.
-
Hello Matt! Thanks for your insight. This makes a lot of sense and seems like the best way to go forward. If you have some pseudocode for this available, I would be most grateful. Thanks again,
|
Beta Was this translation helpful? Give feedback.
Hello,
The forward kinematics and jacobian are generated procedurally and numerically within the API, and so we do not have a symbolic function for either of these that we can expose. However, you should be able to numerically differentiate the Jacobian matrix or double-differentiate the forward kinematics. In these cases, you can perturb with a small joint angle perturbation dTheta around the current angle position, and use the resulting matrices to generate your numerical derivative. For example:
dJ(theta)/dTheta = (J(theta + dTheta) - J(theta)) / dTheta
Depending on your requirements, you can make this derivative unbiased by centering your Jacobian computations around theta instead of …