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
aptsudo apt install liboctomap-devsudo 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.gitSince 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 urdfusingmatplotlibur5e sawyer iiwa14 panda -
Visualize
visual geometryusingmatplotlibur5e sawyer iiwa14 panda -
Visualize
collision geometryusingmatplotlibur5e sawyer iiwa14 panda -
Visualize mesh about
visual/collision geometryusingtrimesh.Scene class
Release files for pykin 1.6.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pykin-1.6.0.tar.gz | 50.7 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pykin-1.6.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 101.5 MB
Release files / pykin-1.6.0.tar.gz
| Download URL | pykin-1.6.0.tar.gz |
|---|---|
| Size | 50.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a8f6af2a281be933e386aa0cd8783f61144500fdcdeb81121377a981a51b9677
|
|
BLAKE2b-256 checksum How to use checksums |
a240c4ba5665b97a52c4115b46d664fe5351b237227aafe3aec77ad1cbc8dbab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pykin-1.6.0-py3-none-any.whl
| Download URL | pykin-1.6.0-py3-none-any.whl |
|---|---|
| Size | 50.8 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
54f52c3be6c123eab6771810908e9e43b68b2e23af4ca4efe9790445f80f8481
|
|
BLAKE2b-256 checksum How to use checksums |
f87c1c779dcbb965ea4a18ec8d53d89ef1b289463866673ace6262e1751e1abc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|