As we've mentioned before, our long term plan for ArduPilot includes it being compatible with Willow Garage's Robot Operating System as a "ROS Node", which is to say that it can communicate with ground computers running ROS for things like swarming and multi-UAV control. The Willow Garage team is supporting this, too, and here's their latest update on Arduino+ROS progress:
We recently wanted to hook up an analog gyro (the Analog Devices ADXRS614) to ROS, and decided to use an Arduino to handle the conversion.
The Arduino runs a tiny loop that reads the analog values from its six analog lines,and writes these values to the USB serial connection. Meanwhile on the robot, a small ROS Python node listens to the USB reports, and publishes them as a ROS topic.
That's all there is to it: the whole thing takes under 40 lines of code.
This is probably the simplest possible way to use an Arduino with ROS. There are quite a few more sophisticated projects: