Pool Test 04/05/24

Before the test:

One side of the 3D print for the downward DAI was broken/dangling so we secured it with tape. Vincent is going to reprint it. We also secured the loose 1D sonar with zip ties. Philip said that there should be a mount for it.

8:30 – 10:30:

We first tested the seal of the robot by submerging it (without a battery). We took the robot out and inspected it and observed no water in the capsules. Therefore, we proceeded with the pool test.

When we were putting in the robot, we noticed a red cap sitting on one of the legs. We suspected that this went underneath the robot but saw no exposed ports.

We readjusted buoyancy and static power. Surprisingly, the back of the robot was significantly more buoyant than the front so we added 2 small blocks and 1 large block to the front. The robot is once again level with the pool; however, perhaps too buoyant everywhere. We also increased static power from -0.19 to -0.25 to account for the increased buoyancy.

11:30 – 1:30:

We resumed tuning PID. We were having problems reaching the Z setpoint so we decided to retune Z pid from scratch. Through empirical testing, we found that just using Kp gives good performance for Z. We increased Kp until the robot slightly overshoots the setpoint. (Adding a Kd term seemed to increase the amplitude of oscillations, not decrease).

We then tuned X and Y PID by moving the robot 1 down then 5 forward/left. Multiple times, task planning would get stuck on the first task and would not proceed to the second task. This happens even when we overshoot, oscillate, then reasonably stabilize about the first setpoint. We may want to reconsider how task planning does this check.

Yaw sensor drift is still a significant problem and resulted in the robot moving diagonally when state was initialized with the robot parallel to the lane. We believe this is due to inaccurate sensor values from the DVL, especially if the robot gets too close to the walls. We should consider further tuning the Kalman filter/covariance matrices.

Humidity readings ranged from 80-90%. Temperature readings were about 93F.

Back at the lab:

After opening the capsule, we observed water on the 1st and 2nd levels of the stack. We believe this built up during the course of the pool test since we did not observe any water in the stack immediately after our initial submerge. The robot is now drying in the lab. We do not currently believe any components were water damaged, but corrosion could be a long-term problem.


  • Buoyancy is very good.
  • Static power is very nice.
  • PID is excellent.


  • Battery mount is a little loose.
  • Replace downwards DAI 3D print.
  • Mount 1D sonar.
  • Yaw drift.
  • Task planning setpoint detection is unreliable.
  • Batteries need to be charged.