-
Notifications
You must be signed in to change notification settings - Fork 12
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 0662590
Showing
176 changed files
with
11,461 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Sphinx build info version 1 | ||
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. | ||
config: e1b39df1e164151fde26803288e04875 | ||
tags: 645f666f9bcd5a90fca523b33c5a78b7 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Empty file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/configuration.rst | ||
|
||
.. _Configuration: | ||
|
||
Configuration | ||
============= | ||
|
||
.. automodule:: mink.configuration | ||
:members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,92 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/derivation.rst | ||
|
||
.. _derivations: | ||
|
||
*********** | ||
Derivations | ||
*********** | ||
|
||
.. list-table:: | ||
:header-rows: 1 | ||
|
||
* - Variable Name | ||
- Symbol | ||
* - Configuration | ||
- :math:`q` | ||
* - Configuration displacement | ||
- :math:`\Delta q` | ||
* - Integration timestep | ||
- :math:`dt` | ||
* - Velocity in tangent space | ||
- :math:`v = \frac{\Delta q}{dt}` | ||
* - Configuration limits | ||
- :math:`q_{\text{min}}, q_{\text{max}}` | ||
* - Maximum joint velocity magnitude | ||
- :math:`v_{\text{max}}` | ||
* - Identity matrix | ||
- :math:`I` | ||
|
||
------ | ||
Limits | ||
------ | ||
|
||
Configuration limit | ||
=================== | ||
|
||
Using a first-order Taylor expansion on the configuration, we can write the limit as: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
q_{\text{min}} &\leq q \oplus v \cdot dt \leq q_{\text{max}} \\ | ||
q_{\text{min}} &\leq q \oplus \Delta q \leq q_{\text{max}} \\ | ||
q_{\text{min}} &\ominus q \leq \Delta q \leq q_{\text{max}} \ominus q | ||
\end{aligned} | ||
Rewriting as :math:`G \Delta q \leq h`, we separate the inequalities: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
&+I \cdot \Delta q \leq q_{\text{max}} \ominus q \\ | ||
&-I \cdot \Delta q \leq q \ominus q_{\text{min}} | ||
\end{aligned} | ||
Stacking these inequalities, we define: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
G &= \begin{bmatrix} +I \\ -I \end{bmatrix}, \\ | ||
h &= \begin{bmatrix} q_{\text{max}} \ominus q \\ q \ominus q_{\text{min}} \end{bmatrix} | ||
\end{aligned} | ||
Velocity limit | ||
============== | ||
|
||
Given the maximum joint velocity magnitudes :math:`v_{\text{max}}`, the joint velocity limits can be expressed as: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
-v_{\text{max}} &\leq v \leq v_{\text{max}} \\ | ||
-v_{\text{max}} &\leq \frac{\Delta q}{dt} \leq v_{\text{max}} \\ | ||
-v_{\text{max}} \cdot dt &\leq \Delta q \leq v_{\text{max}} \cdot dt | ||
\end{aligned} | ||
Rewriting as :math:`G \Delta q \leq h`, we separate the inequalities: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
&+I \cdot \Delta q \leq v_{\text{max}} \cdot dt \\ | ||
&-I \cdot \Delta q \leq v_{\text{max}} \cdot dt | ||
\end{aligned} | ||
Stacking these inequalities, we define: | ||
|
||
.. math:: | ||
\begin{aligned} | ||
G \Delta q &\leq h \\ | ||
\begin{bmatrix} +I \\ -I \end{bmatrix} \Delta q &\leq \begin{bmatrix} v_{\text{max}} \cdot dt \\ v_{\text{max}} \cdot dt \end{bmatrix} | ||
\end{aligned} | ||
----- | ||
Tasks | ||
----- |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/index.rst | ||
|
||
.. title:: Table of Contents | ||
|
||
#### | ||
mink | ||
#### | ||
|
||
mink is a library for differential inverse kinematics in Python, based on the `MuJoCo <https://github.com/google-deepmind/mujoco>`_ physics engine. | ||
|
||
.. image:: https://github.com/kevinzakka/mink/blob/assets/banner.png?raw=true | ||
:alt: Banner for mink | ||
|
||
------------ | ||
Installation | ||
------------ | ||
|
||
You can install `mink` with `pip`: | ||
|
||
.. code:: bash | ||
pip install mink | ||
To include example dependencies: | ||
|
||
.. code:: bash | ||
pip install mink[examples] | ||
.. toctree:: | ||
:maxdepth: 1 | ||
|
||
configuration.rst | ||
lie.rst | ||
tasks.rst | ||
limits.rst | ||
inverse_kinematics.rst | ||
utilities.rst | ||
derivations.rst | ||
references.rst |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/inverse_kinematics.rst | ||
|
||
****************** | ||
Inverse kinematics | ||
****************** | ||
|
||
.. autofunction:: mink.solve_ik.solve_ik | ||
|
||
.. autofunction:: mink.solve_ik.build_ik |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/lie.rst | ||
|
||
*** | ||
Lie | ||
*** | ||
|
||
MuJoCo does not currently offer a native Lie group interface for rigid body transforms, though it | ||
does have a collection of functions for manipulating quaternions and rotation matrices. The goal | ||
of this library is to provide this unified interface. Whenever possible, the underlying | ||
lie operation leverages the corresponding MuJoCo function. For example, | ||
:py:meth:`~SO3.from_matrix` uses `mujoco.mju_mat2Quat` under the hood. | ||
|
||
This library is heavily ported from `jaxlie <https://github.com/brentyi/jaxlie>`__, | ||
swapping out JAX for Numpy and adding a few additional features. | ||
|
||
MatrixLieGroup | ||
============== | ||
|
||
.. autoclass:: mink.lie.base.MatrixLieGroup | ||
:members: | ||
|
||
SO3 | ||
=== | ||
|
||
.. autoclass:: mink.lie.so3.SO3 | ||
:show-inheritance: | ||
:inherited-members: | ||
:members: | ||
|
||
SE3 | ||
=== | ||
|
||
.. autoclass:: mink.lie.se3.SE3 | ||
:show-inheritance: | ||
:inherited-members: | ||
:members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/limits.rst | ||
|
||
.. _Limits: | ||
|
||
****** | ||
Limits | ||
****** | ||
|
||
Definition | ||
========== | ||
|
||
.. automodule:: mink.limits.limit | ||
:members: | ||
|
||
Configuration limits | ||
==================== | ||
|
||
.. automodule:: mink.limits.configuration_limit | ||
:members: | ||
|
||
Velocity limits | ||
=============== | ||
|
||
.. automodule:: mink.limits.velocity_limit | ||
:members: | ||
|
||
|
||
Collision avoidance limits | ||
========================== | ||
|
||
.. automodule:: mink.limits.collision_avoidance_limit | ||
:members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/references.rst | ||
|
||
********** | ||
References | ||
********** | ||
|
||
.. [FrameTaskJacobian] `Jacobian of a kinematic task and derivatives on manifolds <https://scaron.info/robotics/jacobian-of-a-kinematic-task-and-derivatives-on-manifolds.html>`_. S. Caron. 2023. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/tasks.rst | ||
|
||
.. _Tasks: | ||
|
||
***** | ||
Tasks | ||
***** | ||
|
||
.. automodule:: mink.tasks.task | ||
:members: | ||
|
||
Frame task | ||
========== | ||
|
||
.. automodule:: mink.tasks.frame_task | ||
:members: | ||
|
||
Relative frame task | ||
=================== | ||
|
||
.. automodule:: mink.tasks.relative_frame_task | ||
:members: | ||
|
||
Center of mass task | ||
=================== | ||
|
||
.. automodule:: mink.tasks.com_task | ||
:members: | ||
|
||
Posture task | ||
============ | ||
|
||
.. automodule:: mink.tasks.posture_task | ||
:members: | ||
|
||
Damping task | ||
============ | ||
|
||
.. automodule:: mink.tasks.damping_task | ||
:members: |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
:github_url: https://github.com/kevinzakka/mink/tree/main/doc/utilities.rst | ||
|
||
********* | ||
Utilities | ||
********* | ||
|
||
.. automodule:: mink.utils | ||
:members: |
Oops, something went wrong.