Releases: devwithchai/OpenKinematics
Release list
OpenKinematics v0.2.0 – Visualization Framework
Overview
OpenKinematics v0.2.0 introduces the project's first complete visualization framework.
This release adds visualization capabilities for robot configurations, workspace sampling, trajectory plotting, and animation while keeping the visualization layer fully separated from the core kinematics algorithms.
The public API has also been extended so these capabilities are directly available through the Robot interface.
This release focuses on building a solid and well-tested visualization foundation that future versions can improve without changing the user-facing API.
✨ Highlights
Robot Visualization
Visualize robot configurations using a unified API.
robot.plot(joint_values)
Supported robots:
Planar Robot
SCARA Robot
Articulated Robot
Workspace Visualization
Explore the reachable workspace of a robot through randomized sampling.
robot.plot_workspace(
num_samples=8000,
seed=42
)
Features:
2D workspace visualization
3D workspace visualization
Reproducible sampling
Customizable sample count
Trajectory Visualization
Display the path traced by the end effector while visualizing a robot configuration.
plot_2d(
robot,
joint_values,
trajectory=trajectory
)
Supported in:
2D visualization
3D visualization
Animation Support
Animate a robot following a sequence of joint configurations.
fig, ax, anim = robot.animate(trajectory)
Features:
Unified API
Configurable playback interval
Existing rendering reuse
Matplotlib FuncAnimation support
Centralized Visualization Styling
Introduced a dedicated styling module.
open_kinematics.visualization.styles
Provides centralized control over:
Colors
Marker styles
Figure sizes
Line widths
Grid settings
Camera presets
Animation interval
DPI settings
API Improvements
New high-level methods have been added to the Robot API.
robot.plot()
robot.plot_workspace()
robot.animate()
These methods provide a consistent interface regardless of robot type.
Testing
Visualization functionality is fully covered by automated tests.
Test Summary
156 automated tests
All tests passing
Coverage includes:
Visualization dispatch
Workspace generation
Trajectory plotting
Animation creation
Existing axes reuse
Legend correctness
Camera presets
Figure sizing
Error handling
API integration
Project Structure
New modules introduced in this release:
open_kinematics/
└── visualization/
├── animate.py
├── plot_2d.py
├── plot_3d.py
├── workspace.py
└── styles.py
Design Principles
The visualization subsystem was developed around several architectural goals:
Separation of visualization from kinematics
Consistent public API
Reusable rendering functions
Centralized styling configuration
Comprehensive automated testing
Future renderer independence
Known Limitations
Current visualization is implemented using Matplotlib.
While fully functional for education, debugging, and algorithm verification, the current rendering system is intentionally lightweight and does not provide the level of interactive 3D visualization expected from modern robotics software.
This release establishes the visualization API rather than the final rendering engine.
What's Next
Development of v0.3.0 will focus on a next-generation rendering engine.
Planned areas of exploration include:
Modern 3D rendering backend
Interactive camera controls
Robot meshes and realistic links
Joint geometry visualization
Improved animation pipeline
Professional-quality robotics visualization
The existing public API is intended to remain stable while the underlying renderer evolves.
Installation
pip install open-kinematics
Or install the latest development version:
git clone https://github.com/devwithchai/OpenKinematics.git
Thank You
Thank you to everyone following the development of OpenKinematics.
Feedback, feature requests, bug reports, and contributions are always welcome.
OpenKinematics v0.1.0 – Initial Public Release
OpenKinematics v0.1.0
This is the initial public release of OpenKinematics, an educational, open-source Python library for learning and experimenting with robot kinematics from first principles.
The project focuses on clean software architecture, readable implementations, and transparent robotics algorithms rather than treating kinematics as a black box.
Highlights
Robot Models
- Planar (2R)
- SCARA
- Articulated Robot
Kinematics
- Denavit–Hartenberg (DH) based Forward Kinematics
- Geometric Jacobian
- Manipulability Measure
Inverse Kinematics
- Analytical IK for Planar Robot
- Analytical IK for SCARA Robot
- Numerical (Pseudoinverse) IK for Articulated Robot
Visualization
- 2D Robot Visualization
- 3D Robot Visualization
Software Engineering
- Public Robot API
- Comprehensive Unit Tests
- GitHub Actions CI
- MIT License
- Sphinx-style API Documentation
- Contributor Guidelines
Installation
git clone https://github.com/devwithchai/OpenKinematics.git
cd OpenKinematics
pip install -e ".[dev]"