Robotics Kinematics Library
Project description
pykin
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
usingmatplotlib
ur5e sawyer iiwa14 panda -
Visualize
visual geometry
usingmatplotlib
ur5e sawyer iiwa14 panda -
Visualize
collision geometry
usingmatplotlib
ur5e sawyer iiwa14 panda -
Visualize mesh about
visual/collision geometry
usingtrimesh.Scene class
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.