> Software developer on a combat-robotics student design team — building the navigation and perception stack that drives, finds, and tracks opposing robots in real time.
// perception → actuation
Wrote a TurretDecouple C++ ROS 2 component that publishes a heading-locked tf2 frame and remaps velocity commands, so Nav2 can plan for a holonomic base carrying a continuously spinning LiDAR turret.
Restored lateral motion by migrating the Nav2 local controller from DWB to MPPI (omni model), retuning critics, costmaps, and velocity limits within a CPU budget shared with vision.
Raised the 8-class detector's mAP@0.5:0.95 from 0.66 to ~0.98 by rebuilding the dataset and label scheme — from ~7K color-only images to ~14K team-color × robot-class images — and cut camera-intrinsic RMS reprojection error ~80% to sharpen PnP pose estimates, all running in real-time C++ on a Jetson Orin Nano.
Cut manual labeling effort ~75% with ONNX pre-annotation, a PnP validity filter, and a dedup frame extractor; made the robot stack start at boot and stop cleanly by replacing a fragile script with a systemd user service.