Great news on the Lego UAV front. Ralph Hempel, who has been helping me on adding GPS waypoints and navigation to my Mindstorms Autopilot, has cracked the tricky bluetooth integration code problem. Just the review the challenge, it appeared that the easiest way to connect the Mindstorms NXT CPU with a GPS receiver is via its bluetooth interface. But the native NXT bluetooth stack and API is very limited, and we couldn't find a good way to do it in the native NXT-G language.
Ralph cracked the problem by using pbLua, a more powerful language that has been ported to the NXT. He's got a great post to show how it works here. He's also included a GPS parser, so the only remaining challenge is the port the rest of the autopilot code to pbLua and write the navigation routines that turn the GPS location information and directional vectors into rudder commands to reach the next waypoint. That will probably take another month or so, during which we'll continue to fine-tune the basic platform stability using the current compass-based autopilot that's already working.