Another autonomous buoy


There have been several autonomous buoy projects going back 10 years in the world of ArduPilot. I’ve recently joined the committee of the ANUSC (Australian National University Sailing Club) and I thought it would be fun to have a winter project to build a buoy to help out with racing events for next sailing season.
I chose a boogie board design with 2 cheap thrusters from AliExpress

The thrusters are glued into the bottom of the board with epoxy, and a cheap plastic food container is used to hold the electronics.
To make it visible at long distances on the lake I initially used two yellow pool noodles

I found they weren’t as visible as I had hoped, so switched to a traffic cone after I saw how well it worked for a smaller buoy that Jack Pittar built. I’ve got a larger collapsable traffic cone on order that should be more suitable for the size of my buoy.

For ESCs I used two of the fantastic 50A DroneCAN AM32 ESCs from VimDrones. They give me nice RPM, voltage and current feedback and a nice DroneCAN user interface for tuning the ESC parameters. Thanks @Huibean !
The other interesting part of this buoy project is a SIM7060E-H LTE modem, which I’ve direct attached to the flight controller (a CubePilot CubeOrange). That gives me telemetry anywhere it has signal from a cell tower without the need for a companion computer. I’ll do a separate blog post about these soon, but you can read a bit about the support for these modems here: ardupilot/libraries/AP_Scripting/drivers/LTE_modem.md at master · ArduPilot/ardupilot · GitHub
The buoy is working extremely well. I had an initial problem with it nose diving at medium speeds (around 1.5 m/s), which wasn’t solved by moving the weight back. Jack Pittar then suggested adding a corflute bow on to ensure it kept it’s nose up and that worked very well. It now works well at any throttle level, with a max speed of 2.5 m/s.
The current draw (with a 5Ah 4S battery) is about 22A at full throttle which gets about 2.5 m/s. If I reduce it down to a 2m/s target then the current draw drops to around 10A, and the current when holding position in low wind is about 0.2A.
Tuning was pretty easy with the rover quicktune script and I’m now very happy with the performace.
Next step is to create a web interface. I don’t want the race coordinators to have to use a R/C transmitter or a normal GCS interface, instead I intend to create a custom web interface operating over WebSocket. To support that I’ve recently added WebSocket support to the ArduPilot support proxy Partner Support Proxy — Dev documentation
Lots more photos and some videos here if anyone wants to see them
https://photos.app.goo.gl/1GmhbTcNt6WB2dCh9

8 Likes

Excellent project ! Simple and effective.

OK a bit of cheating as you are part of the dev (even if it more on plane side), but it still show ArduPilot can works well with simple vehicle and with minimal setup !

3 Likes

Sweet craft and a great place to do tests!