I built a boat 4 years ago and Rover 2.47 was the code to use. Back then you had the choice to either use skid steering or regular steering. The boat had to be wired for the method you wanted to use and it was one or the other. It looks like things have changed. My two thrusters were hooked up to SERVO3 with a Y servo connector to use regular steering. Steering, rudders, are on SERVO1. Today I took the Y connection off of SERVO3 and made some changes. I changed SERVO2_FUNCTION to 73 and attached the left thruster. Changed SERVO3_FUNCTION to 74 and attached the right thruster. It appears after a small amount of bench testing that I may have a combination of skid and rudder steering. Didn’t bench test to much because the Blue Robotics thrusters should not be run much out of the water. I’ll look at it again on the bench tomorrow and then out on the water Friday. Unless I’m missing something this looks very promising.
That sounds really interesting. This is an untested configuration but theoretically it should work. Whether it works immediately or not, i’m interested in hearing the results (and seeing the logs if you have them). Txs for trying this out!
My big concern is, and always has been, if a thruster gets fouled or an ESC overheats can I still get home. With my previous set up I was able to unplug one thruster and still control the boat from point a to point b. I am not sure with this configuration if that will be possible.
Looks like the testing on the water will be tomorrow morning. I did one last bench test. Using Mission Planner I changed SERVO2 and 3 back to 70. It kind of tried to go back to regular forward and reverse thrust but with issues. I then put both outputs back to 73 and 74. It kind of reverted back to skid steering but with issues. Apparently if you change SERVO_FUNCTION you need to reboot the Pixhawk.
Ok, good luck! I share your concerns about whether this will work. My guess is that it would still work even if a thrust was stuck. It might return very slowly though :-). A third thruster could be added of course and connected to a servo output set with the SERVOx_FUNCTION = 70. Perhaps things are getting out of hand with that many thrusters though…
Life got in the way today. Try again tomorrow morning.
Make sure you have a cup of coffee because this is about 20 minutes. I had a few strange thing happen that are explained with my narration . I’ll look at my logs within a few days. I’m kinda busy tomorrow. Each setup, skid or regular steering, has its advantages and disadvantages. I have a suggestion for possible future code I will give when I have more time. I am very appreciative of all the work that is being done and that boats finally have a type of loiter or position hold
Good test, thanks for the video!
So it looks like in a basic sense the dual skid-steering plus Ackermann steering works but probably not as well as just using one or the other (for now). I think the basic issue could be that the steering rate tune is shared for the two steering methods so it is unlikely to be good for either steering method. It might be possible to re-tune it to get a tune that’s in the middle but perhaps we should save that for a future release.
Anyway, i think you were the first person to ever try this so thanks!