Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques

The creation of reliable unmanned aerial vehicles (drones) now is an important task in the science and technology, because such devices can have a lot of use-cases in the digital economy and modern life, so we need to ensure the reliability here. In this article, it is proposed to assemble a quadcop...

Full description

Bibliographic Details
Main Authors: Sergey Mikhailovich Staroletov, Maxim Stanislavovich Amosov, Kirill Mikhailovich Shulga
Format: Article
Language:English
Published: Ivannikov Institute for System Programming of the Russian Academy of Sciences 2019-10-01
Series:Труды Института системного программирования РАН
Subjects:
Online Access:https://ispranproceedings.elpub.ru/jour/article/view/1170
id doaj-0886a52186004e489dbfb43311e23027
record_format Article
spelling doaj-0886a52186004e489dbfb43311e230272020-11-25T00:49:13Zeng Ivannikov Institute for System Programming of the Russian Academy of SciencesТруды Института системного программирования РАН2079-81562220-64262019-10-01314396010.15514/ISPRAS-2019-31(4)-31192Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniquesSergey Mikhailovich Staroletov0Maxim Stanislavovich Amosov1Kirill Mikhailovich Shulga2Алтайский государственный технический университет им. И.И. ПолзуноваАлтайский государственный технический университет им. И.И. ПолзуноваАлтайский государственный технический университет им. И.И. ПолзуноваThe creation of reliable unmanned aerial vehicles (drones) now is an important task in the science and technology, because such devices can have a lot of use-cases in the digital economy and modern life, so we need to ensure the reliability here. In this article, it is proposed to assemble a quadcopter from low-cost components in order to obtain a hardware prototype and to develop a software solution for the flight controller with high-reliability requirements, which will meet avionics software standards using existing open-source software solutions, and also apply the results as a model for teaching courses “Components of operating systems” and “Software verification”. In the study, we proceed to analyse the structure of quadcopters and flight controllers for them, represent a self-assembly solution. We describe Ardupilot as open-source software for unmanned aerial vehicles, the appropriate APM controller and methods of PID control. Today's avionics standard of reliable software for flight controllers is a real-time partitioning operating system that is capable of responding to events from devices with an expected speed, as well as sharing processor time and memory between isolated partitions. A good example of such OS is the open-source POK (Partitioned Operating Kernel). In the repository, it contains an example design of a system for the quadcopters using AADL language for modeling its hardware and software. We apply such a technique with Model-driven engineering to a demo system that runs on real hardware and contains a flight management process with PID control as a partitioned process. Using a partitioned OS brings the reliability of flight system software to the next level. And to increase the level of control logic correctness we propose to use formal verification methods and provide examples of verifiable properties at the level of code using the deductive approach as well as at the level of the cyber-physical system using Differential dynamic logic to prove the stability.https://ispranproceedings.elpub.ru/jour/article/view/1170квадрокоптероперационная системапартицированиеarinc 653формальная верификация
collection DOAJ
language English
format Article
sources DOAJ
author Sergey Mikhailovich Staroletov
Maxim Stanislavovich Amosov
Kirill Mikhailovich Shulga
spellingShingle Sergey Mikhailovich Staroletov
Maxim Stanislavovich Amosov
Kirill Mikhailovich Shulga
Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
Труды Института системного программирования РАН
квадрокоптер
операционная система
партицирование
arinc 653
формальная верификация
author_facet Sergey Mikhailovich Staroletov
Maxim Stanislavovich Amosov
Kirill Mikhailovich Shulga
author_sort Sergey Mikhailovich Staroletov
title Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
title_short Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
title_full Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
title_fullStr Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
title_full_unstemmed Designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
title_sort designing robust quadcopter software based on a real-time partitioned operating system and formal verification techniques
publisher Ivannikov Institute for System Programming of the Russian Academy of Sciences
series Труды Института системного программирования РАН
issn 2079-8156
2220-6426
publishDate 2019-10-01
description The creation of reliable unmanned aerial vehicles (drones) now is an important task in the science and technology, because such devices can have a lot of use-cases in the digital economy and modern life, so we need to ensure the reliability here. In this article, it is proposed to assemble a quadcopter from low-cost components in order to obtain a hardware prototype and to develop a software solution for the flight controller with high-reliability requirements, which will meet avionics software standards using existing open-source software solutions, and also apply the results as a model for teaching courses “Components of operating systems” and “Software verification”. In the study, we proceed to analyse the structure of quadcopters and flight controllers for them, represent a self-assembly solution. We describe Ardupilot as open-source software for unmanned aerial vehicles, the appropriate APM controller and methods of PID control. Today's avionics standard of reliable software for flight controllers is a real-time partitioning operating system that is capable of responding to events from devices with an expected speed, as well as sharing processor time and memory between isolated partitions. A good example of such OS is the open-source POK (Partitioned Operating Kernel). In the repository, it contains an example design of a system for the quadcopters using AADL language for modeling its hardware and software. We apply such a technique with Model-driven engineering to a demo system that runs on real hardware and contains a flight management process with PID control as a partitioned process. Using a partitioned OS brings the reliability of flight system software to the next level. And to increase the level of control logic correctness we propose to use formal verification methods and provide examples of verifiable properties at the level of code using the deductive approach as well as at the level of the cyber-physical system using Differential dynamic logic to prove the stability.
topic квадрокоптер
операционная система
партицирование
arinc 653
формальная верификация
url https://ispranproceedings.elpub.ru/jour/article/view/1170
work_keys_str_mv AT sergeymikhailovichstaroletov designingrobustquadcoptersoftwarebasedonarealtimepartitionedoperatingsystemandformalverificationtechniques
AT maximstanislavovichamosov designingrobustquadcoptersoftwarebasedonarealtimepartitionedoperatingsystemandformalverificationtechniques
AT kirillmikhailovichshulga designingrobustquadcoptersoftwarebasedonarealtimepartitionedoperatingsystemandformalverificationtechniques
_version_ 1725252369002790912