Projects

NASA BioBOT

Owned underwater sensing and autonomy software that made BioBOT pool trials more reliable and repeatable for NASA partnership milestones.

Undergraduate researcher · 2025 · ROS, ROS2, Python, C++

NASA BioBOT rover on a table

The problem

BioBOT is a NASA-sponsored underwater robot at UMD Neutral Buoyancy Lab. Sensing and autonomy that look fine in simulation fail in the pool: lighting, drag, and sensor noise are different, and a trial that cannot be repeated is not evidence. The engineering purpose is locomotion and navigation software that survives in-water testing well enough to support partnership milestones.

What I did

I collaborate with the faculty PI and student robotics team and own the underwater sensing and autonomy software. The work is not simulation-only. I integrate ROS and ROS2 stacks with in-water testing, run structured pool trials for locomotion and navigation, and collect telemetry and video so the next iteration starts from what actually happened in the tank.

How it works

The stack is ROS and ROS2 with Python and C++. Simulation and pool trials share the same software path, so a change can be checked in both places. Trials are structured rather than ad hoc, which is what makes reliability and repeatability measurable instead of anecdotal.

What happened

Test runs became more reliable and more repeatable, which is the actual requirement for NASA partnership milestones. The contribution is the sensing and autonomy software and the trial loop that lets the team iterate on evidence from the water, not only from the simulator.