Installation/BeagleBoneBlack

From PaparazziUAV
Jump to navigation Jump to search

Introduction

BeagleBone Black is a low-cost, community-supported development platform for developers and hobbyists. Boot Linux in under 10 seconds and get started on development in less than 5 minutes with just a single USB cable.

This page describes the installation of Paparazzi and dependencies to get the GCS running on the BBB.

Ubuntu

The simplest is to install Ubuntu on the BBB. See http://elinux.org/BeagleBoardUbuntu

The Ubuntu 14.04.1 console image works nicely, but comes without a graphical desktop, so you might want to install LXDE:

$ sudo apt-get install lxde

Now add the Paparazzi-uav PPA and install the software:

The software-properties-common package is needed for the add-apt-repository command:

$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:paparazzi-uav/ppa
$ sudo apt-get update
$ sudo apt-get install paparazzi-dev gcc-arm-none-eabi

Done, you have installed all Paparazzi dependencies.

Building Paparazzi

  • Get the paparazzi source as per usual, using your desired method/setup as described in git, e.g.:
$ git clone https://github.com/paparazzi/paparazzi.git
  • Now change to the paparazzi directory
$ cd paparazzi
  • Set the PAPARAZZI_HOME and PAPARAZZI_SRC environment vars
$ git checkout master
  • Build Paparazzi:
$ make
  • Build the native versions of the GCS and Server (which will run faster)
$ make ground_segment.opt

Trying it out

Running directly on the BBB

SSH into your BBB with X11 forwarding (using the -X) option.

  • $ cd ~/paparazzi
  • $ ./paparazzi
  • You should see a window pop up on your local machine with paparazzi center.
  • You can then launch a session as usual...
  • To get some more speed, use the native version of the GCS and server by running sw/ground_segment/cockpit/gcs.opt and sw/ground_segment/tmtc/server.opt instead of the non-opt versions.

Remote GCS/Messages

Next, one can try simulating on the local machine, and pushing the ivy bus messages across the local network and reading them with the programs on the BBB.

  • Build and test an airframe you wish to simulate as usual on the local machine, and test it quickly by simulating
  • Stop all the agents, and add the following option to the call: -b <local network broadcast ip> (for example 192.168.0.255)
  • Before running programs on the BBB, it needs to know about the freshly compiled airframe. So, copy the conf/conf.xml file from the local machine to the BBB, and also the whole var/ folder intact, AFTER having compiled for simulation
  • Restart the agents on the local machine with the ivy bus option, everything should be working as before
  • Now start messages on the BBB as described above, but set the bus to the same IP as the local machine (you can also try out the GCS by running $ sw/ground_segment/cockpit/gcs -b <local network broadcast ip>)