Nothing is more exciting than the first time a system comes to life and can be tested. The last two weekends, I was fortunate to have great weather to be able to run a few tests! Last week, I got course keeping to work, this week I got waypoint following to work!
The first time, things came to life I had the suspicion that my rudder command might go into the wrong direction. And sure enough, even though the the buttons for "go a little port" or "go a little starboard" were functioning at the dock, the moment I started using the automatic course keeper, the boat always steered in the wrong direction! Not sure why but my solution was simply to swap the direction on the H-bridge to get around this. Now, the "steer more starboard" doesn't work anymore but course keeping and waypoint driving works. So I don't care much. It looks like a bug in PyPilot to me because no one is using those buttons anyways. Usually everyone either steers manual or sets a course. So that's fine.
Today, I got the waypoint driving tested.
Above was the active route that I was driving at the time, below is a screen capture of the same, after the fact.
If we zoom in, you can see the boat is not following the course super accurately but it's definitely good enough to be on watch but not actively participating in the course correction of the boat:
It is really impressive how a 36 ton boat just drives from waypoint to waypoint without breaking a sweat or caring. The controller just does the job. Care must be taken, though, where to place those waypoints! DO NOT place the waypoints too close to land marks! Like buoys or similar. Since external factors will push the boat away from its desired path you will hit things if you're not careful. People have lost boats because of this! It's no joke! Watch the boat like a hawk and take over immediately the moment the slightest doubt comes up!
Here you can nicely see how my boat is still oscillating slightly and not actually going in a straight line:
I'm sure I can optimize this a little bit but I don't care much about this inconsistency right now.