Navigating a UAV, including receiving in a remote control device a user's
selection of a GUI map pixel that represents a waypoint for UAV
navigation, the pixel having a location on the GUI; mapping the pixel's
location on the GUI to Earth coordinates of the waypoint; receiving
downlink telemetry, including a starting position from a GPS receiver on
the UAV, from the UAV through a socket on the remote control device;
calculating a heading in dependence upon the starting position, the
coordinates of the waypoint, and a navigation algorithm; identifying
flight control instructions for flying the UAV on the heading; and
transmitting uplink telemetry, including the flight control instructions,
through the socket to the UAV. In some embodiments the UAV is piloted,
under control of a navigation computer on the UAV, from the starting
position to the waypoint in accordance with a navigation algorithm.