Projects

Research systems and simulation studies in robot learning, navigation, and control. Most include open code on GitHub.

ALBATROSS demo

ALBATROSS: Autonomous Maritime Patrol UAV

A software-in-the-loop autonomous maritime-patrol drone for Chattogram port. PX4 SITL and Gazebo render the flight over real satellite terrain while a ROS 2 planner builds exclusion-aware waypoints with an A* search that keeps the aircraft out of every no-fly zone, even when a target is dropped inside one. A browser ground station adds a live 2D and 3D map, a multi-waypoint mission editor with per-waypoint height, and a real-time chase-camera feed rendered from the simulator.

PX4GazeboROS2MAVLinkPath planningWeb GCS

STM32 Quadcopter Flight Controller

A bare-metal flight controller on an STM32F103, closing six control loops at 250 Hz with no RTOS and no flight stack. Gyro, accelerometer, magnetometer, barometer and GPS are fused by a complementary filter into an attitude and position estimate, feeding a rate-PID cascade and motor mixer. Built in 2023 and flown, re-tuned and upgraded across my undergraduate years.

STM32Bare metalSensor fusionPIDEmbedded C

Manipulator Kinematics and Dynamics from Scratch

From-scratch kinematics and dynamics in NumPy for two arms, a 6-DOF UR5e and a 7-DOF KUKA iiwa, validated against official URDFs to 1.5e-7. Caught a sign error in the UR5e DH table that left the model 1.998 m off. Numerical IK with damped least squares, Cartesian paths via quintic blending and quaternion slerp. No MoveIt, KDL, or Pinocchio.

ROS2KinematicsNumerical IKRedundancyDynamicsPyBullet

ViZDoom Health Gathering: Vision-Based RL

An APPO agent trained with Sample-Factory to survive in a first-person 3D environment, learning to navigate and collect health packs from raw pixel input. Achieved 13.95 mean reward on Health Gathering Supreme.

APPOViZDoomSample-FactoryVision RL

WarehouseBenchmark

A 31.8 × 54 m digital-twin warehouse benchmarking PPO, SAC, and TD3 for autonomous navigation on a Clearpath Jackal with realistic LiDAR perception and localization noise. Curriculum learning and domain randomization close the sim-to-real gap.

Deep RLIsaac LabROS2PPO/SAC/TD3

RRT* Motion Planning in 7-DOF Configuration Space

Asymptotically optimal RRT* for a redundant KUKA iiwa, written from first principles in NumPy. The arm carries a mug past a non-convex mesh obstacle, searching the full 7-D joint space with the payload checked as moving geometry, not just the arm. Converges to within 0.16% of the analytic optimum.

RRT*Motion PlanningRedundancyPyBullet7-DOF

Hexacopter Power and Endurance Model

A power and endurance model for a Tarot 680 hexacopter, published as a calculator you can fly in the browser. Momentum theory with Glauert inflow splits the battery-side draw into induced, profile, parasite and avionics terms, so the forward-flight power dip falls out of the physics rather than a curve fit. Anchored to a measured 3.25 A per motor at hover, and it pulls live wind and temperature to recompute range along a chosen track.

AerodynamicsMomentum theoryEnergy budgetLive demoJavaScript

Lunar Lander: Deep RL

A PPO agent learning soft-landing control, trained with Stable-Baselines3. The reward curve traces convergence from random exploration to precise, fuel-efficient landings.

PPOGymnasiumSB3PyTorch

DQN Space Invaders

A DQN agent trained with Stable-Baselines3 and the RL Zoo on Space Invaders (NoFrameskip-v4), achieving 527.50 ± 97.42 mean reward. Uses a CNN policy with experience replay and target network updates.

DQNSB3AtariDeep RL

Reynolds Swarm

A vectorised Python flocking simulation implementing Craig Reynolds' boid model with five steering rules — separation, alignment, cohesion, obstacle avoidance, and boundary — plus measured order parameters (polarization, milling, nearest-neighbour distance). Boids are coloured by heading so the order parameter is visible: a disordered flock is a rainbow, an aligned one collapses to a single hue. 94 tests, zero obstacle penetrations.

SwarmMulti-agentFlockingNumPy

ANYmal-D Quadruped Locomotion

A PPO-trained locomotion policy for the ANYmal-D legged robot in NVIDIA Isaac Lab. A 12-DOF trot gait learned from scratch, traversing flat and rough terrain.

PPOIsaac LabLeggedRSL-RL
Work in progress

Autonomous Navigation Stack

SLAM mapping, AMCL localization, and hybrid A*/DWA planning for dynamic obstacle avoidance, deployed on a real differential-drive robot. Real-time 2D occupancy mapping while exploring an unknown environment.

ROS2Nav2SLAMAMCL
Work in progress

Multi-Robot Collaborative SLAM

A two-robot team performing collaborative map merging in ROS2. Each robot builds a local occupancy grid; a merge node fuses them into a unified global map via pose-graph optimization and grid alignment.

ROS2SLAMMap mergingGazebo
Work in progress

Custom Quadcopter Flight Controller

A from-scratch STM32 flight controller with cascaded PID attitude and rate loops and IMU sensor fusion, achieving stable autonomous flight. Low-level firmware handles motor mixing, failsafes, and real-time telemetry.

STM32Embedded CPIDControl
Work in progress

A* Path Planning

Heuristic optimal path planning on grid maps with diagonal movement, visualizing the search frontier, shortest-path extraction, and robot traversal in real time.

A*PlanningPython
Work in progress

RRT* vs A*: Optimal Planning

A side-by-side comparison of RRT* (asymptotically optimal sampling-based planning) against A* on identical maps, showing path-cost convergence and rewiring as the tree grows.

RRT*A*Python
Work in progress