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