Simple kinematics body toolkit.
- Pure python library.
- Support URDF, SDF and MJCF file.
- Calculate FK, IK and jacobian.
pip install kinpy
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.
@software{kinpy,
author = {{Kenta-Tanaka et al.}},
title = {kinpy},
url = {https://github.com/neka-nat/kinpy},
version = {0.0.3},
date = {2019-10-11},
}