motrixsim.ik#
Classes:
|
Use gauss newton iterative method to solve inverse kinematics problem. |
|
Represents a kinematic chain for inverse kinematics (IK) solving. |
- class motrixsim.ik.GaussNewtonSolver(max_iter=100, step_size=0.5, tolerance=0.001)#
基类:
objectUse gauss newton iterative method to solve inverse kinematics problem.
- 参数:
max_iter (int) -- Maximum number of iterations (default: 100).
step_size (float) -- Step size for each iteration (default: 0.5).
tolerance (float) -- Tolerance for convergence (default: 1e-3).
Methods:
solve(ik_model, data, target_pose)Solve the IK problem for the given chain and target pose.
- solve(ik_model, data, target_pose)#
Solve the IK problem for the given chain and target pose.
- 参数:
- 返回:
A numpy array with shape (data.shape, ik_model.num_dof_pos + 2,). For each row, the first element is the number of iterations used, the second element is the final residual, and the remaining elements are the solved DOF positions.
- class motrixsim.ik.IkChain(model, end_link, start_link=None, end_effector_offset=None)#
基类:
objectRepresents a kinematic chain for inverse kinematics (IK) solving.
- 参数:
model (SceneModel) -- The scene model containing the kinematic structure.
end_link (str) -- The name of the end link of the IK chain.
start_link (Optional[str]) -- The name of the start link of the IK chain. If not provided, the root link will be used.
end_effector_offset (Optional[ndarray]) -- A 7-element array representing the end-effector offset as a pose (x, y, z, i, j, k, w) in end link's local space. If not provided, no offset will be applied.
- 抛出:
RuntimeError -- If the IK chain contains unsupported joint types. (Currently only hinge and slider are supported.)