Skip to main content

ikfast_pybind

Travis CI License MIT PyPI - Python Version PyPI - Latest Release

ikfast_pybind is a python binding generation library for the analytic kinematics engine IKfast. The python bindings are generated via pybind11 a CMake-based build system.

Note: You need the ikfast .h and .cpp ready to generate the python bindings. This URDF-to-cpp generation part needs to be done with openrave and IS NOT done by this repo, please see this tutorial for details.

The assembly sequence and motion planning framework pychoreo relies on this library to generate compatible IK modules for robots across brands, scales, and dofs.

Prerequisites

ikfast_pybind depends on the following dependencies, which come from pybind11 for building the python bindings.

On Unix (Linux, OS X)

  • A compiler with C++11 support

  • CMake >= 2.8.12

On Windows

  • Visual Studio 2015 (required for all Python versions, see notes below)

  • CMake >= 3.1

It is recommended (especially for Windows users) to test the environment with the cmake_example for pybind11 before proceeding to build conmech.

Installation

git clone --recursive https://github.com/yijiangh/ikfast_pybind
cd ikfast_pybind
pip install .
# try with '--user' if you encountered a sudo problem

For developers:

git clone --recursive https://github.com/yijiangh/ikfast_pybind
cd ikfast_pybind
python setup.py sdist
pip install --verbose dist/*.tar.gz

With the setup.py file included in the base folder, the pip install command will invoke CMake and build the pybind11 module as specified in CMakeLists.txt.

References

Citation

If you find IKFast useful, please cite OpenRave:

@phdthesis{diankov_thesis,
  author = "Rosen Diankov",
  title = "Automated Construction of Robotic Manipulation Programs",
  school = "Carnegie Mellon University, Robotics Institute",
  month = "August",
  year = "2010",
  number= "CMU-RI-TR-10-29",
  url={http://www.programmingvision.com/rosen_diankov_thesis.pdf},
}

0.1.1

Added - Added support for kawasaki_rs010n robot

Changed - Reorganize test files to having a test file for each robot type.

Updated - pybind11 set to track master, commit e08a58111, which should fix pip installation issue.

0.1.0

Available robots - kuka_kr6_r900 (tested) - ur3 - ur5 - abb_irb4600_40_255 - franka_panda (tested) - eth_rfl (tested)

Added Modules for franka_panda, eth_rfl robots.

Add ifkast modules for ur5, kuka_kr6_r900, abb_irb4600. abb_irb4600 test fails some time randomly - need to regenerate its IKfast cpp files (might be the floating point truncation issue).

Include the upstreamed ur_kinematics commit 6734142 July 2 2019 but it seems that the old one works more stably… I will do more tests on this.

Metadata

Release files for ikfast-pybind-tmp 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for ikfast-pybind-tmp 0.1.2
File
ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.17+ x86-64 Details
ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.17+ x86-64 Details
ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.9 CPython 3.9 Linux glibc 2.17+ x86-64 Details
ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.17+ x86-64 Details
ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64 Details

Total release size: 6.0 MB

Release files / ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
2b69183574b57b1ce3aca3d5aa659411ce499c0e41b95979ad98db57bd49b289
BLAKE2b-256 checksum
How to use checksums
5eacd64e84b9616d41ee54cba502c8ae79ef92372ae9e939f52a629a1babb4c6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.4

Release files / ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.10 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
4d744edb73756c14bc00b51e35b73ef8cf3590f239e8281aec4258f7dc1f9baa
BLAKE2b-256 checksum
How to use checksums
30c27a5be6d6784cf0c197a2baadcf0c16ae65b9c11de900c036ccd8598b4e89
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.4

Release files / ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.9 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
fa6036a92422083cd314a27f67847bdb079bb13e0f6a6445af03a063eacf842a
BLAKE2b-256 checksum
How to use checksums
b188ffb9865639b4548388acd6078004fa72a2463be5e666d907d4eb769d4cc6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.4

Release files / ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
f483dfc51011609e397e1e031116ccdad14d455624c68aedd933e6a3d84c76ce
BLAKE2b-256 checksum
How to use checksums
3f7e0e18c97eb893f1aabadcc022d94d8ae069916a8febeb1a3960f9002b94de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.4

Release files / ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.2 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
c2a44525752a8418901413e226cd352e47d8e940c1d2b8210c1cbb898ade1a3b
BLAKE2b-256 checksum
How to use checksums
82e22c26de556cc6dc9770baf05a2dc568b2f17f8ec601b77e7e22703f133618
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.4

Release history Release notifications | RSS feed

This release

0.1.2 This release

5 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page