Overo

From PaparazziUAV
Revision as of 06:53, 29 September 2010 by Paulcox (talk | contribs)
Jump to navigation Jump to search

Gumstix Overo

The Overo is a module sold by Gumstix which contains a TI OMAP35xx processor (ARM Cortex-A8). This module is used on the Lisa board or, through the use of standard gumstix baseboards such as Tobi, it can be interfaced to LPC2148 boards such as the twog.

Using Paparazzi pre-built toolchain

Compiling overo programs is easy in paparazzi. Install the paparazzi-omap ubuntu package, create an SD card (sw/tools/overo_sd_maker) with a the required boot files (MLO, uboot, uImage) and rootfs, and you're ready!

Examples on how to perform telemetry, datalink, and other basics are provided in the sw/airborne/fms and sw/airborne/beth directories. Lisa board owners can also look there for info on interfacing to IMU/SPI/baro/etc.

Since overo is on the network (onboard or usb wifi), uploading overo programs is done using scp (See conf/Makefile.omap). Network configuration script is available at sw/tools/overo_sd_maker/configure_network.sh

Setting up a build environment

This is not necessary unless you want to build your own custom kernels or root filesystems. Instructions given here can be used to generate a generic omap image (omap3-console-image for example).

For paparazzi there is a custom image recommended (realtime kernel patch and other extras) and specific instructions are listed on the Lisa pages.

Communications between LPC and Overo via UART

An example implementation of an overo communicating with a twog is structured as follows:

The overo target application is sw/airborne/beth/overo_test_uart.c The twog configuration is conf/airframes/twinjet_overo.xml

Highlights:

The Twog's GPS UART is repurposed to establish communications between Overo and Twog
Twog uses a software module (sw/airborne/modules/core) to permit having an extra telemetry channel on the free UART
The GPS is interfaced to the overo and the overo forwards the ublox messages to the twog
Overo sends datalink messages to the Twog who accepts them just like they were from the ground station
Overo receives twog messages and parses them
Overo can exchange telemetry and datalink with ground station as usual (over ethernet/wifi UDP)
Twog can exchange telemetry and datalink with ground station as usual (over serial Xbee)

Hardware configuration:

The hardware is connected according to this block diagram:


The overo serial connections can be accomplished via the OMAP processor UARTS (1.8v level-shifting required) or via USB to serial converters (for testing this is easy to setup and convenient for debugging but too bulky to fly).

A U-Blox LEA-5H GPS is needed (an LEA-4H could be used with few sw modifications). A booz GPS board is ideal, but in this example we use a Tiny board with the uart tunnel application installed (GPS characters are tunneled through the processor).

Here are pictures of the example setup:

Software configuration:

Setting up Overo:

Create aircraft : Either using paparazzi center or by manually editing conf/conf.xml, use the example conf/airframes/Poine/beth.xml to create a new aircraft

exerpt of conf.xml:

exerpt of conf.xml

edit makefile to add correct overo hostname

edit beth/overo_gcs_com.c to add correct ground station IP address

Compiling application

make AIRCRAFT=BETH clean_ac overo_test_uart.compile
make AIRCRAFT=BETH overo_test_uart.upload

Running application

ssh overo
./overo_test_uart.elf 0 1

Setting up Twog:

Create aircraft using twinjet_overo.xml build/upload via paparazzi center