==============
ikfast_pybind
==============
.. start-badges
.. image:: https://travis-ci.com/yijiangh/ikfast_pybind.svg?branch=master
:target: https://travis-ci.com/yijiangh/ikfast_pybind
:alt: Travis CI
.. image:: https://img.shields.io/github/license/yijiangh/conmech
:target: ./LICENSE
:alt: License MIT
.. image:: https://img.shields.io/badge/python-2.5+|3.x-blue
:target: https://pypi.org/project/ikfast_pybind/
:alt: PyPI - Python Version
.. image:: https://img.shields.io/badge/pypi-v0.0.1-orange
:target: https://pypi.org/project/ikfast_pybind/
:alt: PyPI - Latest Release
**ikfast_pybind** is a python binding generation library for the analytic kinematics engine `IKfast <http://openrave.org/docs/1.8.2/openravepy/ikfast/>`__.
The python bindings are generated via `pybind11 <https://github.com/pybind/pybind11>`_ a `CMake <https://cmake.org/>`_-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 <http://docs.ros.org/kinetic/api/framefab_irb6600_support/html/doc/ikfast_tutorial.html>`_ for details.
The assembly sequence and motion planning framework `pychoreo <https://github.com/yijiangh/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 <https://github.com/pybind/cmake_example>`_ **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 <http://openrave.org/docs/0.8.2/openravepy/ikfast/>`__ useful,
please cite `OpenRave <http://openrave.org/>`_:
::
@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},
}
Related links
^^^^^^^^^^^^^
`tutorial on ikfast cpp generation <http://docs.ros.org/kinetic/api/framefab_irb6600_support/html/doc/ikfast_tutorial.html>`_: See this tutorial for a detailed instruction on how to generate the ikfast cpp code from an URDF.
`Testing ikfast modules with a pick-n-place demo in pybullet <https://github.com/yijiangh/conrob_pybullet/tree/master/debug_examples>`_
pybind11_
Changelog
=========
All notable changes to this project will be documented in this file.
The format is based on `Keep a Changelog <http://keepachangelog.com/en/1.0.0/>`_
and this project adheres to `Semantic Versioning <http://semver.org/spec/v2.0.0.html>`_.
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 <https://github.com/ros-industrial/universal_robot/tree/9eccd19077c2e7b853e3a3215bce9f38b77adda5/ur_kinematics>`__
but it seems that the old one works more stably... I will do more tests on this.
Raw data
{
"_id": null,
"home_page": "https://github.com/yijiangh/ikfast_pybind",
"name": "ikfast-pybind-tmp",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "Robotics,kinematics",
"author": "Yijiang Huang",
"author_email": "yijiangh@mit.edu",
"download_url": "",
"platform": null,
"description": "==============\nikfast_pybind\n==============\n\n.. start-badges\n\n.. image:: https://travis-ci.com/yijiangh/ikfast_pybind.svg?branch=master\n :target: https://travis-ci.com/yijiangh/ikfast_pybind\n :alt: Travis CI\n\n.. image:: https://img.shields.io/github/license/yijiangh/conmech\n :target: ./LICENSE\n :alt: License MIT\n\n.. image:: https://img.shields.io/badge/python-2.5+|3.x-blue\n :target: https://pypi.org/project/ikfast_pybind/\n :alt: PyPI - Python Version\n\n.. image:: https://img.shields.io/badge/pypi-v0.0.1-orange\n :target: https://pypi.org/project/ikfast_pybind/\n :alt: PyPI - Latest Release\n\n\n**ikfast_pybind** is a python binding generation library for the analytic kinematics engine `IKfast <http://openrave.org/docs/1.8.2/openravepy/ikfast/>`__. \nThe python bindings are generated via `pybind11 <https://github.com/pybind/pybind11>`_ a `CMake <https://cmake.org/>`_-based build system.\n\n**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, \nplease see `this tutorial <http://docs.ros.org/kinetic/api/framefab_irb6600_support/html/doc/ikfast_tutorial.html>`_ for details.\n\nThe assembly sequence and motion planning framework `pychoreo <https://github.com/yijiangh/pychoreo>`_ \nrelies on this library to generate compatible IK modules for robots across brands, scales, and dofs.\n\nPrerequisites\n-------------\n\n*ikfast_pybind* depends on the following dependencies, which come from pybind11 for building the python bindings.\n\n**On Unix (Linux, OS X)**\n\n* A compiler with C++11 support\n* CMake >= 2.8.12\n\n**On Windows**\n\n* Visual Studio 2015 (required for all Python versions, see notes below)\n* CMake >= 3.1\n\n**It is recommended (especially for Windows users) to test the environment with the**\n`cmake_example for pybind11 <https://github.com/pybind/cmake_example>`_ **before proceeding to build conmech.**\n\nInstallation\n------------\n\n::\n\n git clone --recursive https://github.com/yijiangh/ikfast_pybind\n cd ikfast_pybind\n pip install .\n # try with '--user' if you encountered a sudo problem\n\nFor developers:\n\n::\n\n git clone --recursive https://github.com/yijiangh/ikfast_pybind\n cd ikfast_pybind\n python setup.py sdist\n pip install --verbose dist/*.tar.gz\n\nWith 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.\n\nReferences\n----------\n\nCitation\n^^^^^^^^\n\nIf you find `IKFast <http://openrave.org/docs/0.8.2/openravepy/ikfast/>`__ useful, \nplease cite `OpenRave <http://openrave.org/>`_:\n\n::\n\n @phdthesis{diankov_thesis,\n author = \"Rosen Diankov\",\n title = \"Automated Construction of Robotic Manipulation Programs\",\n school = \"Carnegie Mellon University, Robotics Institute\",\n month = \"August\",\n year = \"2010\",\n number= \"CMU-RI-TR-10-29\",\n url={http://www.programmingvision.com/rosen_diankov_thesis.pdf},\n }\n\nRelated links\n^^^^^^^^^^^^^\n\n`tutorial on ikfast cpp generation <http://docs.ros.org/kinetic/api/framefab_irb6600_support/html/doc/ikfast_tutorial.html>`_: See this tutorial for a detailed instruction on how to generate the ikfast cpp code from an URDF.\n\n`Testing ikfast modules with a pick-n-place demo in pybullet <https://github.com/yijiangh/conrob_pybullet/tree/master/debug_examples>`_\n\npybind11_\n\n\nChangelog\n=========\n\nAll notable changes to this project will be documented in this file.\n\nThe format is based on `Keep a Changelog <http://keepachangelog.com/en/1.0.0/>`_\nand this project adheres to `Semantic Versioning <http://semver.org/spec/v2.0.0.html>`_.\n\n\n0.1.1\n----------\n**Added**\n- Added support for `kawasaki_rs010n` robot\n\n**Changed**\n- Reorganize test files to having a test file for each robot type.\n\n**Updated**\n- `pybind11` set to track master, commit `e08a58111`, which should fix pip installation issue.\n\n\n0.1.0\n----------\n**Available robots**\n- kuka_kr6_r900 (tested)\n- ur3\n- ur5\n- abb_irb4600_40_255\n- franka_panda (tested)\n- eth_rfl (tested)\n\n**Added**\nModules for `franka_panda`, `eth_rfl` robots.\n\nAdd 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).\n\nInclude the upstreamed `ur_kinematics commit 6734142 July 2 2019 <https://github.com/ros-industrial/universal_robot/tree/9eccd19077c2e7b853e3a3215bce9f38b77adda5/ur_kinematics>`__\nbut it seems that the old one works more stably... I will do more tests on this.\n",
"bugtrack_url": null,
"license": "MIT License",
"summary": "ikfast_pybind is a python binding generation library for the analytic kinematics engine ikfast.",
"version": "0.1.2",
"project_urls": {
"Homepage": "https://github.com/yijiangh/ikfast_pybind"
},
"split_keywords": [
"robotics",
"kinematics"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "30c27a5be6d6784cf0c197a2baadcf0c16ae65b9c11de900c036ccd8598b4e89",
"md5": "2fd87d2b360bcefa64396eb2b74a3c54",
"sha256": "4d744edb73756c14bc00b51e35b73ef8cf3590f239e8281aec4258f7dc1f9baa"
},
"downloads": -1,
"filename": "ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "2fd87d2b360bcefa64396eb2b74a3c54",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 1193520,
"upload_time": "2023-06-29T12:49:17",
"upload_time_iso_8601": "2023-06-29T12:49:17.375323Z",
"url": "https://files.pythonhosted.org/packages/30/c2/7a5be6d6784cf0c197a2baadcf0c16ae65b9c11de900c036ccd8598b4e89/ikfast_pybind_tmp-0.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5eacd64e84b9616d41ee54cba502c8ae79ef92372ae9e939f52a629a1babb4c6",
"md5": "9b763fc83369b0760df07e23a17860bc",
"sha256": "2b69183574b57b1ce3aca3d5aa659411ce499c0e41b95979ad98db57bd49b289"
},
"downloads": -1,
"filename": "ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "9b763fc83369b0760df07e23a17860bc",
"packagetype": "bdist_wheel",
"python_version": "cp311",
"requires_python": null,
"size": 1193481,
"upload_time": "2023-06-29T12:49:19",
"upload_time_iso_8601": "2023-06-29T12:49:19.910701Z",
"url": "https://files.pythonhosted.org/packages/5e/ac/d64e84b9616d41ee54cba502c8ae79ef92372ae9e939f52a629a1babb4c6/ikfast_pybind_tmp-0.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "82e22c26de556cc6dc9770baf05a2dc568b2f17f8ec601b77e7e22703f133618",
"md5": "47c785a376f6512067f654df667bfcfb",
"sha256": "c2a44525752a8418901413e226cd352e47d8e940c1d2b8210c1cbb898ade1a3b"
},
"downloads": -1,
"filename": "ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "47c785a376f6512067f654df667bfcfb",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1190465,
"upload_time": "2023-06-29T12:49:22",
"upload_time_iso_8601": "2023-06-29T12:49:22.023987Z",
"url": "https://files.pythonhosted.org/packages/82/e2/2c26de556cc6dc9770baf05a2dc568b2f17f8ec601b77e7e22703f133618/ikfast_pybind_tmp-0.1.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3f7e0e18c97eb893f1aabadcc022d94d8ae069916a8febeb1a3960f9002b94de",
"md5": "020f88b8e356e09d7710eda89867b717",
"sha256": "f483dfc51011609e397e1e031116ccdad14d455624c68aedd933e6a3d84c76ce"
},
"downloads": -1,
"filename": "ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "020f88b8e356e09d7710eda89867b717",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": null,
"size": 1192312,
"upload_time": "2023-06-29T12:49:24",
"upload_time_iso_8601": "2023-06-29T12:49:24.205898Z",
"url": "https://files.pythonhosted.org/packages/3f/7e/0e18c97eb893f1aabadcc022d94d8ae069916a8febeb1a3960f9002b94de/ikfast_pybind_tmp-0.1.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b188ffb9865639b4548388acd6078004fa72a2463be5e666d907d4eb769d4cc6",
"md5": "304318f57f4f231fa5f22bbb9024c7b9",
"sha256": "fa6036a92422083cd314a27f67847bdb079bb13e0f6a6445af03a063eacf842a"
},
"downloads": -1,
"filename": "ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "304318f57f4f231fa5f22bbb9024c7b9",
"packagetype": "bdist_wheel",
"python_version": "cp39",
"requires_python": null,
"size": 1196273,
"upload_time": "2023-06-29T12:49:26",
"upload_time_iso_8601": "2023-06-29T12:49:26.371932Z",
"url": "https://files.pythonhosted.org/packages/b1/88/ffb9865639b4548388acd6078004fa72a2463be5e666d907d4eb769d4cc6/ikfast_pybind_tmp-0.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-29 12:49:17",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yijiangh",
"github_project": "ikfast_pybind",
"travis_ci": true,
"coveralls": false,
"github_actions": false,
"lcname": "ikfast-pybind-tmp"
}