Inverse kinematics
- mink.solve_ik.solve_ik(configuration: Configuration, tasks: Sequence[Task], dt: float, solver: str, damping: float = 1e-12, safety_break: bool = False, limits: Sequence[Limit] | None = None, **kwargs) ndarray
Solve the differential inverse kinematics problem.
Computes a velocity tangent to the current robot configuration. The computed velocity satisfies at (weighted) best the set of provided kinematic tasks.
- Parameters:
configuration (Configuration) – Robot configuration.
tasks (Sequence[Task]) – List of kinematic tasks.
dt (float) – Integration timestep in [s].
solver (str) – Backend quadratic programming (QP) solver.
damping (float) – Levenberg-Marquardt damping.
safety_break (bool) – If True, stop execution and raise an exception if the current configuration is outside limits. If False, print a warning and continue execution.
limits (Sequence[Limit] | None) – List of limits to enforce. Set to empty list to disable. If None, defaults to a configuration limit.
kwargs – Keyword arguments to forward to the backend QP solver.
- Returns:
Velocity v in tangent space.
- Return type:
ndarray
- mink.solve_ik.build_ik(configuration: Configuration, tasks: Sequence[Task], dt: float, damping: float = 1e-12, limits: Sequence[Limit] | None = None) Problem
Build quadratic program from current configuration and tasks.
- Parameters:
configuration (Configuration) – Robot configuration.
tasks (Sequence[Task]) – List of kinematic tasks.
dt (float) – Integration timestep in [s].
damping (float) – Levenberg-Marquardt damping.
limits (Sequence[Limit] | None) – List of limits to enforce. Set to empty list to disable. If None, defaults to a configuration limit.
- Returns:
Quadratic program of the inverse kinematics problem.
- Return type:
Problem