Implementing Control and Mission Software of UAV ...

10 downloads 0 Views 1MB Size Report
Implementing Control and Mission. Software of UAV by Exploiting Open. Source Software Based ARINC 653. Hyun-Chul Jo, Sanghyun Han,. Sang-Hun Lee and ...
Implementing Control and Mission Software of UAV by Exploiting Open Source Software Based ARINC 653

Hyun-Chul Jo, Sanghyun Han, Sang-Hun Lee and Hyun-Wook Jin System Software Laboratory Konkuk University {gamja474, whacker, mir1004, jinh}@konkuk.ac.kr

Contents 1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Contents 1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Avionics System

• Modern Avionics System – – – – – –

Diverse and critical missions execution Many electronic components Devices are connected through networks More need of network cabling, weight and power Complicate internal architecture Hard to integrate, reuse, test

Æ Desirable to run several applications on a single computer

IMA • IMA(Integrated Modular Avionics) Concept – Proposes an integrated architecture with application potable across an assembly of common hardware modules – Reduce network cabling, weight and power – Reuse a software module for another avionics system – Easy to integrate, reuse, test Æ Introduction of ARINC 653

ARINC 653 • Avionics Application Software Standard Interface -

Defines a general-purpose APEX interface between the operating system of an avionics computer resource and the application software

• Partition -

Partition enables one or more applications to execute independently Guarantee resource Isolation between partitions

• Temporal Partitioning - Processor resource partitioning

• Spatial Partitioning - Memory resource partitioning

Related Work • Related work ƒ Commercial Implementations - WindRiver VxWorks 653 - LynuxWorks LynxOS-178 - GreenHills Integrity-178B

ƒ Research-purpose Implementations - User-level • AMOBA, SIMA, ACM

- Kernel-level • POK, Linux kernel-based ARINC 653

- Hypervisor-level • XtratuM, AIR, Xen-based, Virtualbox-based

Æ Without discussions about case study to apply ARINC 653 to UAV

Contents

1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Goal • Goal – Suggest a design and implementation of UAV control and mission software over ARINC 653 • Using Linux-based ARINC-653 • Aerial vehicle system – OFP(Operational Flight Program), VSP(Video Streaming Program)

• Ground system – GCP(Ground Control Program), GMP(Ground Monitoring Program)

– Present effectiveness of Linux-based ARINC 653 for UAVs

Contents

1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Linux-based ARINC 653 2CTVKVKQP

2CTVKVKQPP

5[UVGO2CTVKVKQP

#4+0%2TQEGUU

#4+0%2TQEGUU

5VCTVWR2TQEGUU

#4+0%2TQEGUU

0GVYQTM/CPCIGT

'TTQT*CPFNGT

'TTQT*CPFNGT

#4+0%2TQEGUU 'TTQT*CPFNGT

ˎ

WUGT

#4+0%.KDTCT[

.KPWZDCUGF#4+0%-GTPGN 2TQEGUU5EJGFWNGT

'VJGTPGV

2CTVKVKQP5EJGFWNGT

%#0

*GCNVJ/QPKVQT

9KTGNGUU.#0

MGTPGN

PGVYQTM

Æ S.Han and H.-W Jin ”Kernel-Level ARINC 653 Partitioning for Linux” (SAC 2012)

Linux-based ARINC 653 2CTVKVKQP

2CTVKVKQPP

5[UVGO2CTVKVKQP

#4+0%2TQEGUU

#4+0%2TQEGUU

5VCTVWR2TQEGUU

#4+0%2TQEGUU

0GVYQTM/CPCIGT

'TTQT*CPFNGT

'TTQT*CPFNGT

#4+0%2TQEGUU 'TTQT*CPFNGT

ˎ

WUGT

#4+0%.KDTCT[

.KPWZDCUGF#4+0%-GTPGN .K PW F 2TQEGUU5EJGFWNGT 2 5 J

2CTVKVKQP5EJGFWNGT 5 J F N

*GCNVJ/QPKVQT * NVJ / KV

MGTPGN M N

• Provides interfaces for ARINC 653 application programming 'VJGTPGV

%#0

9KTGNGUU.#0

PGVYQTM V M

Linux-based ARINC 653 • The process partition scheduler perform at the kernel level 2CTVKVKQP scheduler and2CTVKVKQPP 5[UVGO2CTVKVKQP in a#4+0%2TQEGUU hierarchical manner #4+0%2TQEGUU

5VCTVWR2TQEGUU

• The process scheduler uses the real-time scheduler like EDF algorithm 0GVYQTM/CPCIGT #4+0%2TQEGUU #4+0%2TQEGUU ˎ • The partition scheduler uses a fixed-priority scheduling algorithm 'TTQT*CPFNGT

'TTQT*CPFNGT

'TTQT*CPFNGT

WUGT

#4+0%.KDTCT[ # 4+0% 

.KPWZDCUGF#4+0%-GTPGN 2TQEGUU5EJGFWNGT

'VJGTPGV

2CTVKVKQP5EJGFWNGT

%#0

*GCNVJ/QPKVQT

9KTGNGUU.#0

MGTPGN

PGVYQTM

Linux-based ARINC 653 2CTVKVKQP

2CTVKVKQPP

5[UVGO2CTVKVKQP

#4+0%2TQEGUU

#4+0%2TQEGUU

5VCTVWR2TQEGUU

#4+0%2TQEGUU

0GVYQTM/CPCIGT

'TTQT*CPFNGT

'TTQT*CPFNGT

#4+0%2TQEGUU 'TTQT*CPFNGT

ˎ

#4+0%.KDTCT[

WUGT

• Startup process interprets the configuration file and initializes the system .KPWZDCUGF#4+0%-GTPGN MGTPGNmanager 2TQEGUU5EJGFWNGT 2CTVKVKQP5EJGFWNGT information *GCNVJ/QPKVQT • Provides the network configuration to the network

• Network manager supports%#0 inter-partition communication PGVYQTM over different 'VJGTPGV 9KTGNGUU.#0 network links

Contents

1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT

2CTVKVKQP 1(2

2CTVKVKQP 852

5[UVGO 2CTVKVKQP

)P% UVWRAOPIT

PCXATGCFGT HTCOGAUGPF UYOATGCFGT

PGVAOPIT PGV VVAOPI AO CFVATGCFGT 2

2

2 %*

%*

%*

9.#0

)TQWPF5[UVGO

2CTVKVKQP )%2 EOFAUGPF

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IORAIWK

IERAIWK 2 %*

2

2 %*

%*

PGVAOPIT OPIT

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT

2CTVKVKQP 1(2

2CTVKVKQP 852

5[UVGO 2CTVKVKQP

)P% UVWRAOPIT

PCXATGCFGT HTCOGAUGPF UYOATGCFGT

PGVAOPIT VAOPI CFVATGCFGT 2

2

2 %*

%*

9.#0

)TQWPF5[UVGO

2CTVKVKQP )%2 EOFAUGPF

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IORAIWK

IERAIWK 2 %*

2

2 %*

PGVAOPIT OPIT

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT

2CTVKVKQP 1(2

2CTVKVKQP 852

5[UVGO 2CTVKVKQP

)P% UVWRAOPIT

PCXATGCFGT HTCOGAUGPF UYOATGCFGT

PGVAOPIT PGVAO CFVATGCFGT 2

2

2 %*

9.#0

)TQWPF5[UVGO

2CTVKVKQP )%2 EOFAUGPF

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IERAIWK 2

2

IORAIWK 2 %*

PGVAOPIT

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT

2CTVKVKQP 1(2

2CTVKVKQP 852

5[UVGO 2CTVKVKQP

)P% UVWRAOPIT

PCXATGCFGT HTCOGAUGPF UYOATGCFGT

PGVAOPIT PGV VVAOPI AO CFVATGCFGT 2

2

2 %*

%*

 %*

)TQWPF5[UVGO )T QW [

2CTVKVKQP )%2

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

• nav_reader process reads the attitude measurements, angular rates, EOFAUGPF

HTCOGATGEX

and body from navigation sensor UVCVGATGEX

UVWRAOPIT

UVCVGAWRFCVG

• swm_readerUVCVGAWRFCVG collects current state information of helicopter IORAIWK

PGVAOPIT OPIT

IERAIWK receives control commands from GCP • adt_reader process 2

2

2

%* • GnC process controls the control surface of the UAV %*rotors to move %*

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT

2CTVKVKQP 1(2

2CTVKVKQP 852

5[UVGO 2CTVKVKQP

)P% UVWRAOPIT

PCXATGCFGT HTCOGAUGPF UYOATGCFGT

PGVAOPIT PGV VVAOPI AO CFVATGCFGT 2

2

2 %*

%*

%*

9.#0

)TQWPF5[UVGO PF F [

2CTVKVKQP )%2

2CTVKVKQP )/2  )/ /2

5 5[UVGO 2CTVKVKQP 2 K

• frame_send of VSP sends video frames to GMP through wireless network EOFAUGPF A

HHTCOGATGEX TCO OG TGEEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IORAIWK

IERAIWK 2 %*

2

2 %*

%*

PGVAOPIT OPIT

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT R

2 K 2CTVKVKQP 1(2  1(2

2CTVKVKQP 852 2 K  852

5 5[UVGO 2CTVKVKQP 2 KK

• cmd_send process sends flight command to OFP )P%

• state_recv process receives state information of UAV from OFP UVWRAOPIT PCXATGCFGT

HTCOGAUGPF • state_updateUYOATGCFGT process to provide roll-pitch, yaw, altitude, control power

and velocity

PGVAOPIT PGV VVAOPI AO CFVATGCFGT

2 2 2 • gcp_gui process represents Grapical User Interface(GUI) %* %*

%*

)TQWPF5[UVGO

2CTVKVKQP )%2 KQ QP

EOFAUGPF

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IORAIWK

IERAIWK 2 %*

2

2 %*

%*

PGVAOPIT OPIT

Design of Control and Mission Software 7POCPPGF*GNKEQRVGT R

2CTVKVKQP  1(2 2CTVKVKQP 1(2

2CTVKVKQP 852 2CT VKVKQP  85 52

5[UVGO 2C 5[UVGO 2CTVKVKQP TVK KQP

)P% • frame_recv process receives video frames from VSP UVWRAOPIT

• state_updatePCXATGCFGT process using Qt library for easy playback HTCOGAUGPF

UYOATGCFGT

• gmp_gui process shows video frames in the monitor PGVAOPIT PGV VVAOPI AO CFVATGCFGT 2

2

2 %*

%*

%*

)TQWPF5[UVGO QW

2CTVKVKQP )%2 EOFAUGPF

2CTVKVKQP )/2 2C TV

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IORAIWK

IERAIWK 2 %*

2

2 %*

%*

PGVAOPIT OPIT

Design of Control and Mission Software • Channel 0 is used to send control commands from cmd_send to adt_reader 7POCPPGF*GNKEQRVGT R

2CTVKVKQP 852 2CTVKVKQP • Channel 1 2CTVKVKQP 1(2 is used to send current state 5[UVGO of unmanned helicopter from )P% GnC to state_recv UVWRAOPIT

PCXATGCFGT

• Channel 2 is used to send video frame from frame_send to frame_recv HTCOGAUGPF UYOATGCFGT

PGVAOPIT

CFVATGCFGT CFV TGCFGT GCFG GT 2

2

2

%*

%*

%* )TQWPF5[UVGO

2CTVKVKQP )%2 EOFAUGPF

2CTVKVKQP )/2

5[UVGO 2CTVKVKQP

HTCOGATGEX UVWRAOPIT

UVCVGATGEX UVCVGAWRFCVG UVCVGAWRFCVG IERAIWK

IORAIWK

2

2

2

%*

%*

%*

PGVAOPIT

Design Issue #1 • Graphic User Interface(GUI) Processes – Problem • If GUI processes run periodically, then it can fail to immediately respond to human

– Solution • Aperiodic process • High Priority

Design Issue #2 • Period Assignment – We determined the period based on data rate of sensors on helicopter – frame_send period • Transmit on 12 fps • Assigned 80ms period to the frame_send process

Period and WCET of processes (ms)

Partitions

Unmanned Helicopter

OFP

VSP

GCP Ground System GMP

Tasks

Period

WCET

GnC

20

2

nav_reader

20

6

swm_reader

80

3

adt_reader

80

10

frame_send

80

35

cmd_send

160

10

state_recv

80

10

state_update

80

4

gcp_gui

N/A

N/A

frame_recv

80

40

state_update

160

5

gmp_gui

N/A

N/A

Design Issue #3 • Partition Consolidation P1

1

0

2

3

P1

4

1

2

4

20 Partitions

Partition1

Partition2

P1

P2

5

29

1

2

40

P1

P2

5

48

1

60

i

Tasks

Period

WCET

1

GnC

20

2

2

nav_reader

20

6

3

swm_reader

80

3

4

adt_reader

80

10

5

frame_send

80

35

P2

2

5

68

80

Æ S.Han and H.-W Jin ”Temporal Partitioning for Mixed-Criticality Systems” (ETFA 2011)

Hardware-In-the-Loop Simulation • HILS Environment – Test in a HILS environment, where the HIL simulator developed by Korea Aerospace Research Institute – HIL simulator • Desktop equipped with Intel Core2Duo 2.66 GHz • QNX 6.3.2

– Flight control system • Desktop equipped with Intel Core2Duo 2.66 GHz • ARINC 653 implemented in the Linux Kernel 2.6.32 • Logitech QuickCam Pro 9000 camera

– Ground system • Laptop equipped with Intel Centrino Duo 1.66 GHz • ARINC 653 implemented in the Linux Kernel 2.6.32

GUI of Ground Control Program • Ground Control Program

GUI of Ground Monitor Program • Ground Monitor Program

Variation of altitude • Measurement result

ƒ It takes around 20 sec to reach the expected altitude

Contents

1

Introduction

2

Goals

3

Linux-based ARINC 653

4

Design of Control and Mission Software

5

Conclusions and Future Work

Conclusions & Future work • Design and Implementation of control and mission software – Implement them on Linux-based ARINC 653

• Future work – Determine period and execution time of processes more systematically – Intend to apply our software to a real quad-rotor helicopter

Thank you! You can see our study about ARINC 653 through this URL http://sslab.konkuk.ac.kr/main/arinc.html {gamja474, whacker, mir1004, jinh}@konkuk.ac.kr

Q&A

Suggest Documents