ROS (Robot Operating System) MAVLink Integration Tutorial

Install ROS from At the time of writing, the current release is ROS Fuerte (

The ETH PIXHAWK team provides a MAVLink to ROS bridge for the most common messages. The bridge translates between UART/serial ports and UDP links transporting MAVLink and a ROS instance on the computer.

Quick Introduction

  • $HOME is your home directory, if your username is john, this would be /home/john on Linux and /Users/john on Mac OS.
  • /opt/ros/fuerte is where ROS has been installed to. Adjust this if you have ROS installed to a different location

Download Files

Either change to the ROS workspace:


Or if you want to have a different directory (as we do), add it to the ROS_PACKAGE_PATH. To do this, edit $HOME/.bashrc (on a Linux box) or $HOME/.bash_profile (on a mac) and add the package path after sourcing the ROS setup script (if you do not have the source .. line in your script you should probably add it):

source /opt/ros/fuerte/

Close ALL terminals after this step and re-open them (pros can source the .bash* file, and leave the terminal open).

Now go to the directory where you want to put the MAVLink bridge, either the ROS workspace:


Or a different directory, as we do:

cd ~/src

Download the MAVLink bridge:

git clone

Change into the directory and compile

cd mavlink_ros