Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Robotic Tooling
  3. ikpy

ikpy

Apache-2.0Pythonv3.4.2

A pure-Python inverse kinematics library for computing robot joint positions from end-effector poses.

Visit WebsiteGitHubGitHub
1.0k stars176 forks0 contributors

What is ikpy?

IKPy is a Python library for solving inverse kinematics problems, which involve calculating the joint angles of a robotic arm to achieve a desired end-effector position and orientation. It supports various robot representations like DH parameters and URDF files, enabling precise and fast computations without requiring physical hardware. The library is designed to be universal, working with any kinematic chain and offering visualization tools for simulation and testing.

Target Audience

Robotics researchers, engineers, and developers working on motion planning, simulation, or control systems for robotic arms and manipulators. It is also suitable for educators and students learning about inverse kinematics and robotic modeling.

Value Proposition

Developers choose IKPy for its pure-Python implementation, which ensures easy installation and cross-platform compatibility without compilation. Its extensibility, support for multiple robot representations, and built-in visualization tools make it a versatile and accessible choice for both prototyping and advanced robotic applications.

Overview

IKPy, an Universal Inverse Kinematics library

Use Cases

Best For

  • Simulating and testing inverse kinematics algorithms without physical robots
  • Importing and analyzing robotic models from URDF files
  • Educational purposes for learning robotic kinematics and dynamics
  • Prototyping motion planning for custom robotic arms
  • Visualizing kinematic chains and joint movements in 3D
  • Extending with custom IK methods for specialized robotic applications

Not Ideal For

  • Real-time robotic control systems requiring sub-millisecond IK computations
  • Projects needing integrated dynamics simulation or collision detection
  • Embedded systems with strict memory or processing constraints
  • Teams seeking a graphical interface for robot modeling without coding

Pros & Cons

Pros

Universal Robot Support

Supports any robot via DH parameters, URDF files, or custom representations, making it versatile for importing and analyzing diverse kinematic chains without hardware.

High Precision Computations

Achieves up to 7 digits of accuracy with computation times from 7 to 50 ms, enabling precise simulations for research and prototyping.

Built-in Visualization Tools

Integrates with matplotlib to plot kinematic chains in 3D, allowing algorithm testing and debugging without a physical robot or simulator.

Easy Installation and Extensibility

Pure-Python implementation installs in seconds via pip, with a developer API for adding custom IK methods, encouraging customization and contributions.

Cons

Performance Limitations for Real-Time Use

As a Python library, it may not meet the speed requirements of high-frequency control loops or complex chains compared to C++ alternatives like aversive++, as noted in the README.

Incomplete Joint Type Support

Currently focuses on revolute and prismatic joints, with other types 'to come' per the README, limiting immediate applicability to some robotic configurations.

No Dynamics or Collision Handling

Solely addresses inverse kinematics without built-in support for dynamics, forces, or collision detection, which are essential for comprehensive robotic simulations.

Frequently Asked Questions

Quick Stats

Stars1,002
Forks176
Contributors0
Open Issues24
Last commit22 days ago
CreatedSince 2015

Tags

#robotics#urdf-parser#python-library#matplotlib#scipy#motion-planning#robot-simulation#urdf#python#inverse-kinematics

Built With

P
Python
N
NumPy
m
matplotlib
S
SciPy
S
SymPy

Links & Resources

Website

Included in

Robotic Tooling3.8k
Auto-fetched 5 hours ago

Related Projects

kalibrkalibr

The Kalibr visual-inertial calibration toolbox

Stars5,508
Forks1,576
Last commit2 years ago
lidar_camera_calibrationlidar_camera_calibration

ROS package to find a rigid-body transformation between a LiDAR and a camera for "LiDAR-Camera Calibration using 3D-3D Point correspondences"

Stars1,745
Forks473
Last commit8 months ago
imu_utilsimu_utils

A ROS package tool to analyze the IMU performance.

Stars1,714
Forks500
Last commit2 months ago
easy_handeyeeasy_handeye

Automated, hardware-independent Hand-Eye Calibration

Stars1,146
Forks249
Last commit6 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub