An educational and research-oriented browser-based 3D simulator for robot arm kinematics. This project runs entirely in the browser and is designed to help learners and researchers experiment with Denavit-Hartenberg (DH) modeling, forward kinematics, and inverse kinematics in real time.
🚀 This project is already live on GitHub Pages:
Interactive Robot Kinematics is a single-file web simulator (index.html) built for clarity, accessibility, and hands-on learning. The app allows users to create and modify serial robot arms directly in the browser while observing geometric and kinematic effects instantly in a 3D scene.
The repository intentionally keeps a simple static structure to preserve GitHub Pages compatibility and educational transparency.
- Standard and Modified DH conventions
- Switch between Standard DH and Modified DH (Craig) conventions.
- Revolute and prismatic joints
- Add/remove links dynamically with support for both joint types.
- Forward kinematics
- Manipulate joint variables (
q) and observe resulting end-effector pose.
- Manipulate joint variables (
- Inverse kinematics
- Move toward a Cartesian target using an iterative Jacobian-transpose-based approach.
- Editable DH table
- Click-to-edit DH parameters (
α,a,d,θ) directly in the interface.
- Click-to-edit DH parameters (
- Real-time 3D visualization
- Rendered with Three.js with coordinate frames, links, joints, and end-effector updates.
- HTML, CSS, JavaScript
- Three.js
- lil-gui
- Add revolute/prismatic joints from Settings & Actions.
- Tune joint variables in Joint Controls (q).
- Edit geometric DH values from the table on the left.
- Select DH convention (Standard or Modified).
- Set IK target coordinates and click Go to Target.
Because this is a static single-file app, local usage is simple:
git clone https://github.com/vtavakkoli/interactive-robot-kinematics.git
cd interactive-robot-kinematicsOpen index.html directly in your browser, or use a lightweight static server if preferred.
Examples:
# Python 3
python -m http.server 8000
# Then open http://localhost:8000Contributions are welcome. Please read CONTRIBUTING.md for guidelines.
Planned future improvements include:
- Joint limits
- Singularity awareness and diagnostics
- Improved inverse kinematics solver
- URDF import/export
- Trajectory planning
- Export/import of robot configurations
Written by Vahid Tavakkoli (2026).
This project is licensed under the MIT License.
Copyright (c) 2026 Vahid Tavakkoli
See LICENSE for full text.
