==============
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.2
----------
**Fixed**
- Fix pypi wheel build issue
**Changed**
- Skip UR robot tests for now
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",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "Robotics,kinematics",
"author": "Yijiang Huang",
"author_email": "yijiangh@mit.edu",
"download_url": "https://files.pythonhosted.org/packages/74/01/c9455d440ef7223f9da0b8322b1784a141fdef054e8966f42e4d94c4950e/ikfast_pybind-0.1.2.tar.gz",
"platform": null,
"description": "==============\r\nikfast_pybind\r\n==============\r\n\r\n.. start-badges\r\n\r\n.. image:: https://travis-ci.com/yijiangh/ikfast_pybind.svg?branch=master\r\n :target: https://travis-ci.com/yijiangh/ikfast_pybind\r\n :alt: Travis CI\r\n\r\n.. image:: https://img.shields.io/github/license/yijiangh/conmech\r\n :target: ./LICENSE\r\n :alt: License MIT\r\n\r\n.. image:: https://img.shields.io/badge/python-2.5+|3.x-blue\r\n :target: https://pypi.org/project/ikfast_pybind/\r\n :alt: PyPI - Python Version\r\n\r\n.. image:: https://img.shields.io/badge/pypi-v0.0.1-orange\r\n :target: https://pypi.org/project/ikfast_pybind/\r\n :alt: PyPI - Latest Release\r\n\r\n\r\n**ikfast_pybind** is a python binding generation library for the analytic kinematics engine `IKfast <http://openrave.org/docs/1.8.2/openravepy/ikfast/>`__. \r\nThe python bindings are generated via `pybind11 <https://github.com/pybind/pybind11>`_ a `CMake <https://cmake.org/>`_-based build system.\r\n\r\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, \r\nplease see `this tutorial <http://docs.ros.org/kinetic/api/framefab_irb6600_support/html/doc/ikfast_tutorial.html>`_ for details.\r\n\r\nThe assembly sequence and motion planning framework `pychoreo <https://github.com/yijiangh/pychoreo>`_ \r\nrelies on this library to generate compatible IK modules for robots across brands, scales, and dofs.\r\n\r\nPrerequisites\r\n-------------\r\n\r\n*ikfast_pybind* depends on the following dependencies, which come from pybind11 for building the python bindings.\r\n\r\n**On Unix (Linux, OS X)**\r\n\r\n* A compiler with C++11 support\r\n* CMake >= 2.8.12\r\n\r\n**On Windows**\r\n\r\n* Visual Studio 2015 (required for all Python versions, see notes below)\r\n* CMake >= 3.1\r\n\r\n**It is recommended (especially for Windows users) to test the environment with the**\r\n`cmake_example for pybind11 <https://github.com/pybind/cmake_example>`_ **before proceeding to build conmech.**\r\n\r\nInstallation\r\n------------\r\n\r\n::\r\n\r\n git clone --recursive https://github.com/yijiangh/ikfast_pybind\r\n cd ikfast_pybind\r\n pip install .\r\n # try with '--user' if you encountered a sudo problem\r\n\r\nFor developers:\r\n\r\n::\r\n\r\n git clone --recursive https://github.com/yijiangh/ikfast_pybind\r\n cd ikfast_pybind\r\n python setup.py sdist\r\n pip install --verbose dist/*.tar.gz\r\n\r\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.\r\n\r\nReferences\r\n----------\r\n\r\nCitation\r\n^^^^^^^^\r\n\r\nIf you find `IKFast <http://openrave.org/docs/0.8.2/openravepy/ikfast/>`__ useful, \r\nplease cite `OpenRave <http://openrave.org/>`_:\r\n\r\n::\r\n\r\n @phdthesis{diankov_thesis,\r\n author = \"Rosen Diankov\",\r\n title = \"Automated Construction of Robotic Manipulation Programs\",\r\n school = \"Carnegie Mellon University, Robotics Institute\",\r\n month = \"August\",\r\n year = \"2010\",\r\n number= \"CMU-RI-TR-10-29\",\r\n url={http://www.programmingvision.com/rosen_diankov_thesis.pdf},\r\n }\r\n\r\nRelated links\r\n^^^^^^^^^^^^^\r\n\r\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.\r\n\r\n`Testing ikfast modules with a pick-n-place demo in pybullet <https://github.com/yijiangh/conrob_pybullet/tree/master/debug_examples>`_\r\n\r\npybind11_\r\n\r\n\r\nChangelog\r\n=========\r\n\r\nAll notable changes to this project will be documented in this file.\r\n\r\nThe format is based on `Keep a Changelog <http://keepachangelog.com/en/1.0.0/>`_\r\nand this project adheres to `Semantic Versioning <http://semver.org/spec/v2.0.0.html>`_.\r\n\r\n0.1.2\r\n----------\r\n**Fixed**\r\n- Fix pypi wheel build issue\r\n\r\n**Changed**\r\n- Skip UR robot tests for now\r\n\r\n\r\n0.1.1\r\n----------\r\n**Added**\r\n- Added support for `kawasaki_rs010n` robot\r\n\r\n**Changed**\r\n- Reorganize test files to having a test file for each robot type.\r\n\r\n**Updated**\r\n- `pybind11` set to track master, commit `e08a58111`, which should fix pip installation issue.\r\n\r\n\r\n0.1.0\r\n----------\r\n**Available robots**\r\n- kuka_kr6_r900 (tested)\r\n- ur3\r\n- ur5\r\n- abb_irb4600_40_255\r\n- franka_panda (tested)\r\n- eth_rfl (tested)\r\n\r\n**Added**\r\nModules for `franka_panda`, `eth_rfl` robots.\r\n\r\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).\r\n\r\nInclude the upstreamed `ur_kinematics commit 6734142 July 2 2019 <https://github.com/ros-industrial/universal_robot/tree/9eccd19077c2e7b853e3a3215bce9f38b77adda5/ur_kinematics>`__\r\nbut it seems that the old one works more stably... I will do more tests on this.\r\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": "23c2495512a2921aa6edbc95e946a2aa6e62f417f82ab4d080b552fc33636fe9",
"md5": "7feab5b00c657c55acf93a2ed17dc79a",
"sha256": "cc8fa71513c0ad4175ddf85b3941d5333b25731551a7c83a3c3db34fc542c00a"
},
"downloads": -1,
"filename": "ikfast_pybind-0.1.2-cp37-cp37m-win_amd64.whl",
"has_sig": false,
"md5_digest": "7feab5b00c657c55acf93a2ed17dc79a",
"packagetype": "bdist_wheel",
"python_version": "cp37",
"requires_python": null,
"size": 1151472,
"upload_time": "2023-06-09T17:07:38",
"upload_time_iso_8601": "2023-06-09T17:07:38.116373Z",
"url": "https://files.pythonhosted.org/packages/23/c2/495512a2921aa6edbc95e946a2aa6e62f417f82ab4d080b552fc33636fe9/ikfast_pybind-0.1.2-cp37-cp37m-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7401c9455d440ef7223f9da0b8322b1784a141fdef054e8966f42e4d94c4950e",
"md5": "7704ea7e360595f185a73baf41be5ae7",
"sha256": "e587f47c8983b8ff7271edc795057a0208d196f23d563175e33409f70a6a7505"
},
"downloads": -1,
"filename": "ikfast_pybind-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "7704ea7e360595f185a73baf41be5ae7",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 429278,
"upload_time": "2023-06-09T17:07:40",
"upload_time_iso_8601": "2023-06-09T17:07:40.426922Z",
"url": "https://files.pythonhosted.org/packages/74/01/c9455d440ef7223f9da0b8322b1784a141fdef054e8966f42e4d94c4950e/ikfast_pybind-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-06-09 17:07:40",
"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"
}