Posts: 190
Threads: 55
Joined: Mar 2018
Reputation:
9
You can try drone software and ardupilot which can control drone subs.
Basically imagine your own vessel is your sub drone.
BBN OS for pi4 includes software to control such drones
which would be running ardupilot.
Worth trying.
Cheers
Posts: 1,919
Threads: 18
Joined: Jun 2016
Reputation:
53
2022-12-19, 02:42 PM
(This post was last modified: 2022-12-19, 02:43 PM by seandepagnier.)
It depends on what you are trying.
To hold a position can require the boat to spin around if it has to oppose a current especially dynamic currents. Also would need both speed and direction control, or perhaps 2 motors each with speed control.
I intend to support these configurations with multiple motors like people with multiple hydraulic pumps or multiple rudders even as well. The new boards I'm making have 2 motor controller outputs. This will be eventually but not in the next version.
If you hacked in a new "pilot" it would be the easiest way to try this out. Alternately a new mode could be added for position hold, but to really work it needs at least 2 outputs not just a rudder.
Posts: 24
Threads: 1
Joined: Mar 2022
Reputation:
0
Hi, thanks. Do you mean that it would be necessary to know the boat speed and direction? If so, I could think to try for alternative solutions regarding the boat speed . Would it be manageble by pypilot the only boat direction and it's distance from the gps target to hold?
Again excuse me if my questions are wrong.
Best regards,
Francesco
Posts: 1,919
Threads: 18
Joined: Jun 2016
Reputation:
53
position holding is a different control loop entirely from what pypilot currently uses. To work well it would have to figure out what direction is best to face by estimating "drift" but the value varies by angle depending on windage.
Holding position over ground with significant wind and current from different directions would be a challenge.
Basically you could implement this logic in a separate pilot and use that to minimize the amount of code to a few lines but holding position is not yet implemented.