ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

I would advise you to look into the Ardunio Pilot open source project, what you're trying to achieve is incredibly difficult. People have put tens of thousands of hours into developing UAV autopilots and there are some very good ones out there.

Get one of these systems working for you, and become familiar with how they operate and then decide if it's really something you want to try and build from scratch.

I'm not trying to put you off at all, I've worked on a few really fascinating projects with autonomous drones. It's a lot of fun, but you don't have to re-invent such a complex wheel yourself.

I would advise you to look into the Ardunio Pilot open source project, what you're trying to achieve is incredibly difficult. People have put tens of thousands of hours into developing UAV autopilots and there are some very good ones out there.

Get one of these systems working for you, and become familiar with how they operate and then decide if it's really something you want to try and build from scratch.

I'm not trying to put you off at all, I've worked on a few really fascinating projects with autonomous drones. It's a lot of fun, but you don't have to re-invent such a complex wheel yourself.


Ah okay, now I see what you're trying to achieve. You want to build a ros node that can link to a UAV using the MAVLINK protocol to then control what that UAV does. The link you posted should be a good place to start.

But what exactly are you trying to make the UAV do? The MAVLINK protocol is quick high level, you don't have any control over the UAV's pitch, that is entirely under control of the autopilot. You can however tell the UAV to fly to a particular waypoint using a MAV_CMD_NAV_FOLLOW command, this position can then be updated to make drone move around.

Think about it like this, using the MAVLINK you can be the navigator of the drone, and tell it where to be and where to go. But the on-board outpilot will always be the driver, and will control the pitch, yaw and throttle of the drone. These use complex control algorithms and estimates of the current position from multiple sensors in order to safely fly the drone. Most autopilots will also ignore any mavlink commands if the battery is a dangerously low and return to their landing site and land safely for example. If you can tell me a bit more about your project I'll see if I can get you started.