Autonomous Fishing Boat with custom Rudder and Integrated Thruster

Hello,

Here in NZ it’s common practice to send a fishing line past the breakers using a product called a Kontiki. This is basically just a long RC boat with a brushed motor, which is controlled by a timer and gets pulled in by a winch to collect the Kontiki and the catch.

I live in a part of the country where the fishing is pretty abysmal unless you have a boat so my solution is to build my own which is controlled by ardurover. I quickly learnt from testing that a passive rudder alone didn’t give me the turning authority I wanted and I thought it could be useful during loiter to have some sort of bow thrust.

This is what I came up with:

Does anyone have any thoughts on how to configure the rudder with ardurover?

It’d be nice to be able to use both the passive rudder and thruster to get out of trouble. Then use the ‘power rudder’ to translate rather then rotate around a point while holding position to not get it caught on the line.

Any help would be greatly appreaciated.

Tom

P.S. The GPS/compass, serial transceiver, receiver, video transmitter and status LEDs are housed in a translucent PETG print on the top of the mast.

1 Like

Hi @tomcerat,

Interesting design. I guess the thruster near the front does not rotate? If it doesn’t rotate then the setup for that thruster is quite straight forward (just set SERVOx_FUNCTION = Throttle). If it rotates then it would be vectored thrust so the servo controlling it will be set to SERVOx_FUNCTION = GroundSteering and the thuruster is SERVOx_FUNCTION = Throttle.

For the rear thruster … it would probably be best to set it to SERVOx_FUNCTION = GroundSteering and then adjust the SERVOx_MIN/MAX range to be small enough that it doesn’t overpower the forward thruster. This is not quite ideal, a custom mixer using a lua script would probably be better.

2 Likes

Thanks for the advice, much appreciated. Yeah the front thruster is fixed but I’ll give the ground steering a go with the rear one.

Slightly unrelated but the board I’m running is a SpeedyBee F405 V3 and from my research it has memory limitations that will effect its ability to run Lua script. Do you think that’s enough of a restriction to run custom mixing?

1 Like

Hi @tomcerat,

Yes, that’s right, the board should really have an H7 CPU in order to run scripting. Without this we’d need to create a new mixer in C++ which is going to be more difficult.

Hi @rmackay9

Does that involve making the changes through the source code rather than the Lua “sandbox”? I’d say the the most economical option would be going for one of the Matek H743 boards. Do you think any of the Omni configuration would suite my application? Also do they support loiter now in Rover 4.5? Thanks

Very interesting! I won’t be able to help you because I discovered ardupilot today… but keep posting because the subject interests me greatly :slight_smile:

1 Like

I think you should set it up as an omni 3 plus, but with one thruster, that will let you use a motor for yaw control

Hi @geofrancis

Do you know if omni boats support loiter?

Your not using the Omni functions you just need to use the mixer from one to get a motor output that controls yaw.

Can this be configured in mission planner or will it require a lua script?

You just need to change the frame class to Omni and set the motor outputs

So I’m running an omni class with no functions except for the motor mixing for the rudder motor (not control surface) and main motor? Will this work with loiter? Could I still use the rudder control surface aswell by setting it to ground steering? What’s the example of an omni function? Apologies for all the questions just trying to wrap my mind around it. Thanks

basically we want to set it up llike the omni 3+ but with a rudder and only one transverse thruster as that would be the closest match your your layout.

we only need it set to omni for the transverse motor output, it behaves the same in every other way to a regular boat. OMNI doesnt really work on ardupilot at the moment anywa in anything other than manual mode so its not an issue.

Hi @geofrancis

I understand what you mean now, however I do not think OMNI will be applicable for my use case.

I really need loiter for setting the line because unlike a normal bait boat the Kontiki stays out with the long line basically acting as a float. They refer to this as a soak in the fishing community.

Why I was interested in the lateral movement was to stop the boat from severing the line during the ‘soak’.
This is all came about because boats loiter radially around a point.

@rmackay9 is there anyway to set up loiter so it won’t travel behind the position it’s holding relative to the boats original heading?

Thanks
Tom

we are not using omni or latteral movement in any way. we just need the omni mixer to work the motor for yaw control. if you dont assign a channel to roll then there is no lateral control input.
drive

What’s the advantage of this over just setting both the moveable rudder and thruster to ground steering?

the thruster will be inverted when you reverse if you set the thruster as a rudder.

turning a bow thruster right will rotate the boat clockwise regardless if your going forwards or backwards, a rudder changes from clockwise to anticlockwise when your reverse.

1 Like

Oh I see that’s makes sense, appreciate your patience haha. So in summary I’m just setting the frame up as Omni to get the mixing for the rear thruster but everything else is set up like a conventional boat.

Does not having all the required motors for a full Omni frame preserve the mixing while allowing me to use RTH and loiter for positon hold like a normal boat? What modes can this thruster be used in? Cheers

everything will operate like a normal boat, all of this is just to get your thruster to go in the correct direction when steering it will work in every mode.

1 Like