Course hold boating project

I'm interested in a project which given a GPS track or series of waypoints holds a heading. This project is similar to many of the auto pilot threads with some differences that may make it simpler.

I am hoping to use side scan sonar to map river bottoms on a smaller oar powered white water boat. Side scan sonar performs best when a relatively straight line is followed. Navigating down a river usually requires what's called ferrying to avoid obstacles. When ferrying down a river the boat's bow (or stern) doesn't always point in the direction of the river flow. Thus, if a transducer is attached to the boat it will be subject to a changing heading which will result poor sonar performance.

I'm wondering if I could follow a similar routine as the auto pilot but instead of changing the heading of the boat I'm thinking I can mount the transducer on a rotating mount and adjust it's heading to point downstream no matter the position of the boat. Alternatively, I could try installing a rudder on the pole and let the current guide the pole, but what's the fun in that.

I have a grasp of heading sensors and GPS, but I'm not as certain about changing the rotation of the pole so I'm wondering if others have tackled similar projects? Input is appreciated!

Changing the direction that the sensor is pointed is not different in principle from changing the direction that the boat is headed. I suggest to use a magnetometer to report the direction in which the sensor is pointed, and correct it as required using a simple PID algorithm.

Magnetometers need to be calibrated to be useful, and you will probably want tilt compensation. I recommend the LSM303D combination, along with Pololu's code for heading.

For calibration, this post provides an overview, and this tutorial is definitive.

Thanks! I found some reasonable starting points to begin my project using the hardware you suggest. l