Oberon-based Autopilots for Unmanned Aerial...

33
1 © weControl AG, 2007 29.06.2007 Oberon-based Autopilots for Unmanned Aerial Vehicles weControl AG Air Force Center Überlandstrasse 255 CH-8600 Dübendorf http://www.wecontrol.ch Jacques Chapuis

Transcript of Oberon-based Autopilots for Unmanned Aerial...

Page 1: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

1

©w

eCon

trol A

G, 2

007

29.06.2007

Oberon-based Autopilots for Unmanned Aerial Vehicles

weControl AGAir Force Center

Überlandstrasse 255CH-8600 Dübendorf

http://www.wecontrol.ch

Jacques Chapuis

Page 2: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

2

©w

eCon

trol A

G, 2

007

29.06.2007

Outline

I. Introduction to weControl

II. Autopilot Basics

III. Products/Hardware

IV. Software Design with Oberon

V. Realised Project Examples

Page 3: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

3

©w

eCon

trol A

G, 2

007

29.06.2007

I. weControl AGFormation: 16. May 2000Structure: Incorporated (since 1.1.2006)

Founders: Chapuis/Eck/Kottmann/SanvidoChief Executive: J. Chapuis

Innovative Force: 5 employeesTurnover (2006): ~ 1 M CHF

Mission:

weControl provides customized solutions to increase the level of autonomy of miniature unmanned aerial vehicles by combiningmodern system theory, sensor technologies and state of the art embedded computing

Page 4: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

4

©w

eCon

trol A

G, 2

007

29.06.2007

II. Autopilot• High-level command control: airspeed/course/altitude

• Waypoint guidance

• Geometrical figures

• Automatic launch (hand/bungee/catapult)

• Precision landing (“ILS”)

• Homing in case of data-link loss

• Robust navigation in case of GPS outages

• Flight data logger

• Setup procedure: Collect data, parameter identification,

controller synthesis & validation

Page 5: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

5

©w

eCon

trol A

G, 2

007

29.06.2007

Autopilot [2]

Page 6: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

6

©w

eCon

trol A

G, 2

007

29.06.2007

wePilot1000Rotary-wing

Aircraft

wePilot2000Fixed-wing

Aircraft

wePilot4RMAXYamaha RMAX

Helicopter

III. Products

• 13 in D/F/NL/CH

• 8 in USA

• 1 in Asia

• 30 in F • 1 in Asia

• 2 in USA

Page 7: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

7

©w

eCon

trol A

G, 2

007

29.06.2007

• Designed for fixed-wing UAVs• Integrated 6-DOF IMU• Total weight: 260 g• Total power consumption: 250 mA @ 12 VDC• 30 Watt power supply for servos• 32-Bit Intel XScale PXA250 CPU @ 400 MHz

Products [2]: wePilot2000

Page 8: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

8

©w

eCon

trol A

G, 2

007

29.06.2007

IV. Software Development with Oberon

1. Oberon at weControl

2. Design Methodologies

3. Coding Rules

4. Testing

Page 9: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

9

©w

eCon

trol A

G, 2

007

29.06.2007

1. Oberon at weControl• Development of a first embedded FCS (OLGA,1998)

– Dedicated computer system– Oberon compiler for StrongARM CPU– Development of Operating System HelyOS

• wePilot1000:– Miniaturized CPU-board based on StrongARM– Use of Oberon is a logical choice– Migration to XScale CPU– Adaptation of HelyOS

• Newer developments:– wePilot2000, wePilot4RMAX

→ Oberon grew with weControl,weControl grew with Oberon

Page 10: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

10

©w

eCon

trol A

G, 2

007

29.06.2007

Features and Advantages• Rigorously structured• Efficiently implemented• Allows systematic approach to the design of programs• Prerequisite for modular design• Oberon “programs” are collection of commands, which

are procedures exported by modules– no monolithic executable

• „Safe“ language:– Boundary checking– Strong type checking

• Single pass compiler• Lean system: compiler 2350 lines• No blackbox code in application

Page 11: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

11

©w

eCon

trol A

G, 2

007

29.06.2007

Flight Software Structure

Page 12: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

12

©w

eCon

trol A

G, 2

007

29.06.2007

2. HelyOS [1]• Initially developed by M. Sanvido*• Highly customized,

tailored and tied to HW– Initially StrongARM,

later adapted for XScale

• Designed for real-timecontrol applications

• Compact (59kB)• Written in Oberon• 8 Modules

* M. Sanvido, “A Computer System for ModelHelicopter Flight Control: The Software Core”, Technical Report #317, Institute for Computer Systems, ETH, 1999

Processor Architecture

Operating SystemHelyOS

HModulesHFiles

HFileDirHLog

HKernelFPE

FPEFR

Page 13: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

13

©w

eCon

trol A

G, 2

007

29.06.2007

Interrupts Started tasks Shown as

IRQ(asynch)

Receive/transmit char

IRQ(20ms)

Synchronous tasks

Background tasks

HelyOS [2]: Scheduler Scheme

Page 14: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

14

©w

eCon

trol A

G, 2

007

29.06.2007

3. Design Methodologies

• Hierarchical Decomposition

• Software as a Dynamical System

• Hardware-in-the-Loop Simulation

• Algorithm Design with Matlab

• Draw upon Experience

Page 15: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

15

©w

eCon

trol A

G, 2

007

29.06.2007

Extensible design and complexity reduction through system decomposition:

Result: ⇒ module hierarchy⇒ data flow⇒ control diagrams

system = applicationsubsystem = module

hierarchical dependence = module hierarchy (import list)subsystem interaction = information flow (procedure calls, events)subsystem boundary = definition module

system view = part of application- navigation- control- telecommand- telemetry- simulator

Hierarchical Decomposition

→ Software Structure

Page 16: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

16

©w

eCon

trol A

G, 2

007

29.06.2007

Software as a Dynamical System

Page 17: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

17

©w

eCon

trol A

G, 2

007

29.06.2007

Hybrid Control Framework

x:= x0

xk+1= fm(xk,uk)yk= hm(xk,uk)

x:= gml(x,u)Cml(x,u)?

m

l

→ Finite state machine(Module FSMs.Mod)

Hybrid Automaton

discrete-timedynamical system

event-drivensystem

→ Time Flow

Page 18: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

18

©w

eCon

trol A

G, 2

007

29.06.2007

Hardware-in-the-Loop Simulation

Page 19: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

19

©w

eCon

trol A

G, 2

007

29.06.2007

Algorithm Design with Matlab

EKFF.ModInnerLoop.ModWaypoint.ModFigures.ModLanding.ModManual.Mod

Page 20: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

20

©w

eCon

trol A

G, 2

007

29.06.2007

Draw upon Experience

→ Reuse of flighttest-prove code= Safety

10h

200h

40h

Page 21: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

21

©w

eCon

trol A

G, 2

007

29.06.2007

4. Coding Rules

1. Notation:• Constant: capital letter, e.g TIMEOUT• Variables: start with lower case letter, e.g. power• Procedures: start with capital letter, e.g. ComputePower• Procedure returning boolean: starts with Is... Or Has...

2. Use Comments3. Use local variables instead of globals4. Do not export any variables except finite state

machines and status information. Access variables through procedures

5. Keep definition module (module interface) small6. Minimize the number of tasks

Page 22: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

22

©w

eCon

trol A

G, 2

007

29.06.2007

Coding Rules [2]7. Modules shall generally have

• A procedure Start() for initialization• A procedure Stop() for termination• A procedure Handler() with a finite state machine for action

coordination• A variable (usually a set) “status“ containing status information

8. Do not waste CPU resources• Optimize numerical algorithms• Use integers instead of floats

9. Allocate dynamic memory only during initialization(no garbage collection!)

10. No blocking code! Continuation shall never depend on external HW inputs. Use Timeouts!

Page 23: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

23

©w

eCon

trol A

G, 2

007

29.06.2007

5. Testing

1. Test code within modules

2. Test modules

3. Comparison of Matlab/Oberon output

4. HIL tests / ground tests / in-flight tests

Page 24: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

24

©w

eCon

trol A

G, 2

007

29.06.2007

Test Code within Module

wePilot2000Waypoint.LoadMission

MODULE Waypoint;

PROCEDURE LoadMission*;BEGIN...END LoadMission;

BEGINEND Waypoint.

Page 25: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

25

©w

eCon

trol A

G, 2

007

29.06.2007

Use of Test Modules

TestADC.ModTestBaro.ModTestEKFF.ModTestFigures.ModTestFRAM.ModTestGPS.ModTestIMU.ModTestInnerLoop.ModTestMagneto.ModTestManual.ModTestUART.ModTestWaypoint.Mod

Page 26: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

26

©w

eCon

trol A

G, 2

007

29.06.2007

Comparison of Module Output

Page 27: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

27

©w

eCon

trol A

G, 2

007

29.06.2007

HIL/ Ground/ Flight Testing

Flight Data

Log on Oberon

GCS

Onboard DataRecording

Downloadand post processwith watson (data analysis tool)

Page 28: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

28

©w

eCon

trol A

G, 2

007

29.06.2007

• Autonomous flight with auto-takeoff, waypoint navigation, automatedpayload delivery, and auto-landing

• Liquid or granular pesticide delivery (16 lbs)• CCD & IR pan-tilt gyro-stabilized gimbals• Empty weight: 60 kg / Rotor diameter: 3.2 m• Flight range: 4 km• Flight speed: < 40 km/h• Flight autonomy: 60 min

Page 29: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

29

©w

eCon

trol A

G, 2

007

29.06.2007

Page 30: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

30

©w

eCon

trol A

G, 2

007

29.06.2007

Page 31: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

31

©w

eCon

trol A

G, 2

007

29.06.2007

Page 32: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

32

©w

eCon

trol A

G, 2

007

29.06.2007

• wing span: 3.4 meters• total weight: 8.5 kg• horizontal flight speed:

17 m/s (nominal)25 m/s (max)

Tracker(Joint development between EADS/Survey-Copter/weControl)

• climb rate: 2 m/s, sink rate: 6 m/s• endurance: 90 min • propulsion system: 2 electro motors, LiPo batteries

Page 33: Oberon-based Autopilots for Unmanned Aerial …oberoncore.ru/_media/library/chapuis_oberon-based...• Development of a first embedded FCS (OLGA,1998) – Dedicated computer system

33

©w

eCon

trol A

G, 2

007

29.06.2007