oberon-based autopilots for unmanned aerial...
TRANSCRIPT
![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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/1.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/2.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/3.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/4.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/5.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/6.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/7.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/8.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/9.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/10.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/11.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/12.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/13.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/14.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/15.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/16.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/17.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/18.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/19.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/20.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/21.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/22.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/23.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/24.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/25.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/26.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/27.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/28.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/29.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/30.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/31.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/32.jpg)
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](https://reader030.vdocuments.us/reader030/viewer/2022040819/5e678c82f5a86d002538902f/html5/thumbnails/33.jpg)
33
©w
eCon
trol A
G, 2
007
29.06.2007