Awesome Open Source
Awesome Open Source

Build status PyPI version MIT License Downloads

Simple kinematics body toolkit.

Core features

  • Pure python library.
  • Support URDF, SDF and MJCF file.
  • Calculate FK, IK and jacobian.

Installation

pip install kinpy

Getting started

Here is a program that reads urdf and generates a kinematic chain.

import kinpy as kp

chain = kp.build_chain_from_urdf(open("kuka_iiwa/model.urdf").read())
print(chain)
# lbr_iiwa_link_0_frame
#  	lbr_iiwa_link_1_frame
#  	 	lbr_iiwa_link_2_frame
#  	 	 	lbr_iiwa_link_3_frame
#  	 	 	 	lbr_iiwa_link_4_frame
#  	 	 	 	 	lbr_iiwa_link_5_frame
#  	 	 	 	 	 	lbr_iiwa_link_6_frame
#  	 	 	 	 	 	 	lbr_iiwa_link_7_frame

Displays the parameter names of joint angles included in the chain.

print(chain.get_joint_parameter_names())
# ['lbr_iiwa_joint_1', 'lbr_iiwa_joint_2', 'lbr_iiwa_joint_3', 'lbr_iiwa_joint_4', 'lbr_iiwa_joint_5', 'lbr_iiwa_joint_6', 'lbr_iiwa_joint_7']

Given joint angle values, calculate forward kinematics.

import math
th = {'lbr_iiwa_joint_2': math.pi / 4.0, 'lbr_iiwa_joint_4': math.pi / 2.0}
ret = chain.forward_kinematics(th)

You can get the position and orientation of each link.

Visualization

KUKA IIWA

kuka

Mujoco humanoid

humanoid

Mujoco ant

ant

Simple arm

simple_arm

Citing

@software{kinpy,
    author = {{Kenta-Tanaka et al.}},
    title = {kinpy},
    url = {https://github.com/neka-nat/kinpy},
    version = {0.0.3},
    date = {2019-10-11},
}


Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Python (821,947
Robot (17,173
Robotics (5,233
Kinematics (727
Mujoco (493
Inverse Kinematics (133
Sdf (90
Urdf (87
Manipulator (30
Forward Kinematics (20