Projects

A selection of systems, experiments, and tools that reflect how I work and think.

Robotics & Perception

A camera-based system that detects colored blocks, transforms their coordinates into robot pose space, and executes pick-and-place tasks using inverse kinematics in simulation and real hardware.

Tech: OpenCV, ArUco calibration, PyBullet, MQTT, Python

A library for forward and inverse kinematics for a 5-DoF robotic arm, with utilities to convert angle conventions and integrate with physical servos and Gazebo/Isaac Sim.

Tech: PyTorch, pytorch_kinematics, URDF, PyBullet

Tools to calibrate cameras with ArUco markers, estimate object geometry, and project real-world coordinates in robotics workspaces. Includes shape detection and coordinate transforms.

Tech: OpenCV, NumPy, ArUco, projective geometry

Learning & Simulation

A set of utilities to work with SO(3) exponential/log maps and quaternion-based inverse kinematics, aimed at more stable rotational control in learned models.

Tech: PyTorch, geometry, quaternion math

Integration of MiDaS depth estimation into robotic perception pipelines over MQTT, to infer object height and 3D position from monocular frames.

Tech: MiDaS, PyTorch, OpenCV, Python, MQTT

A baseline system that watches camera frames and robot joint states to predict pick success and analyze error modes for autonomous manipulation.

Tech: Python, machine learning, data logging

Tools & Misc

Utility scripts and modules I use across personal and research code: coordinate math, transform helpers, twist/exponential maps, and benchmarks.

Tech: Python, NumPy, geometry

Scripts and data for evaluating simulation consistency across environments and physics engines, focusing on error modes in motion execution.

Tech: Python, PyBullet, logging tools