Pool Test 04/26/24

We attached a much wider base to the marker, which allowed it much more stable when standing up in the pool. We setup the prequal course. We’ve put small pieces of tape near the edge of the pool at three points: robot starting position, gate position, and marker position.

We adjusted buoyancy and retuned static power global.

We initially attempted to do the prequal purely using dead reckoning, but the robot’s behavior was very inconsistent when moving between the gate and the marker. Sometimes it would bump into the wall, sometimes it would veer off into the other lane. We concluded that the distance between the marker and the gate was simply too large for dead reckoning to be reliable. We would have to get very lucky to successfully complete the prequal using dead reckoning alone. We pivoted our strategy to having the robot track a CV target when moving between the marker and the gate.

We reassembled last year’s buoy and placed it behind the marker. We changed task planning to use dead reckoning to move past the gate, then use CV to track one of the buoy glyphs. This made the robot’s forward movement much more reliable; it consistently went towards the targeted glyph, going past the marker.

However, whilst tracking a CV target, the robot would slowly rotate along all three angular axes. This was because every time the estimated pose of the object was updated, the angular setpoints were updated to the robot’s current orientation. This meant that small tilts accumulated over time; when the robot reached the CV target, it would be tilted about 20 degrees in all angular axes.

After finishing `move_to_cv_obj`, task planning switched back to dead reckoning to go around the marker. This didn’t work well, because of the aforementioned rotations the robot experienced.

We also attached the `gate_abydos` glyph to the gate. Although we didn’t get to testing this part, after going around the marker, the plan is for the robot to yaw 180 degrees so the camera faces the gate and to then use the gate glyph as the CV target when moving back.

Humidity started at 57 but quickly climbed to the 80s and stayed in that range throughout. We took the capsule off twice and dried everything. We observed condensation on top of the capsule and small pools of water in various places.


  • Robot can reliably move towards a CV object using our new task planning system.
  • Using CV, the robot can reliably perform the


  • Robot still leaks.
  • Sonar 1D mount needs to be nail polished.
  • `move_to_pos_local` needs to have an option to keep the original orientation in spite of setpoint updates; this would fix the issue with the robot tilting when tracking a CV target.