ikfast-pybind


Nameikfast-pybind JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/yijiangh/ikfast_pybind
Summaryikfast_pybind is a python binding generation library for the analytic kinematics engine ikfast.
upload_time2023-06-09 17:07:40
maintainer
docs_urlNone
authorYijiang Huang
requires_python
licenseMIT License
keywords robotics kinematics
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI
coveralls test coverage No coveralls.
            ==============
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"
}
        
Elapsed time: 0.08496s