Overview

Flight Systems

image-left

Our flight system is extremely low latency, deterministic, and highly scalable. The core of our flight system is the Flight Control System (FCS), which consists of dual heterogeneous processors: a low level processor, called the Flight Management Unit (FMU), which conducts sensor and actuator operations, filtering, and maintains a hard real time environment; and a high level processor which uses the filtered sensor data to run control loops and compute actuator commands. This approach facilitates determinism, through providing a hard real time system, while maintaining a researcher-friendly development environment.

image-right

The same low level processor used for the Flight Management Unit is the core component of our sensor and actuator expansion nodes. These nodes feature numerous I/O options enabling expansion of the flight system and cleaner aircraft wiring. A unique bus architecture, called the BFS Bus, is used to connect these nodes to the FMU. The BFS Bus uses an overclocked I2C protocol along with two digital lines. The overclocked I2C protocol has an extremely high bandwidth and is capable of transmitting data at a rate of 245 kBytes/s. The digital lines are pulsed at the beginning of the data collection frame and at the actuator output frame. With this approach, data from all sensors on the network of FMU’s and nodes is collected simultaneously. Similarly, all actuator commands on that network are also sent simultaneously. This enables our flight system to be highly scalable, by adding additional nodes to the network, without impacting overall system latency.

We consider this capability critical for research and development environments, where: sensor requirements change often, large numbers of sensors are typically required and often spread throughout the vehicle, and sensing and actuation requirements often change dramatically from one research and development program, or vehicle, to the next. In all of these cases, enabling high levels of scalability with a minimum of effort and no impact on latency while using the same flight system environment, offers huge time and cost efficiencies.

As an example, a functional layout of our flight system on two University of Minnesota research platforms is demonstrated below.

The first platform is a modified Ultra Stick 25e. This research platform is small, hand-launchable, inexpensive, and used primarily to support courses and research involving navigation filters, flight control laws, and flight dynamics estimation.

image-center

The functional layout is relatively simple and, although an expansion node is not strictly needed since the FMU has enough of the required I/O, an expansion node is placed in the aircraft wing. This is done to facilitate much cleaner aircraft wiring and to enable completely swapable wings, in case one wing has a specialized sensor, for instance. Because processing occurs at the sensor and actuator node, these wings are truly swapable, receiving actuator commands in terms of angles and sending data in engineering units (pressures, speeds, altitudes for air data; inertial position and velocity for GPS, etc.)

The second platform is called mAEWing2 and it’s being used to conduct wing shape morphing and flutter suppression research. This research platform is large, about 14 ft wingspan and 40 lbs, and extremely complex. Each wing has six actuators and control surface position sensors. Additionally two IMU’s are located fore and aft at each wing tip and each wing mid-span. On the center body, there are two electric ducted fans, a five hole probe to gather wind angle data, two IMU’s located fore and aft, and a retractable landing gear. Finally, it was desired to collect servo rail voltage data, motor data, and to use a higher quality IMU. On top of the large sensing and actuation requirements was the need to maintain low latency for flutter suppression.

image-center

This system easily scales to meet the needs of a given research and development program or platform. It can accommodate relatively small and simple vehicles up to large and complex systems while maintaining low latency and determinism.

Back to top.

Simulation

Simulation, verification, validation, and data analysis are crucial components to research and development programs. A high fidelity MATLAB / Simulink simulation is available to support these steps. This simulation has been used at the University of Minnesota and other research institutions to support courses and research since 2006. It effectively supports switching between multiple research aircraft to be simulated, is easy to add additional vehicles, and supports multiple levels of model fidelity. This simulation is in the process of being updated to support software and hardware in the loop testing, as well as autocode generation and flight data playback, with our updated flight control system. This capability is expected to be available summer of 2017.

Back to top.

Development Environment

Arduino is used as a development environment for the Flight Management Unit (FMU) and expansion sensor and actuator nodes. Libraries are available for all Bolder Flight Systems supplied sensors and, due to the vibrant Teensy and Arduino communities, many additional sensors are already supported. These processors are extremely powerful and well supported by the community. Software is uploaded via USB and coding is standard C++. Our high level processor runs Linux, offering a very common development environment with packaged libraries and supporting many coding languages (C++, Python, Rust, etc).

This approach enables great performance from our system while maintaining a researcher friendly development environment.

Back to top.

Marmot Flight Control System

image-right

The core of our flight system consisting of dual heterogeneous processors: a low level processor, called the Flight Management Unit (FMU), which conducts sensor and actuator operations, filtering, and maintains a hard real time environment; and a high level processor which uses the filtered sensor data to run control loops and compute actuator commands. The Marmot Flight Control System (FCS) uses a BeagleBone Black as a high level processor and a cape developed around the Teensy 3.6 as the FMU. The Teensy 3.6 processor is a 240 MHz Cortex M4 with a single precision hardware floating point unit. In addition to the Teensy 3.6, the FMU includes integrated:

  • Voltage regulation, +6.5V to +36V input voltage, up to 2A of +5V output capacity plus high accuracy measurement of input and regulated voltages
  • MPU-9250 nine axis inertial measurement unit
  • BME 280 pressure, temperature, and humidity sensor
  • SBUS input for measuring and using up to 16 channels of pilot commands from a RC receiver
  • SBUS output for actuating up to 16 channels of SBUS capable servos along with high accuracy measurement of the SBUS servo rail voltage
  • PWM output for actuating up to 8 channels of PWM capable servos along with high accuracy measurement of PWM servo rail voltage
  • One BFS Bus for connecting expansion servo and actuator nodes
  • One I2C and one SPI bus for connecting external sensors, such as the Swift Air Data Sensor
  • Four UARTS, two from the Teensy 3.6 and two from the BeagleBone Black for connecting external sensors such as GPS receivers or radio modems
  • Two GPIO’s, which can be configured for PWM output, digital I/O, or analog input

Specifications

  • Voltage input: +6.5V to +36V
  • Current draw: 350 mA
  • Size: 55 mm x 89 mm x 30.5 mm
  • Weight: 75 g
  • Schematic

This system is intended for research, development, and educational purposes. It is not a ready-to-fly autopilot. We provide tested hardware, low level sensor drivers, a development environment, and support to enable our customers to develop software, analyze data, and conduct research.

Back to top.

Raven Sensor and Actuator Node

image-right

The Raven Sensor and Actuator Node enables the easy expansion of the Bolder Flight Systems architecture to include many additional sensors and actuators as well as simplifying wiring. This node enables our system to easily scale to meet the needs of a given research and development program or platform. It can accommodate relatively small and simple vehicles up to large and complex systems while maintaining low latency and determinism. The Raven Node is designed around the Teensy 3.6 processor, a 240 MHz Cortex M4 with a single-precision hardware floating point unit. In addition the Teensy 3.6, the node includes integrated:

  • SBUS input for measuring and using up to 16 channels of pilot commands from a RC receiver
  • SBUS output for actuating up to 16 channels of SBUS capable servos along with high accuracy measurement of the SBUS servo rail voltage
  • PWM output for actuating up to 8 channels of PWM capable servos along with high accuracy measurement of PWM servo rail voltage
  • One BFS Bus for connecting to the Flight Management Unit or other expansion nodes
  • Two I2C buses for connecting external sensors, such as the Swift Air Data Sensor
  • Two UARTS from the Teensy 3.6 for connecting external sensors such as GPS receivers or radio modems
  • Eight analog inputs, broken out to convenient headers
  • Four digital I/O pins

In addition to adding capability, the Raven Node simplifies wiring, requiring only the BFS bus to run from the Marmot Flight Control System to the Raven Node. For example, with a Raven Node placed in the wing of a fixed-wing UAS, only the BFS Bus and servo power would need to be connected across the wing break.

Specifications

  • Voltage input: +3.6V to +6V
  • Current draw: 125 mA
  • Size: 45 mm x 70 mm x 8.5 mm
  • Weight: 20 g
  • Schematic

This system is intended for research, development, and educational purposes. It is not a ready-to-fly autopilot. We provide tested hardware, low level sensor drivers, a development environment, and support to enable our customers to develop software, analyze data, and conduct research.

Back to top.

Swift Air Data

image-right

The Swift Air Data System provides high accuracy measurements of static and differential pressure in a convenient package that integrates easily with Bolder Flight Systems components.

  • Calibrated and temperature compensated static and differential pressure with digital output over I2C
  • Small overall error within a temperature range of -25C to +85C
  • 14 bit resolution
  • Libraries available to initialize the sensor and collect pressure data at rates of up to 2 kHz

Specifications

  • Voltage input: +3.32V to +6V
  • Current draw: 20 mA
  • Size: 28 mm x 40 mm x 18.5 mm
  • Weight: 10 g

Back to top.

Add On Modules

PWM, SBUS, and Analog

Add on modules are available to break out the PWM, SBUS, and analog signals from the JST GH connectors on the Marmot FCS and Raven Node to convenient 0.1” (2.54 mm) spaced headers, which fit standard servo connectors. These modules can be mounted on the Marmot FCS and Raven Node with 2-56 sized standoffs, which are provided with the module. The PWM and SBUS modules enable up to eight PWM or SBUS capable servos to be actuated. Additionally, the SBUS module includes two SBUS connectors, so a second SBUS module can be daisy chained to actuate up to sixteen SBUS capable servos. Both of these modules have integrated power and ground buses plus a screw terminal for power input. This feature means that a BEC capable ESC can be connected to the servo headers or an external power supply connected to the screw terminal. These boards support up to +9.9V and 12A of supply for the servos. The Marmot FCS and Raven Node feature integrated servo rail voltage measurement.

The analog add on module breaks out the analog JST GH connector on the Raven Node to convenient 0.1” (2.54 mm) spaced headers, which fit standard servo connectors. This module features an integrated +3.3V and ground rail to facilitate easy integration of potentiometers (i.e. for control surface position or wind angle measurement). Up to eight channels of analog input are supported.

Specifications

PWM

  • Supports up to 8 servos
  • Voltage input: up to +9.9V
  • Current draw: up to 12A
  • Size: 22 mm x 30 mm x 12 mm
  • Weight: 4 g

SBUS

  • Supports up to 8 servos per module, up to 16 servos by daisy chaining two modules
  • Voltage input: up to +9.9V
  • Current draw: up to 12A
  • Size: 22 mm x 30 mm x 12 mm
  • Weight: 4 g

Analog

  • Supports up to 8 channels of analog input (+0V to +3.3V)
  • Voltage supply: +3.3V
  • Size: 22 mm x 30 mm x 12 mm
  • Weight: 2 g

Back to top.

VectorNav

VectorNav VN-100 and VN-200 inertial measurement units can be added on to the Marmot FCS for use cases where more accurate inertial data is desired. This module can be mounted on the Marmot FCS with 2-56 sized standoffs, which are provided. The VN-100 and VN-200 IMU’s are integrated with SPI for high speed data transfers and a low level sensor driver is available to setup the IMU’s and collect data.

Specifications

  • Supports VN-100 and VN-200 IMU’s
  • Size: 30 mm x 37 mm x 5 mm
  • Weight: 5 g

Back to top.

Connectors

Below are the connectors for all Bolder Flight Systems components. These connectors incorporate signals as well as a regulated power supply.

Watch out! All signal voltages must be +3.3V, higher voltage signals may damage components!

All bused signals are designed to provide two identical connectors per each interface per node, so that the node can be connected to the bus without need to use T-connectors.

Back to top.

BFS-Bus

Pin Color Signal Voltage
1 Red VCC +5V
2 Slate SCL +3.3V
3 Violet SDA +3.3V
4 Blue Int 1 +3.3V
5 White Int 2 +3.3V
6 Black GND GND

Back to top.

UART

Pin Color Signal Voltage
1 Red VCC +5V
2 White TX +3.3V
3 Blue RX +3.3V
4 Black GND GND

Back to top.

I2C

Pin Color Signal Voltage
1 Red VCC +5V
2 Slate SCL +3.3V
3 Violet SDA +3.3V
4 Black GND GND

Back to top.

CAN

Pin Color Signal Voltage
1 Red VCC +5V
2 Orange CAN H +3.3V
3 Brown CAN L +3.3V
4 Black GND GND

Back to top.

SPI

Pin Color Signal Voltage
1 Red VCC +5V
2 Slate SCK +3.3V
3 Blue MISO +3.3V
4 Violet MOSI +3.3V
5 White CS +3.3V
6 Orange Int Out +3.3V
7 Brown Int In +3.3V
8 Black GND GND

Back to top.

SBUS RX

Watch out! The SBUS RX is for RC receivers only and provides power to the receiver. Never connect any servos, power supplies or batteries to it or to the receiver connected to it.

Pin Color Signal Voltage
1 Red VCC +5V
2 White RX +3.3V
3 Black GND GND

Back to top.

SBUS TX

Pin 1 is used to measure the external voltage applied to the SBUS servos, which can be used and logged within the flight software. This voltage is limited to +9.9V.

Pin Color Signal Voltage
1 Red Vmeas +9.9V
2 Orange TX +3.3V
3 Black GND GND

Back to top.

PWM

Pin 1 is used to measure the external voltage applied to the SBUS servos, which can be used and logged within the flight software. This voltage is limited to +9.9V.

Pin Color Signal Voltage
1 Red Vmeas +9.9V
2 White Actuator 0 +3.3V
3 Blue Actuator 1 +3.3V
4 Slate Actuator 2 +3.3V
5 Violet Actuator 3 +3.3V
6 Orange Actuator 4 +3.3V
7 Brown Actuator 5 +3.3V
8 White Actuator 6 +3.3V
9 Violet Actuator 7 +3.3V
10 Black GND GND

Back to top.

Analog

Pin Color Signal Voltage
1 Red VCC +3.3V
2 Slate Analog 0 +3.3V
3 Blue Analog 1 +3.3V
4 Violet Analog 2 +3.3V
5 White Analog 3 +3.3V
6 Brown Analog 4 +3.3V
7 Orange Analog 5 +3.3V
8 Blue Analog 6 +3.3V
9 Slate Analog 7 +3.3V
10 Black GND GND

Back to top.

Digital

Pin Color Signal Voltage
1 White Digital 0 +3.3V
2 Orange Digital 1 +3.3V
3 Blue Digital 2 +3.3V
4 Brown Digital 3 +3.3V

Back to top.

GPIO

Pin Color Signal Voltage
1 White GPIO 0 +3.3V
2 Black GND GND
3 Violet GPIO 1 +3.3V
4 Black GND GND

Back to top.

BFS Bus

Overview

The BFS Bus is an extremely low-latency, high bandwidth bus. It is designed to enable expansion of the flight control system without introducing latency. I2C is used as the communication protocol with a 6 MHz clock rate, enabling transfer rates of 245 kBytes/s. The BFS Bus master (i.e. Marmot FCS) pulls the Int 1 line high at the start of a computation frame, indicating that all slave nodes (i.e. Raven Nodes) should take their sensor measurements. This approach means that all nodes on the BFS Bus are taking measurements simultaneously, regardless of the number of nodes, leading to an extremely low-latency bus. The BFS Bus master then requests data from each slave node. This data is logged and potentially used in the flight control laws to generate servo commands. The BFS Bus master sends servo commands to all applicable slave nodes. Finally, the BFS Bus master brings the Int 1 line low, signaling to all slave nodes to issue the servo commands. The Int 2 line is reserved for future use.

Wiring

Please see the BFS Bus connector standards.

Back to top.