Adjusting for air/water current
December 3, 2010
First a terminology question:
What do you call the direction a boat/plane is pointed?
Yeah it is a silly nit, but I am documenting a design and people will pick nits. A simple example is a boat crossing a river. For simplicity, consider the river flowing from N to S and boat crossing from W to E. So the bearing/heading is E. But if point the boat due E you will go SE, so you have to point the boat NE. When I learned to kayak, this was called ferrying and the angle was referred to as "set", but I hate using such an overloaded term.
Now I will complicate things; if there is an island in the way, then the bearing is still E, but there will be more than one heading as there will be a waypoint. Unless it has a southern end much larger than the northern end, I want to go S of it because it disrupts the current so it is far more efficient. I will be able to point the boat to the E, maybe slightly S of E to account for the reverse eddy current and make better time and/or use less power around the southern end.
So why I am posting in programming? Well, I am hoping someone has dealt with this in water or air (has similar problems) and can advise me in a general direction that works best. If I do this purely by adjusting my heading to match the bearing on some interval, then I will end up crossing the current in a path that is an arc (probably not a true arc; more of a partial spiral). I could try to use heuristics with that to spot the pattern and try to compensate by overcompensating if that makes any sense. In other words, if I find that I have to correct by pointing further N 3 times in a row then instead of pointing the nose at the target I start pointing it a few degrees beyond it. Going back to the island problem, what if it did have a large southern end and I am going around the north end? A path to the waypoint that curves S would be a disaster!
The really hard part would be figuring out that certain combinations of throttle and steering translate to specific bearings. For example, maybe full speed at 60 degrees will cross the river in a straight line a 90 degrees. And just about the time I get enough data to figure this out, I ram into the island because there is a slower reverse current behind it.
The other option tat occurs to me is trying to measure flow. I really want to avoid that if I can.