Skip to main content

Robotics Kinematics Library

Project description

pykin

PyPI version MIT License

Python Interface for the robot Kinematics library pykin

This library has been created simply by referring to ikpy.

Features

  • Pure python library
  • Support only URDF file
  • Compute forward, inverse kinematics and jacobian, referred to the Introduction to Humanoid Robotics book.
  • Check robot self-collision and collision between objects
  • Plot robot kinematic chain and mesh

Installation

Requirements

You need a python-fcl package to do object collision checking.

  • For Ubuntu, using apt

    sudo apt install liboctomap-dev

    sudo apt install libfcl-dev

  • For Mac, First, Download the source and build it.

    • octomap

      git clone https://github.com/OctoMap/octomap.git

      $ cd octomap
      $ mkdir build
      $ cd build
      $ cmake ..
      $ sudo make
      $ sudo make install
      
    • fcl

      git clone https://github.com/flexible-collision-library/fcl.git

      Since python-fcl uses version 0.5.0 of fcl, checkout with tag 0.5.0

      $ cd fcl
      $ git checkout 0.5.0
      $ mkdir build
      $ cd build
      $ cmake ..
      $ sudo make
      $ sudo make install
      

Install Pykin

pip3 install pykin

Quick Start

You can see various examples in examples directory

  • Robot Info

    You can see 7 robot info.

    baxter, sawyer, iiwa14, iiwa7, panda, ur5e, doosan

    $ cd examples
    $ python robot_info.py $(robot_name)
    # baxter
    $ python robot_info.py baxter
    # saywer
    $ python robot_info.py sawyer
    
  • Forward kinematics

    You can compute the forward kinematics as well as visualize the visual or collision geometry.

    $ cd examples/forward_kinematics
    $ python robot_fk_baxter_test.py
    
    visual collision
  • Inverse Kinematics

    You can compute the inverse kinematics using levenberg marquardt(LM) or newton raphson(NR) method

    $ cd examples/inverse_kinematics
    $ python robot_ik_baxter_test.py
    
  • Sampling based Inverse Kinematics

    You can compute the inverse kinematics using geometric-aware bayesian optimization(GaBO) method

    For more detailed information, check GaBO module

    $ cd examples/inverse_kinematics
    $ python robot_ik_gabo_test.py
    
  • Collision check

    The below images show the collision result as well as visualize robot using trimesh.Scene class

    $ cd examples/trimesh_renders
    $ python sawyer_render.py
    
    trimesh.Scene Result

Visualization

You can see visualization using matplotlib library or trimesh.Scene class.

  • Visualize simple urdf using matplotlib

    ur5e sawyer iiwa14 panda
  • Visualize visual geometry using matplotlib

    ur5e sawyer iiwa14 panda
  • Visualize collision geometry using matplotlib

    ur5e sawyer iiwa14 panda
  • Visualize mesh about visual/collision geometry using trimesh.Scene class

Project details


Download files

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

Source Distribution

pykin-1.6.0.tar.gz (50.7 MB view details)

Uploaded Source

Built Distribution

pykin-1.6.0-py3-none-any.whl (50.8 MB view details)

Uploaded Python 3

File details

Details for the file pykin-1.6.0.tar.gz.

File metadata

  • Download URL: pykin-1.6.0.tar.gz
  • Upload date:
  • Size: 50.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/60.2.0 requests-toolbelt/0.8.0 tqdm/4.64.1 CPython/3.8.10

File hashes

Hashes for pykin-1.6.0.tar.gz
Algorithm Hash digest
SHA256 a8f6af2a281be933e386aa0cd8783f61144500fdcdeb81121377a981a51b9677
MD5 37418b2bb377e62487a08696f953ccfc
BLAKE2b-256 a240c4ba5665b97a52c4115b46d664fe5351b237227aafe3aec77ad1cbc8dbab

See more details on using hashes here.

File details

Details for the file pykin-1.6.0-py3-none-any.whl.

File metadata

  • Download URL: pykin-1.6.0-py3-none-any.whl
  • Upload date:
  • Size: 50.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.4.2 requests/2.28.1 setuptools/60.2.0 requests-toolbelt/0.8.0 tqdm/4.64.1 CPython/3.8.10

File hashes

Hashes for pykin-1.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 54f52c3be6c123eab6771810908e9e43b68b2e23af4ca4efe9790445f80f8481
MD5 03bf17fd268734dba2fdc16573f3bef7
BLAKE2b-256 f87c1c779dcbb965ea4a18ec8d53d89ef1b289463866673ace6262e1751e1abc

See more details on using hashes here.

Supported by

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