Anda di halaman 1dari 28

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.

eu 1
What is AdaPilot?
AdaPilot is a Open-Source Safety Critical Autopilot Project based on the Ada-SPARK
safety programming language and ARM Cortex-M/R processors.
The autopilot, also known as the Digital Flight Control System, is subdivided into
several main bricks allowing a high future-proof modularity and flexibility:
Primary Flight Control Computer (PFCC)
Attitude Heading Reference System (AHRS)
Mission Management Computer (MMC)
Electronic Speed Controller (ESC)
Digital Data Link (DDL)
Handheld Ground Control Station (HGCS)
Mission Management & Planning Software (MMPS)

The primary avionics data bus used is CANaerospace, a extremely lightweight


protocol/data format definition which was designed for the highly reliable
communication of microcomputer-based systems in airborne applications via
Controller Area Network (CAN).

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 2
AdaPilot Function Block Diagram

Backup
GPS/AHRS Sensors Payload
Data Link

4-10
ESCs Custom I/Os
ESCs
ESCs / Primary Flight Mission ADC
orESCs
oror PWM Avionics Data Bus
Servosor Control Computer Management I2C
Servos
Servos USART
Servos CAN (Simplex, Duplex or CAN
Triplex)
Computer CAN
RS422 SPI

ARM Cortex-M/R Application Dependent CPU


ARM M, R, A Line
Tegra Series
Intel Series
SnapDragon
Others

Other Air Data Primary


Modules Computer Data Link
Primary Flight Control Computer - PFCC
It evaluates a multitude of sensory parameters, the aircrafts environment as well as
operational limitations. It handles auto-trim adjustments, the stability augmentation,
vehicle-tailored flight control law algorithms, motor control (PWM/CAN) generation,
data logging (black box) and basic autopilot functions.

PFCC Main Functions


Backup
GPS/AHRS Stability Augmentation System
Data Link Basic Autopilot Functions
Fail-Safe Functions
UART UART Actuator Mixer Matrix and Control
Reading Pilot Control Inputs
Actuator Control Output

10 Generation of Telemetry Data and Alerts


Data Logging (Black Box)
/
PWM Primary Flight Backup Data-Link

Control Computer Control Inputs


CAN CAN
ARM Cortex-M
RS422

RS232 USB

Service USB
Port DFU

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 4
Primary Flight Control Computer - PFCC
Firmware: FlightOS - FOS
The embedded firmware is named FlightOS FOS and is the official AdaPilot PFCC
firmware. Three firmware revisions will be available:

Frozen (Release Candidate): Certifiable Revision


Stable: RC with new tested improvements and features
Experimental: for experimental purposes only, unstable

The FOS will be entirely programmed in Ada and SPARK languages following DO-178C
guide lines and procedures defined by the CERT Team.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 5
Attitude Heading Reference System - AHRS
The AHRS is a 3-axis sensor system that provides real-time 3D orientation - pitch, roll
and heading - by integrating gyroscopes and fusing this data with accelerometer,
magnetometer, barometer and GNSS data. Its primary function is to provide
orientation data to the PFCC via a serial or CAN bus interface.

Ublox M8N

UART

3x
STM32F415 / I3G4250D IIS328DQ LIS3MDL LPS25H x3
To PFCC OG (90 Ball) SPI
3-axis 3-axis 3-axis Baro
Gyro Accel Mag

The MEMS sensors are on three dedicated indipendent


boards to ensure sensors redundancy and easy
USB
JTAG technology upgrades.
DFU

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 6
Attitude Heading Reference System - AHRS
Firmware: SensOS
The embedded firmware is named SensOS and is the official AdaPilot AHRS
firmware. Three firmware revisions will be available:
Frozen (Release Candidate): Certifiable Revision
Stable: RC with new tested improvements and features
Experimental: for experimental purposes only, unstable
The SensOS will be entirely programmed in Ada and SPARK languages following DO-
178C guide lines and procedures defined by the CERT Team.

The obiective is also to obtain professional AHRS calibration provided by a 3-axis rate
table with temperature chamber.

3-Axis Rate Table suitable for testing of medium-sized


Inertial Measurement Units (IMUs) or Micro Electro
Mechanical Systems (MEMS) sensors.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 7
Mission Management Computer - MMC
The MMC is an application oriented processing unit and incorporates highly integrated
I/O capability that interfaces with the unmanned vehicles sub-systems (engine, fuel
system, battery management system, altimeter, visual sensors, air speed sensors and
many more) and the application/mission specific payload sensors.
By default, the MMC is based on a STM32F4 or F7 processor, but, any other processing
unit (FPGA, DSP, CPU, MCU) can act as a mission management computer. The MMC
communicates to the PFCC via the CANaerospace interface.

Sensors Payloads

Custom I/Os Application Dependent CPU


Mission ADC ARM M, R, A Line
Avionics Data Bus
I2C Tegra Series
Management USART Intel Series
CANaerospace
Computer CAN SnapDragon
SPI Others

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 8
The AdaPilot Initiative

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 9
Why AdaPilot Initiative?
The Problem
UAV/RPAS or also better knows as Drones if used improperly and improperly
constructed, can become very dangerous and provide serious injuries to peoples and
object damages.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 10
Why AdaPilot Initiative?
Solution proposals
Certifiable Software Packages: The software that controls and monitors unmanned
aerial vehicles (UAVs) or drones that fly in highest-risk level environments (buildings,
peoples, events, etc), both on the ground and in the air, must be verified to ensure
device safety and reliability and should be developed to the same exacting DO-178B/C
standards as software for manned aircraft types. To achiev this goal, the Ada and
SPARK programming language has been selected.

Reference Hardware Kits: For the preliminary software development stage, the
STM32F4 Cortex-M4 has been selected due their wide availability on open-source
projects and global developers communities. The Cortex-M AdaPilot development
board will be made available to the open source community.
For the DO-178C certification purpose, a TI TMS570 safety critical processor will be
used and the AdaPilot code ported.

UAV Certification Package: This documentation is used by the Aviation Authorities for
tracing system safety requirements and design specifications in order to obtain a type
certificate for the UAS.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 11
What Makes The AdaPilot Difference?
The AdaPilot initiative is differente compared to all the other existing open source
projects. AdaPilot Core Technology has been designed with flexibility, reliability and
safety in mind. To assure safety and flexibility can be coexist inside the same core
architecture, a well defined modular approach was chosen as listed below:
1. Modular Core Brick Architecture consistent of indipendent Flight Controller, AHRS
and Mission Controller boards
2. End-to-End Workflow including Handheld Groud Control Station, Digital Data Link
and Electronic Speed Controllers
3. AdaPilot Core Code Architecture build on Connector_API, and ViSDB Virtual
Memory Mapping Communication

Additional AdaPilot Key Features:


Core Safety-Critical Firmwares will be developed in Ada and SPARK
Reliable and rugged Reference Hardware Kit based on ARM Cortex-M and Cortex-R
processors made available to the Dev Core Team
Availability of a DO-178C Certification Package and Procedures

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 12
AdaPilot Core Technologies

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 13
AdaPilot Core Technologies

THE PROGRAMMING LANGUAGE

THE MCU CORE TECHNOLOGY

THE AVIONICS DATA BUS

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 14
Ada-SPARK Provably Secure Software

Ada-SPARK Complying with industrial safety standards

SPARK GPL meets the requirements of all high-integrity software safety standards,
including:
DO-178B/C (and the Formal Methods supplement DO-333)
CENELEC 50128 , IEC 61508, and DEFSTAN 00-56
The SPARK GPL toolset generates evidence that can be used to build a constructive
assurance case and demonstrate conformance to the appropriate standard.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 15
Ada for ARM New Business Opportunites

Supported ARM Processors and Run-Time Libraries

Current ARM support is for the Cortex v7 architecture, specifically Cortex-R and
Cortex-M microcontrollers:
Texas Instruments Stellaris LM3S zfp-lm3s
Texas Instruments TMS570 ravenscar-full/sfp-tms570; zfp-tms570
ST Microelectronics STM32F4 ravenscar-full/sfp-stm32f4; zfp-stm32f4

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 16
ARM Cortex-M Cost-sensitive MCU

AdaPilot Cortex-M Flavor Development & Experimental Platform

The AdaPilot Community uses the STM32F4 MCU primarily for:


Software Package development and testing on ST Discovery & NECSarm kit
Development flight tests for in-flight software packages validations
Conversion from C/C++ packages to Ada-SPARK
Low-level & I/O driver development and conversions from C/C++
Sensor testing and validations

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 17
ARM Cortex-R Safety Critical MCU

AdaPilot Cortex-R Flavor Safety Critical Autopilot Platform

The ARM Cortex-R real-time processors offer high-performance computing solutions


for embedded systems where reliability, high availability, fault tolerance,
maintainability and deterministic real-time responses are essential.
Cortex-R processors are the CERT package target platform
Cortex-M Ada-SPARK code will ported to Cortex-R platform
Triplex Modular Redundancy (TMR) Primary Flight Control Computer on Cortex-R

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 18
CANaerospace CAN Avionics Data Bus

CANaerospace The Airborne CAN Interface Standard

CANaerospace is an extremely lightweight protocol/data format definition which was


designed for the highly reliable communication of microcomputer-based systems in
airborne applications via Controller Area Network (CAN).
Standard AdaPilot avionics data bus for airborne and ground equipment

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 19
AdaPilot Project Development
Structures

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 20
Work Breakdown Structures & Packages
The AdaPilot project is structured in "Work Breakdown Structures (WBS)" and "Work
Packages".

Work Breakdown Structures (WBS):


The AdaPilot project is composed primarily of the following Work Breakdown
Structures:
Hardware
PCB Developments
Software
Firmware for PFCC, AHRS, MMC, ESC, HGCS,
Activities
Flight and ground test, verifications, certifications,
Docus & infos
Deliverables, graphics, manuals, datashets,

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 21
Work Breakdown Structures & Packages
Work Packages (WP):
A Work Package is a building block of the Work Breakdown Structure that allows the
project management to define the steps necessary for completion of the work.
Breaking down the work into work packages allows multiple teams to work
simultaneously or sequentially on different components of the project.
- Example of PFCC Work Packages and Control-Input Sub-WP Details:

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 22
Connector API The Real Difference
AdaPilot firmware stacks (PFCC, AHRS, MMC) are made with extreme flexibility and
reliability in mind. The hardware I/O interfaces (CAN, UART, GPIO, etc) are virtualized and
all incoming protocols are converted in the AdaPilot Message_ID format, available internaly
as the Connector API CAPI. This format is the only standard allowed to be used for
software package development. In this way no single packages have to deal with low-level
I/O stuff.

The Connector API uses pre-defined Message_IDs, to easily identify functions inside
software packages. This Message_IDs are mapped (where possible) to the CANaerospace
IDs, so it will be much more easy and confortable to follow software package
intercommunications and functions.

Each Software Package is connected through the Connector API to the Virtual Shared Data
Bus (ViSDB), this allows a flexible data exchange between various software packages,
Hardware I/O interfaces, and the CLI interface for package configuration and maintenance.

For hardware I/O interfaces different than CANaerospace, specific protocol wrapper
mapped to the Message IDs must be written. This allow to keep the entire software
intercommunication on a single standard and indipendent from the hardware I/O
interfaces.

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 23
CAPI Example: Control Input SW-Package

Software Package Software Package Software Package Software Package


Code SAS AutoPilot #n

Software Package
Connector API Connector API Connector API
API Level

Virtual Memory
Mapping Communication
ViSDB - Virtual Shared Data Bus

Protocol Wrapping C2I Connector API


& Conversion & Input Selector

Hardware
C2 CAN1 Port C2 UART4 Port C2 GPIO Input Port
I/O Interfaces

CANaerospace S.BUS/MAVLink/Custom PPM

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 24
AdaPilot Development Tools
AdaPilot is developed by a team of volunteers with the objective of creating a new
global group of developers, users and enthusiasts around the Ada, SPARK, ARM, Linux
and Mac OS environment. To allow a global interaction between all team members,
AdaPilot offers the following open source development tools:

Forum / Blog / Guide / News Issue & Project Tracking

Code Git Repository Code Reviews

Real-Time Chat Ada and SPARK GPL Editions

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 25
AdaPilot Supporters

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 26
AdaPilot Supporters

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 27
AdaPilot Project Home Link:
adapilot.likeabird.eu

Copyright 2016 - AdaPilot The LikeAbird Open Source Safety Critical Autopilot Project adapilot.likeabird.eu 28

Anda mungkin juga menyukai