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

Basic understanding of MAVROS, Quadrocopter, UAV

asked 2016-04-16 13:46:03 -0600

Markus gravatar image

updated 2016-04-18 01:51:10 -0600

gvdhoorn gravatar image


I just want to ask if I understood that right: MAVROS or better the MAVLink communication protocol con be used to communicate between a companion computer(with ROS installed on an Ubuntu OS) conntected via serial to an autopilot board(e.g: PX4, ArduPilot APM Mega 2.5). Moreover MAVLINK Protocol can be used to communicate over the autopilot connected hardware e.g: 3DR Radio modul 433MHz to a Ground Control System (e.g: mission Planer 2 etc.)

Now what I would like to know is: (1) What kind of Companion Computer do you suggest? (e.g: Erle Copter just uses an ARM Cortex A8) but I would like to use an Intel nuc board instead? Do you think this is too heavy?

(2) Would you suggest controlling the UAV via SSH via Wifi Connection via intel nuc board wifi card instead of using the MAVLINK and the 3DR Radio modul? (this is probably a matter of range is it not?)

(3) What is the difference between MAVLINK and MAVROS? I thought MAVROS is dependend on MAVLINK but what is MAVROS then?

(4) Ah if somebody knows the Erle Brain 2 powering a Erle copter ist just an autopilot or? Or is it kind of both a companion computer and a autopilot board which are communicating via MAVLINK Protocol?

Hope you can help me in understanding this :) Best Markus

Edit: Hey Marco, Wow Thank you so much for your explained answer. I just want to make sure I got everything right:

So generally you can you say MAVLInk is the communication protocl used for the communication between a Groud Station and an Autopilot. Whereas Mavros can be used if you have a companion pc connected to your autopilot to communicate (publish subscribe topics etc.) with your autopilot. Ok I think I got that!

(1) Yeah we are just thinking about a companion computer using an intel nuc but as far as I know I only saw Rasperi Pis, Banana Pis arduino boards, beagle Boards but almost never an nuc because of weight probably.

(2) Wow that is really helpfull and good to know what datalink is preferable. Yeah I also read that e.g. Ascending Technologies uses a XBee Link. See more last point what I found out about datalinks:

(4) Yeah what I do not get the Erle Brain is kind of both autopilot and companion Computer or? I mean it is both on one board is it not?!

Best Markus

Additional: Datalinks:

When applying the 2G and 3G networking services in the field of UAVs, the use of a regular (commercial) cellular network may not be practical due to potential coverage problems in remote areas and high operational costs [8]. However, it is possible to implement the cellular concept with a self-created network [9] in which a cellular base station such as an IP.Access nanoBTS [10] module represents the fixed infrastructure side of the network. In combination ...

edit retag flag offensive close merge delete


@Markus, please don't post answers yourself, unless you are actually answering the question. For updates or follow-up questions, please edit your original question. You can use the edit link/button for that. I've already merged your answer into your OP, but please keep it in mind.

gvdhoorn gravatar image gvdhoorn  ( 2016-04-18 01:52:22 -0600 )edit

Ok thanks :)

Markus gravatar image Markus  ( 2016-04-18 04:18:45 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2016-04-16 17:09:26 -0600

Femer gravatar image

Hi Markus, I have been working a little bit with Mavlink, Mavros and the Px4 Firmware and I think that what you said is a little bit confusing:

Mavlink is a communication protocol between a ground station application and an autopilot board. Mavlink does not require ROS to exchange messages between these two agents. In fact, you can use any autopilot and ground station you want without having ROS installed in your PC. On the other hand, if you want mavlink messages to be published/taken in/from ROS, then you need to run Mavros on your pc. In this case Mavros directly "talk" with your autopilot, using mavlink, and publishes/subscribes to determined topics.

About your questions:

1) I've only used the PX4FMU board with no companion computer, so I can't really suggest you which one is the best.

2) What do you mean by "controlling"? For safety reasons I'd say all the controllers (attitude, position, etc) should run on the computer/autopilot in your drone. You can "control" the drone remotely in the sense of changing parameters and settings, send commands, etc. In this latter case, I saw that WIFI can be problematic (delays, high packet loss, etc...), especially if there are many people around. You can use 3DR module, or maybe a Xbee.

3) I hope I answered this question in the above introduction.

4) Erle Brain is mainly composed by a raspberry pi, so you should have enough computational power both for autopilot and executing other processing (in fact Erle Robotics sells a onboard camera that can be attached to their brain).


edit flag offensive delete link more

Question Tools

1 follower


Asked: 2016-04-16 13:46:03 -0600

Seen: 2,797 times

Last updated: Apr 18 '16