Autonomous Bathymetric Surveying “Gumption Trap” - Part 2
I added some functionality and other improvements to my self driving solar powered boat. The main addition is a sonar echo sounder altimeter. This allows the robot to take accurate depth measurements up to a depth of 50 meters.
I also revamped the electronics to improve reliability and add data logging capability. This includes a custom PCB and a few new sensors. The robot plots point triplets of latitude, longitude, and water depth as it travels in the form of a CSV file. I later use MatLab to plot this data in 3 dimensions.
Here is a Github link where you can download the code I wrote which runs the boat, the code which generated the plots, and the schematics/board layouts I designed for the custom PCB.
Project Video
This video explains the upgrades I made since the last post. It also shows some footage and analysis of the first successful depth plotting run. This mission created a depth map of a local pond.
![depth.png](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/bf2d13b0-cdc2-4618-a83d-d531af66a720/depth.png)
![front view.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/e56c0346-3ab2-4fe0-9ff1-46fac78bfcf2/front+view.jpg)
![sonar module.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/1421b82e-033c-4d20-b43b-ee0541937897/sonar+module.jpg)
![Brain upgrade.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/750c4ebf-f6a5-402d-b358-d8a21ae30777/Brain+upgrade.jpg)
![blank pcb.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/59993e63-c7e1-4bf0-beb1-462fd584dcb7/blank+pcb.jpg)
![Screenshot 2023-03-07 214301.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/a65dc3c5-a8b6-4186-beac-9aa25406976b/Screenshot+2023-03-07+214301.jpg)
![onboard duck shot.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/fe87c9fc-1459-4a1c-914a-876d768fa1d6/onboard+duck+shot.jpg)
![pcb layout.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/5f0db06b-8bbd-43d3-a605-d401a7e81809/pcb+layout.jpg)
![schematic.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/6e32b115-0efe-4677-8f34-e654aebdf0a5/schematic.jpg)
![shrouds.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/e54f33a0-a2d8-475b-bc06-34223788bdbc/shrouds.jpg)
![under hood 2.jpg](https://images.squarespace-cdn.com/content/v1/6306cf9d6c80590480b52902/19f61049-041b-4ff2-b630-6709f1d7a336/under+hood+2.jpg)
The latitude and longitude on this plot are not to scale. The black dots are the points where a depth measurement was taken. The line is the actual measured path that the robot followed. The color scale is in millimeters, with the maximum recorded depth being about 8.8m (29ft)
Depth Map
Raw Collected Data
This image shows the measured depth map approximately scaled to match a satellite image. The dock in the bottom left corner of the image is where the boat was launched from and returned to.
Depth Map vs Satellite Image
This image shows the measured GPS coordinates approximately scaled to match a satellite image overlaid with the planned path. The loops on the right side of the actual path were due to a bug in the code which didn’t correctly determine whether to turn clockwise or counter clockwise if the difference between goal heading and measured heading was less than -180®. This data, along with the raw black-box data, was extremely helpful for troubleshooting bugs and optimizing the code.
Planned Path vs Actual Path
Black-Box Data Charts
These are some plots of a few interesting parameters from the recorded black box data during the mission. See the project video for some analysis and other thoughts about these data.