This summer I am in a program of students developing collision avoidance algorithms for UAVs. They are testing/writing these algorithms in the ROS environment. My goal this summer is to have the ability to communicate between then APM and the ROS environment so that we can use the algorithms on our planes. The idea is to be able to send waypoints, calculated by the algorithms, up to the planes from the ROS environment and to have the planes send back GPS coordinates to ROS. I believe the easiest way achieve this is with the serial_mavlink_ros package. I have read through most of the pages on http://qgroundcontrol.org/mavlink/start but this MAVlink stuff still seems a little hazy.
Idealy, the ArduPlane code shouldn't have to be altered except to make the plane send GPS coordinates to ROS every so often. Hopefully, most of the changes will be on the ROS side, so that the collision waypoint information can be sent to the plane and the plane will just fly there. This can be achieved in MAVlink commands, right? If so, how do you format a message to do that? Also, how would you format the message to send GPS information back?
Futhermore, does it seem like I am on the right track to get my project off to a start? In my mind, it seems like once a communication is established between ROS and the APM then I should be able to send/receive most any data. Therefore, if MAVlink is capable to send/receive waypoint/GPS info then I should be able to accomplish my goal.
You should read up on ADSB. There's no reason we shouldn't have ADSB in on our GCS. If you make a reasonable attempt at making a real world system I'm sure it would see use.
If you get something working I'd also seriously think about putting in a request to the FAA for them to mandate it in the new drone laws when released.
You can already get a cheap (73 euro) ADSB receiver, so there's no real reason we're not already using this stuff, other than the fact that we don't fly in the commercial airspace anyways.
I've always said that if you can show a system that will prevent the chance of collisions we'll be far more likely to get more access to the airspace and less prohibitive regulations.
I don't really see where the ROS fits in though?
You might want to post this in the ROS User Group here: