I’m looking for a little advice on how to proceed with a project I want to make. I have a 5m pontoon boat that’s electrically powered on one side of a lake. Let’s assume it’s tied down in a way that it allows for an automated release if needed, something like a clamp holding a wire.
I’m planning on buying a BeagleBone Blue for the sole reason it’s linux and I can run other services if needed, more on this below.
My end goal would be to have an app (I can take care of this) communicating with something (hoping a little service hosted by me + mavlink + Arduboat) that allows me to summon the pontoon on the other side of the lake (maybe even allow fine control to steer it during the last few meters since GPS is not that accurate).
This I assume would be 100% possible, my problem is with the reverse. I’d jump on the pontoon, drive it(or waypoint) to the other shore then “tell” it to go back and re-dock itself to the same cable. Is Arduboat capable of doing something like this? This would require maybe 10-20cm accuracy, I saw some mentions of QR codes + camera or IR tracking. Would it be possible to somehow program this into Arduboat or do I need to combine it with some custom code after reaching a waypoint somewhere in front of the docking place and then take over and do the docking part from a Py script communicating with Arduboat just for control?
Ardupilot can navigate with enough precision to dock but I don’t think a pontoon will have enough control authority to consistently hit target this small under anything but perfect conditions.
It would be cool to see a real use case for Autonomous Docking after all the great work that was done in GSOC for it!
What about a bow thruster? Would ArduPilot support that? A main engine with rudder plus a bi-directional bow thruster for fine control
Either way, my plan is to have a wire of about 3-4m to which the pontoon can lock, just to grab it with a clamp or something.
Check out Omni vehicles.
If you search the forum here for “bow thruster” you will find some interesting posts from @geofrancis
ardupilot can use a bow thruster but only for yaw. so it will help it turn on the spot if you set it to.
To set it up on your single screw, single rudder plus bow thruster setup, you will need to set the frame to omni plus, set the bow thruster to motor 1 and the main motor as motor 2. Once setup it should allow it to turn on the spot.
Does anyone know if I can chain/save commands? I haven’t used Planner in a veeery long time and I don’t know if it supports this.
I’d like to somehow save the whole routines like:
- pickup - undock (trigger an actuator with some GPIO), reverse, navigate to waypoint, loiter.
- dropoff - reverse, navigate to waypoint, align on heading, dock, trigger actuator to dock.
and then recall them when needed?
You would set these up as two different mission files and then load/run them independently (either manually through GCS or automatically through Lua w/ missions saves on SD card).