├── .github └── workflows │ ├── docs.yml │ ├── formatting.yaml │ ├── pyright.yml │ └── pytest.yml ├── .gitignore ├── LICENSE ├── README.md ├── benchmark └── ik_benchmark.py ├── docs ├── Makefile ├── README.md ├── requirements.txt ├── source │ ├── _static │ │ ├── basic_ik.mov │ │ ├── css │ │ │ └── custom.css │ │ ├── logo.svg │ │ └── logo_dark.svg │ ├── _templates │ │ └── sidebar │ │ │ └── brand.html │ ├── conf.py │ ├── examples │ │ ├── 01_basic_ik.rst │ │ ├── 02_bimanual_ik.rst │ │ ├── 03_mobile_ik.rst │ │ ├── 04_ik_with_coll.rst │ │ ├── 05_ik_with_manipulability.rst │ │ ├── 06_online_planning.rst │ │ ├── 07_trajopt.rst │ │ ├── 08_ik_with_mimic_joints.rst │ │ ├── 09_hand_retargeting.rst │ │ ├── 10_humanoid_retargeting.rst │ │ ├── 11_hand_retargeting_fancy.rst │ │ └── 12_humanoid_retargeting_fancy.rst │ ├── index.rst │ └── misc │ │ └── writing_manual_jac.rst └── update_example_docs.py ├── examples ├── 01_basic_ik.py ├── 02_bimanual_ik.py ├── 03_mobile_ik.py ├── 04_ik_with_coll.py ├── 05_ik_with_manipulability.py ├── 06_online_planning.py ├── 07_trajopt.py ├── 08_ik_with_mimic_joints.py ├── 09_hand_retargeting.py ├── 10_humanoid_retargeting.py ├── 11_hand_retargeting_fancy.py ├── 12_humanoid_retargeting_fancy.py ├── pyroki_snippets │ ├── __init__.py │ ├── _online_planning.py │ ├── _solve_ik.py │ ├── _solve_ik_with_base.py │ ├── _solve_ik_with_collision.py │ ├── _solve_ik_with_manipulability.py │ ├── _solve_ik_with_multiple_targets.py │ └── _trajopt.py └── retarget_helpers │ ├── _utils.py │ ├── hand │ ├── dexycb_motion.pkl │ └── shadowhand_urdf.zip │ └── humanoid │ ├── heightmap.npy │ ├── left_foot_contact.npy │ ├── right_foot_contact.npy │ └── smpl_keypoints.npy ├── pyproject.toml └── src └── pyroki ├── __init__.py ├── _robot.py ├── _robot_urdf_parser.py ├── collision ├── __init__.py ├── _collision.py ├── _geometry.py ├── _geometry_pairs.py ├── _robot_collision.py └── _utils.py ├── costs ├── __init__.py ├── _costs.py ├── _pose_cost_analytic_jac.py └── _pose_cost_numerical_jac.py ├── utils.py └── viewer ├── __init__.py ├── _batched_urdf.py ├── _manipulability_ellipse.py └── _weight_tuner.py /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/formatting.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/.github/workflows/formatting.yaml -------------------------------------------------------------------------------- /.github/workflows/pyright.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/.github/workflows/pyright.yml -------------------------------------------------------------------------------- /.github/workflows/pytest.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/.github/workflows/pytest.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/README.md -------------------------------------------------------------------------------- /benchmark/ik_benchmark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/benchmark/ik_benchmark.py -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/README.md -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/source/_static/basic_ik.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/_static/basic_ik.mov -------------------------------------------------------------------------------- /docs/source/_static/css/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/_static/css/custom.css -------------------------------------------------------------------------------- /docs/source/_static/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/_static/logo.svg -------------------------------------------------------------------------------- /docs/source/_static/logo_dark.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/_static/logo_dark.svg -------------------------------------------------------------------------------- /docs/source/_templates/sidebar/brand.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/_templates/sidebar/brand.html -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/conf.py -------------------------------------------------------------------------------- /docs/source/examples/01_basic_ik.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/01_basic_ik.rst -------------------------------------------------------------------------------- /docs/source/examples/02_bimanual_ik.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/02_bimanual_ik.rst -------------------------------------------------------------------------------- /docs/source/examples/03_mobile_ik.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/03_mobile_ik.rst -------------------------------------------------------------------------------- /docs/source/examples/04_ik_with_coll.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/04_ik_with_coll.rst -------------------------------------------------------------------------------- /docs/source/examples/05_ik_with_manipulability.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/05_ik_with_manipulability.rst -------------------------------------------------------------------------------- /docs/source/examples/06_online_planning.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/06_online_planning.rst -------------------------------------------------------------------------------- /docs/source/examples/07_trajopt.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/07_trajopt.rst -------------------------------------------------------------------------------- /docs/source/examples/08_ik_with_mimic_joints.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/08_ik_with_mimic_joints.rst -------------------------------------------------------------------------------- /docs/source/examples/09_hand_retargeting.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/09_hand_retargeting.rst -------------------------------------------------------------------------------- /docs/source/examples/10_humanoid_retargeting.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/10_humanoid_retargeting.rst -------------------------------------------------------------------------------- /docs/source/examples/11_hand_retargeting_fancy.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/11_hand_retargeting_fancy.rst -------------------------------------------------------------------------------- /docs/source/examples/12_humanoid_retargeting_fancy.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/examples/12_humanoid_retargeting_fancy.rst -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/index.rst -------------------------------------------------------------------------------- /docs/source/misc/writing_manual_jac.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/source/misc/writing_manual_jac.rst -------------------------------------------------------------------------------- /docs/update_example_docs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/docs/update_example_docs.py -------------------------------------------------------------------------------- /examples/01_basic_ik.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/01_basic_ik.py -------------------------------------------------------------------------------- /examples/02_bimanual_ik.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/02_bimanual_ik.py -------------------------------------------------------------------------------- /examples/03_mobile_ik.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/03_mobile_ik.py -------------------------------------------------------------------------------- /examples/04_ik_with_coll.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/04_ik_with_coll.py -------------------------------------------------------------------------------- /examples/05_ik_with_manipulability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/05_ik_with_manipulability.py -------------------------------------------------------------------------------- /examples/06_online_planning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/06_online_planning.py -------------------------------------------------------------------------------- /examples/07_trajopt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/07_trajopt.py -------------------------------------------------------------------------------- /examples/08_ik_with_mimic_joints.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/08_ik_with_mimic_joints.py -------------------------------------------------------------------------------- /examples/09_hand_retargeting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/09_hand_retargeting.py -------------------------------------------------------------------------------- /examples/10_humanoid_retargeting.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/10_humanoid_retargeting.py -------------------------------------------------------------------------------- /examples/11_hand_retargeting_fancy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/11_hand_retargeting_fancy.py -------------------------------------------------------------------------------- /examples/12_humanoid_retargeting_fancy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/12_humanoid_retargeting_fancy.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/__init__.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_online_planning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_online_planning.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_solve_ik.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_solve_ik.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_solve_ik_with_base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_solve_ik_with_base.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_solve_ik_with_collision.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_solve_ik_with_collision.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_solve_ik_with_manipulability.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_solve_ik_with_manipulability.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_solve_ik_with_multiple_targets.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_solve_ik_with_multiple_targets.py -------------------------------------------------------------------------------- /examples/pyroki_snippets/_trajopt.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/pyroki_snippets/_trajopt.py -------------------------------------------------------------------------------- /examples/retarget_helpers/_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/_utils.py -------------------------------------------------------------------------------- /examples/retarget_helpers/hand/dexycb_motion.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/hand/dexycb_motion.pkl -------------------------------------------------------------------------------- /examples/retarget_helpers/hand/shadowhand_urdf.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/hand/shadowhand_urdf.zip -------------------------------------------------------------------------------- /examples/retarget_helpers/humanoid/heightmap.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/humanoid/heightmap.npy -------------------------------------------------------------------------------- /examples/retarget_helpers/humanoid/left_foot_contact.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/humanoid/left_foot_contact.npy -------------------------------------------------------------------------------- /examples/retarget_helpers/humanoid/right_foot_contact.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/humanoid/right_foot_contact.npy -------------------------------------------------------------------------------- /examples/retarget_helpers/humanoid/smpl_keypoints.npy: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/examples/retarget_helpers/humanoid/smpl_keypoints.npy -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/pyproject.toml -------------------------------------------------------------------------------- /src/pyroki/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/__init__.py -------------------------------------------------------------------------------- /src/pyroki/_robot.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/_robot.py -------------------------------------------------------------------------------- /src/pyroki/_robot_urdf_parser.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/_robot_urdf_parser.py -------------------------------------------------------------------------------- /src/pyroki/collision/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/__init__.py -------------------------------------------------------------------------------- /src/pyroki/collision/_collision.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/_collision.py -------------------------------------------------------------------------------- /src/pyroki/collision/_geometry.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/_geometry.py -------------------------------------------------------------------------------- /src/pyroki/collision/_geometry_pairs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/_geometry_pairs.py -------------------------------------------------------------------------------- /src/pyroki/collision/_robot_collision.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/_robot_collision.py -------------------------------------------------------------------------------- /src/pyroki/collision/_utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/collision/_utils.py -------------------------------------------------------------------------------- /src/pyroki/costs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/costs/__init__.py -------------------------------------------------------------------------------- /src/pyroki/costs/_costs.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/costs/_costs.py -------------------------------------------------------------------------------- /src/pyroki/costs/_pose_cost_analytic_jac.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/costs/_pose_cost_analytic_jac.py -------------------------------------------------------------------------------- /src/pyroki/costs/_pose_cost_numerical_jac.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/costs/_pose_cost_numerical_jac.py -------------------------------------------------------------------------------- /src/pyroki/utils.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/utils.py -------------------------------------------------------------------------------- /src/pyroki/viewer/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/viewer/__init__.py -------------------------------------------------------------------------------- /src/pyroki/viewer/_batched_urdf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/viewer/_batched_urdf.py -------------------------------------------------------------------------------- /src/pyroki/viewer/_manipulability_ellipse.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/viewer/_manipulability_ellipse.py -------------------------------------------------------------------------------- /src/pyroki/viewer/_weight_tuner.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/chungmin99/pyroki/HEAD/src/pyroki/viewer/_weight_tuner.py --------------------------------------------------------------------------------