AC.motion

July 13, 2008

Home-made differential GPS

GPS information is deliberately "dumbed down" by adding an artificial error - only the military gets the exact data. The artificial error is random and changes every couple of minutes. So, what can be done to get more accurate positions?

A fixed base station with an exactly known location receives GPS data. It calculates the difference between the GPS location and the real location and transmits the error as a broadcast. A GPS receiver can receive the broadcast and deduct its exact position from its own GPS location and the error.

Neat! What what do you if you don't have a base station and a GPS-receiver that supports differential GPS? My laptop will serve as the base station. While I control the ship the laptop will stay put and receive GPS information. Any "jumping around" in the location is general GPS positioning error plus artifical error. The total error - how would I separate general from artifical error? - is transmitted to the ship via WLAN. The ship takes its own GPS measurements and uses the transmitted error information to improve the accuracy of the position.

That's the theory. Will it really improve the accuracy, or will the general errors of two receivers just add up and increase the blur? I am going to try this out by using two laptops with GPS receivers on a walk in the park.

Back to "how would I separate general from artifical error?". Maybe I could integrate the position of the base station over a longer amount of time. If the artificial error only changes every couple of minutes (verify that!), that might help.

July 08, 2008

How does a ship turn?

Another question that turned out to be not as simple as it seemed! Let's assume the ship moves along with no engine power, and the rudder is used. The resulting torque will turn the ship - which does not say anything about the direction of movement yet!

Without interaction with the surrounding water the ship would keep moving in the same direction, just an an angle. Since water resistance along the ship is much lower than across (that is, moving the ship sideways), the resulting drag force will change the direction (and amount) of the speed vector in direction of the lower resistance (that is, in the direction of the long axis of the ship).

Now the same scenario with engine power: this would work even in space. The torque turns the ship and with it, the direction of force produced by the engine. This results in a force and acceleration pointing in a different direction than the current speed vector, and the direction (and maybe amount) of the speed vector will change.

What happens if you push she ship through the water at an angle and let it go? Will it turn in the direction of movement and generate less friction, slowing down the turn, or will it turn away and experience more friction, accelerating the turn?

As described above the friction will change the direction of the speed vector. But will the ship body turn as well? If the center of mass (which is the point the ship rotates about) divides the ship in parts with equal resistance the ship will not turn. So, what if that is not the case?

I would think that a lot of mass is in the stern of the ship (engine), and that the center of mass lies within the rear half of the ship. Further I believe that the stern with its rudder creates a larger sideways friction than the bow. Since torque depends on force and distance from the center of rotation, which torque will be larger?! I don't know; it might depend on the ship!

Simulating the rudder

The rudder is quite an interesting thing, force-wise. When the ship stands still, no force is generated at all. When the ship moves, the force depends on the amount of deflected water which depends on the speed and the position of the rudder. It actually depends on the direction of speed, too, since it makes quite a difference if the ship moved "normally" or sideways (in example, when the bow and stern thrusters are used).

Then the force depends on the force produced by the engine as well. When the ship stands still and the engine goes full ahead, the water accelerated by the propeller will produce some force when it hits the rudder though the ship is not moving yet. This effect is often used when a ship tries to dock or undock: the captain revs the engine for a short time to make the ship turn without moving it (much). Or, another option: one end of the ship is moored while the engine is run to turn the ship.

I assume, too, that when the engine is run backwards the stream of water passing the rudder will be much more diffuse, producing less force compared to running the engine forward.

Summary: The forces produced by the rudder depend on the angle of the rudder, the speed and direction of the surrounding water, and the speed of the water jet produced by the propeller.

More on simulation

I spent quite some time figuring out the physics of the motion of the ship. Torque proved to be a more complex problem than I thought since the ship is not rotating around a fixed point; it floats and therefore rotates around its center of mass (that alone took me some time to google).

Interesting, too: When the bow and stern thrusters push in the same direction the produced torques cancel each other out and produce a linear thrust. I could not find anything about that on the net and filled a lot of paper with drawings and formulas before I found something that could be passed on as a solution.

The general idea: calculate two separate sums of left turning and right turning torque. The difference will be torque indeed and accelerate the turning rate of the ship. The canceled out part will provide a translation force acting on the center of mass.

I refined that idea by calculating for each engine the amount of force directed to the center of mass (translation) and perpendicular to that vector (torque).