Hi, I’m looking to prototype a floating battery powered buoy that will maintain it’s position to within about an inch even with wind and wave action. The device will have a pair of DC brushless motors and associated ESC controllers, and an ESP32 microcontroller and communicate with control software and each other using BLE. Ultimately there will be a series (10 to 20) of buoys that all maintain there own positions in a set pattern.
What I need help with is selecting the appropriate GPS RTK board and GNSS receiver to pair with this project. The buoy will not be near a fixed base station owned or controlled by me so I’m thinking I could anchor one of the buoys and make it the base that the rest of the buoys get correction data from as rovers…?
A typical buoy shape doesn’t offer much directional control as a vessel, but that would be accomplished under the water surface anyway.
A suggestion to possibly speed up the Proof of Concept so you can get into the actual vessel performance might be to use one of the many existing Autopilots, if you aren’t already. Tuning the control parameters for a skid steering vessel in the shape of a buoy seems more challenging (to me) than the RTK aspect.
If you were to test the buoy in a swimming pool with a Stationary Base Station nearby (perfect controlled conditions), my expectation would be the vessel couldn’t navigate to maintain it’s position to 12", but that’s just an assumption.
It’s a neat idea and I hope to hear more about it.
SparkFun products w/ ZED-F9P would be a good starting point for RTK.
Thanks for the reply Imagine a watertight 4" PVC pipe, about 4 ft long where 3/4 of it is submerged and there’s a pair of thrusters attached near the bottom, underwater. The thrusters would be mounted on either side like this oUo where the “U” is the bottom of the PVC pipe and the "o"s are the thrusters. Turning is accomplished by varying the amount and/or direction of thrust between the thrusters and straight line movement would occur with equal thrust and direction between the thrusters. That part is proven to work already. The tricky part for me now is to setup one anchored buoy as the RTK base and feed correction data via BLE to all the other rover RTK buoy units. Of course, if the base buoy moves, all the others will in relation, but I can program logic to ignore subtle or momentary movements from boat wakes, for example.
An actual “stationary” Base can calculate the correction to be 1 meter or more.
How could we determine that each updated position (the delta) was the base buoy movement or if it was caused by the actual Atmospheric/clock/etc errors of a typical RTK application ?
Digging into the U-blox datasheet might give some hints ?
Could your floating base station receive PointPerfect Corrections over L-Band ?
That lets you identify movement in the Base and update the base station coordinates for the RTCM to the Rovers.
Your base could be a similar vessel to the 10 Rovers to enable it to remain on station, or fairly close. That means you don’t need to anchor the Base, spend a lot of time establishing it’s coordinates, or care if the base is pushed off station by a boat wake/etc.
This would require some tweaks to the Sparkfun RTK Firmware to update the Base Coordinates each second per the PointPerfect L-Band Solution.
You can also use the NAV2 solution on each Rover as a sanity check before commanding a huge correction in navigation, as a fail-safe.
Coverage: The PointPerfect broadcast provides uniform coverage on a continental scale in Europe, the contiguous USA, Canada, Brazil regions, South Korea, and Australia regions, including up to 12 nautical miles off coastlines
Was not aware of the PointPerfect Corrections over L-Band option. Looks expensive at first glance. Ultimately there will be a total of 20 buoys deployed at one time. My software development time costs me nothing so I think I’ll start with the anchored base approach.
I bought a SparkFun GPS-RTK Board - NEO-M8P-2, GNSS L1/L2 Multi-Band Magnetic Mount Antenna - 5m (SMA), and SMA to U.FL Cable - 150mm to start playing with.
Question: If I use an ESP32 with those components, is there some open source software I can use to interface and see what’s happening with the GPS RTK reception etc. without writing my own program to do so (maybe I don’t need the ESP32 for that)?
The other thing you’ll be contending with the that the angle/tilt of the stationary buoy needs to stay mostly perpendicular, or you’d need to use something that has tilt compensation like the torch (and then feed its correction data to the other buoys like rftop suggested)…otherwise you’re going to have fairly large deltas, I imagine
Do the markers NEED to be in the water? It might be easier to launch 20 small drones with arduflight and such from a boat if feasible