Rosanswers logo


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: https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&ved=0ahUKEwiK7KTjyJbMAhXGCywKHf-LDHAQFggfMAA&url=http%3A%2F%2Frepository.tudelft.nl%2Fassets%2Fuuid%3A46254852-5505-464f-8367-5647a503d7d9%2FvBerkel_vKooten_BScThesis_DataLink_GUI.pdf&usg=AFQjCNHEGepm84XDaclOpB5yugyy9tIb8Q&cad=rja

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 with a 2G or 3G device attached to a UAV, a fully functional network can then be established [9]. In theory, the range of 2G and 3G networks is unlimited, as they essentially consist of countless smaller networks that are linked together. In practice, these networks do not cover remote, sparsely populated areas. This may present problems if a reliable UAV data link is required. When considering the data rate, it appears that 2G is designed for speech purposes and therefore the data rate is insufficient to support image transmission [11]. Although 3G is better suited for such puposes, the commercial costs of a privately operated network are high.

Yeah they also say that a XBee Pro Datalink is quite preferable!

Originally posted by Markus on ROS Answers with karma: 311 on 2016-04-16

Post score: 0

Original comments

Comment by gvdhoorn on 2016-04-18:
@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.

Comment by Markus on 2016-04-18:
Ok thanks :)


1 Answer 1


Rosanswers logo

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).


Originally posted by Femer with karma: 253 on 2016-04-16

This answer was ACCEPTED on the original site

Post score: 3


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.