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...
Main Authors: | , , |
---|---|
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 |