Arduino is a great fit for your problem. It is not only used by hobbyists and beginners but it is frequently used by top Universities for both teaching and in research. Arduino also has a large active community which makes helps when you have a problem.
There are a couple of caveats to the Arduino solution however. 1) They have very limited computational power and no floating point unit which can further slow down calcuation. 2) Working with Arduino does require one to have a rudimentary understanding of electronics. Of course there are myriad tutorials that can help you get up and running in a matter of minutes. However when I first delved into robotics I wanted to avoid the electronics aspect so as to focus on the programming.
Phidgets is a good alternative. Many Phidgets components are abstracted to the point that you only need to connect them to a computer via USB and processing is done on a desktop, laptop, or single board computer (SBC) which have more processing power. Furthermore Phidgets works with multiple operating systems and they offer a lot of well documented code to simplify interfacing with their parts. It is worth noting that Phidgets solutions tend to cost a bit more than Arduino solutions but they're still reasonably priced.
I would suggest against Parallax. They are interesting but they don't offer anything over Arduino, they are more expensive (than Arduino), and they are considerably less flexible from a programming perspective in my experience.
Also Phidgets do not work well in UAV applications. For that I would advise looking at the ArduPilot. It is an Arduino based solution to UAV and UGV robots and includes a number of built-in sensors for state estimation. Furthermore ArduPilo has its own a large active community.