Skip to content

Projects

Things I've built. Robotics, machine learning and embedded hardware.

Every project links to its code on GitHub. Filter by area, or scroll down for older and smaller projects.

  • Top-down street crossing with predicted pedestrian paths and uncertainty clouds

    ECCV 2024 · Reproduction

    Probabilistic Human Trajectory Prediction

    Mixture density networks that forecast multimodal pedestrian trajectories with calibrated uncertainty, for autonomous applications that must plan around people.

    Python · PyTorch · MDNCode
  • Semi-humanoid receptionist robot with a chest-mounted touchscreen, standing in a lab

    Final-year project

    Mobile Robot Receptionist

    A semi-humanoid receptionist robot for crowded, multi-floor buildings that rides conventional elevators without any robot-specific hardware.

    Mobile robotics · Navigation · HRIReport
  • EKF-SLAM plot: the robot's path around a circular cone track, with 3-sigma uncertainty ellipses shrinking as cones are mapped

    Autonomous racing

    Feature-Based EKF-SLAM

    Landmark-based Extended Kalman Filter SLAM for a differential-drive robot navigating cone-marked race tracks, mapping and localizing simultaneously.

    MATLAB · EKF · SLAMCode
  • Cars on a highway with fans of candidate trajectories feeding a planning network

    CVPR 2025 · Implementation

    MomAD: Momentum-Aware Planning

    Paper implementation of momentum-aware planning for end-to-end autonomous driving, keeping planned trajectories temporally consistent.

    Python · PyTorch · End-to-end ADCode
  • Team Quanta's micromouse, a compact green PCB robot with side-facing IR sensors, resting on Robofest 2024 certificates

    Robofest 2024 · 5th place

    Quanta Micromouse

    Team Quanta's maze-solving robot. It completed the 16×16 maze at SLIIT Robofest 2024 and placed 5th in the university category, using flood fill on an STM32 with PID loops for distance and heading fed by IR, gyro and encoder readings.

    STM32 · C · PID · Flood fillCode
  • Simulated race car on a cone-marked track, sweeping its LiDAR scan across the cones ahead

    Autonomous racing

    FalconE: F1Tenth

    Labs and implementations from the F1Tenth course, covering autonomous racing, ROS 2, control algorithms and sensor integration for 1:10 scale race cars.

    ROS 2 · Python · ControlCode
  • Xfly quadcopter with prop guards and an exposed flight controller, resting on a mat

    Qubebots

    Xfly Image Localization

    Localizing a drone platform in real time from its embedded camera feed to improve navigation accuracy.

    OpenCV · Python · DronesCode
  • 5-DOF servo robot arm with a metal gripper, wired to an Arduino on a lab bench

    Kinematics

    5-DOF Robotic Arm

    Forward and inverse kinematics for a 5-DOF arm using Denavit-Hartenberg parameters, with end-effector pose computation.

    C++ · D-H · KinematicsCode
  • Prototype glove with flex sensors and wiring along each finger

    Assistive tech

    iTrans Wearable Glove

    A sensor-embedded glove that recognises hand gestures, helping speech-disabled people communicate more easily.

    Arduino · Flex sensors · Gesture recognitionCode
  • 3D render of the battery monitor PCB with a Texas Instruments sensing IC between two connectors

    Qubebots

    Drone Battery Monitor

    Accurate battery percentage and remaining flight-time estimation for the Xfly drone from calibrated voltage readings.

    Embedded · Calibration · PythonCode

Contact

Get in touch. I would welcome the chance to contribute to your research.

If your lab or team works on VLA models, reinforcement learning or physical AI, I would be grateful to hear about any research positions or collaborations. Please feel free to write to me.