ArduPilot is a FOSS autopilot based around Arduino. It has different firmware builds to support helicopters, multicopters, planes, cars, and boats.
Since I've been mostly focusing on multicopters, I'll stick with that. A basic, fully assembled quadcopter kit will run you about $600. This does not include a telemetry module for controlling from a computer, or an RC radio for controlling manually. The US-band telemetry module will run another $85. A cheap 2.4GHz RC radio can go for $50-75, though if you're serious, you'll probably want to run at least $150-250. Then there's the battery, which goes for about $70.
That also doesn't come with on-board video, which is another $190, and uses a secondary radio on 5.8GHz. The standard OSD module sold on 3D Robotics does *not* have HD resolution.
If you're looking for something to play around with, the AR.Drone will cost about a third the price.
I don't mean to be all negative about the ArduPilot. Clearly, ArduPilot does something much more serious than the AR.Drone. This is a platform you can hack. Change out motors, platforms, hexcopters, octocopters, camera gimbals, everything. It's also designed with a GPS module that can be used to instruct the UAV to fly to a spot and fly back.
ArduPilot has a documented control protocol. At least, I think that doc is still relevant. The wiki page there says they've moved, but I couldn't find anything more up to date on the protocol description. In any case, I'd love to implement this in UAV::Pilot someday.
The impression I've been getting is that if you just want to mess around (nothing wrong with that), buy the AR.Drone. If you want to get serious, buy the ArduPilot. Somehow, though, I think there should be a platform that starts as cheap as the AR.Drone but lets you work your way up.