Skip to main content

ikfast_pybind is a python binding generation library for the analytic kinematics engine ikfast.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.2 MB view details)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

File details

Details for the file ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2b69183574b57b1ce3aca3d5aa659411ce499c0e41b95979ad98db57bd49b289
MD5 9b763fc83369b0760df07e23a17860bc
BLAKE2b-256 5eacd64e84b9616d41ee54cba502c8ae79ef92372ae9e939f52a629a1babb4c6

See more details on using hashes here.

File details

Details for the file ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4d744edb73756c14bc00b51e35b73ef8cf3590f239e8281aec4258f7dc1f9baa
MD5 2fd87d2b360bcefa64396eb2b74a3c54
BLAKE2b-256 30c27a5be6d6784cf0c197a2baadcf0c16ae65b9c11de900c036ccd8598b4e89

See more details on using hashes here.

File details

Details for the file ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 fa6036a92422083cd314a27f67847bdb079bb13e0f6a6445af03a063eacf842a
MD5 304318f57f4f231fa5f22bbb9024c7b9
BLAKE2b-256 b188ffb9865639b4548388acd6078004fa72a2463be5e666d907d4eb769d4cc6

See more details on using hashes here.

File details

Details for the file ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f483dfc51011609e397e1e031116ccdad14d455624c68aedd933e6a3d84c76ce
MD5 020f88b8e356e09d7710eda89867b717
BLAKE2b-256 3f7e0e18c97eb893f1aabadcc022d94d8ae069916a8febeb1a3960f9002b94de

See more details on using hashes here.

File details

Details for the file ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c2a44525752a8418901413e226cd352e47d8e940c1d2b8210c1cbb898ade1a3b
MD5 47c785a376f6512067f654df667bfcfb
BLAKE2b-256 82e22c26de556cc6dc9770baf05a2dc568b2f17f8ec601b77e7e22703f133618

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page