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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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