Weight for Pose Tolerances - inverseKinematics
7 views (last 30 days)
Show older comments
I need clarification on what exactly the weights parameter does in the call to inverseKinematics. The following is the documentation, but it is not clear to me:
"Weight for pose tolerances, specified as a six-element vector. The first three elements correspond to the weights on the error in orientation for the desired pose. The last three elements correspond to the weights on the error in xyz position for the desired pose."
What does pose tolerance mean, and if I assign a weights, say, [0, 1, 1, 0, 1, 1, 0] what does it do for me?
2 Comments
Answers (1)
Karsh Tharyani
on 23 May 2024
Edited: Karsh Tharyani
on 23 May 2024
The inverse kinematics problem is formulated as a non-linear program in the Robotics Systems Toolbox. The objective function (to be minimized with argmin joint positions) is a weighted sum of square of errors between the end-effector pose (a weight is on each of the 6 degrees of freedom associated with a 3D pose) given joint positions and the desired end-effector pose.
When you specify a zero value for any of the weights, the error function ignores the cost/error in that dimension of the pose. For example, if it doesn't mattter to you that the solved joint configuration should result in an end-effector pose which matches the Z coordinate of the desired end-effector pose set the weights to [1,1,1,1,1,0].
The first three values of the weights are derived from an axis-angle representation of orientation. You can set those weights accordingly if you also want to ignore orientations in a particular plane, then.
I hope that helps!
Karsh
0 Comments
See Also
Categories
Find more on Robotics in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!