Experiments & Lab Prototypes
Ideas tested before committing to production architectures. Some evolve into full software projects; others exist to deepen intuitive understanding.
Robot visualization in the browser
Loading URDF meshes and rendering physical joints with Three.js and custom GLSL lighting shaders in real-time.
Build small throwaway prototypes until the mental model matches the physical behavior.
Laboratory Catalog
5 logged experimentsRobot visualization in browser
Exploring Three.js, URDF (Unified Robot Description Format) loaders, and WebGL shaders as an interactive medium to render kinematic chains, joint rotations, and forward kinematics directly inside any web browser without native ROS installations.
- Modern WebGL handles complex robotic link meshes (STL/COLLADA) smoothly at 60 FPS on mobile devices.
- Parsing URDF XML client-side allows dynamic reconfiguration of robot joint limits and DH-parameter visualizations.
- Web-based robotic digital twins dramatically lower the friction for remote teleoperation and academic demonstrations.
import * as THREE from 'three';
import URDFLoader from 'urdf-loader';
const loader = new URDFLoader();
loader.load('/models/robot_arm.urdf', robot => {
scene.add(robot);
robot.joints['elbow_joint'].setAngle(Math.PI / 4);
});How does a CPU execute instructions?
Constructed an 8-bit instruction cycle simulator from scratch in Python to visualize the Fetch-Decode-Execute pipeline, program counter progression, ALU flag registers, and memory bus transactions.
- Visualizing bus line state transitions clarifies why branch mispredictions and memory stalls stall execution pipelines.
- Micro-op decoding demystifies how high-level C++ syntax boils down to simple voltage patterns and register shifts.
Computer vision — object detection
Benchmarking color space thresholding (HSV), contour analysis, and lightweight Haar cascades vs mobile neural networks on live webcam video streams for tracking aerial targets.
- HSV color segmentation executes in sub-3ms on CPU, making it unbeatable for high-speed colored marker tracking in controlled lighting.
- Lighting invariance requires dynamic white balancing and adaptive histogram equalization.
Building a simple drone simulation
Simulating a quadrotor 6-DOF (Degrees of Freedom) rigid body dynamic model, testing PID attitude controllers against simulated turbulent wind gusts.
- Angular acceleration response is heavily influenced by rotor inertia and motor time constants.
- Tuning PID derivative gain (Kd) on noisy angular velocity inputs requires filtering (low-pass filter) to avoid motor jitter.
Floating tools for a focused desktop
Prototyping translucent overlay HUDs on Wayland and i3/Sway window managers to display clipboard history, scratchpad notes, and system telemetry without task-switching.
- Minimizing visual context switches keeps cognitive flow intact during deep programming and research sessions.