SIM
Simulation · Robotics — Jun–Jul 2025

ARM SIMULATOR

Number
// 004
Date
Jun – Jul 2025
Type
Simulation · Robotics
Stack
Python · NumPy · PyGame
Impact
91% Less Testing Time
// 01 — Overview

Developed a Python application to simulate robotic arm forward kinematics and inverse kinematics for arbitrary arm configurations.

Linear algebra calculations for end-effector position are handled using NumPy, with real-time visualisation powered by PyGame. Reduced testing time by 91% by simplifying linear transformations.

91%Testing Time Saved
FK+IKKinematics
NumPyLinear Algebra
RTReal-Time Viz
// 02 — Media
Real-time forward and inverse kinematics simulation in PyGame
01 / 01
// 03 — Technical Details
Forward & Inverse Kinematics

Utilised NumPy to handle matrix multiplication for forward and inverse kinematics of a robotic arm, calculating end-effector position for arbitrary joint configurations.

PyGame Visualisation

Leveraged PyGame to fully visualise robot end-effector and joint positions, allowing the user to input different angles while simultaneously showing output positions in real time.

// 04 — Challenges & Learnings
Multiple Valid Kinematic Solutions

Forward and inverse kinematics ended up having multiple valid solutions, so it was difficult to pick the shortest path. A lot of math went into picking the optimal and realistic distance.

Real-Time Visualisation Sync

Keeping the PyGame rendering in sync with the simulation state at variable frame rates without the visual lagging behind the computed positions.

// 05 — Tech Stack
Python NumPy PyGame Forward Kinematics Inverse Kinematics Linear Algebra