Научная статья на тему 'Исследование и разработка инструмента верификации программ управления для беспилотных транспортных средств'

Исследование и разработка инструмента верификации программ управления для беспилотных транспортных средств Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
101
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
БЕСПИЛОТНЫЙ ТРАНСПОРТ / АЛГОРИТМ / БАЗА ДАННЫХ / СПОСОБ ОПТИМИЗАЦИИ / МАШИННОЕ ОБУЧЕНИЕ / ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Франтасов Дмитрий Николаевич, Мельников Павел Андреевич, Климась Анна Сергеевна

Проект направлен на помощь свободным разработчикам в написании ПО для беспилотных транспортных средств путём создания универсального и общедоступного инструмента. Он позволяет заранее просчитать какая комбинация команд позволит устройству функционировать бесперебойно, а какая приведет к сбою на каком-либо этапе, таким образом можно проверить все возможные варианты выполнения программы, и понять, на каком именно произошла ошибка или сбой. Также конструктор может сам предлагать разработчикам варианты избавления от конфликтных ситуаций. Уже разработан алгоритм для анализа всех вариантов ветвления программ управления и база данных, в которой будет хранится результат работы такого алгоритма. Предложен вариант оптимизации алгоритма анализа программ, для сокращения затрат времени на полный анализ всех ветвлений. Предложен вариант создания экспертной системы для помощи в анализе и исправлении ошибок. Ещё будет создано сообщество разработчиков и база знаний на базе университета СамГУПС, что поможет студентам и профессионалам в области разработки ПУ общаться на нашей платформе и совершенствовать свои навыки и качество ПО.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Франтасов Дмитрий Николаевич, Мельников Павел Андреевич, Климась Анна Сергеевна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Исследование и разработка инструмента верификации программ управления для беспилотных транспортных средств»

т

ИССЛЕДОВАНИЕ И РАЗРАБОТКА ИНСТРУМЕНТА

ВЕРИФИКАЦИИ ПРОГРАММ УПРАВЛЕНИЯ ДЛЯ БЕСПИЛОТНЫХ ТРАНСПОРТНЫХ СРЕДСТВ

Франтасов Дмитрий Николаевич,

ФГБОУ ВО "Самарский государственный университет путей сообщения", г. Самара, Россия, frantasov@mail.ru

Мельников Павел Андреевич,

ФГБОУ ВО "Самарский государственный университет путей сообщения", г. Кинель, Россия, gleavero@gmail.com

Проект направлен на помощь свободным разработчикам в написании ПО для беспилотных транспортных средств путём создания универсального и общедоступного инструмента. Он позволяет заранее просчитать какая комбинация команд позволит устройству функционировать бесперебойно, а какая приведет к сбою на каком-либо этапе, таким образом можно проверить все возможные варианты выполнения программы, и понять, на каком именно произошла ошибка или сбой. Также конструктор может сам предлагать разработчикам варианты избавления от конфликтных ситуаций. Уже разработан алгоритм для анализа всех вариантов ветвления программ управления и база данных, в которой будет хранится результат работы такого алгоритма. Предложен вариант оптимизации алгоритма анализа программ, для сокращения затрат времени на полный анализ всех ветвлений. Предложен вариант создания экспертной системы для помощи в анализе и исправлении ошибок. Ещё будет создано сообщество разработчиков и база знаний на базе университета СамГУПС, что поможет студентам и профессионалам в области разработки ПУ общаться на нашей платформе и совершенствовать свои навыки и качество ПО.

Информация об авторах:

Франтасов Дмитрий Николаевич, к.т.н., преподаватель, доцент кафедры ПМИИС, федеральное государственное бюджетное образовательное учреждение высшего образования "Самарский государственный университет путей сообщения", г. Самара, Россия Мельников Павел Андреевич, студент, федеральное государственное бюджетное образовательное учреждение высшего образования "Самарский государственный университет путей сообщения", г. Кинель, Россия

Климась Анна Сергеевна, студентка, федеральное государственное бюджетное образовательное учреждение высшего образования "Самарский государственный университет путей сообщения", г.Самара, Россия

Для цитирования:

Франтасов Д.Н., Мельников П.А., Климась А.С. Исследование и разработка инструмента верификации программ управления для беспилотных транспортных средств // T-Comm: Телекоммуникации и транспорт. 2018. Том 12. №12. С. 61-65.

For citation:

Frantasov D.N., Melnikov P.A., Klimas A.S. (2018). Instrument for verifying control programs for unmanned vehicles. T-Comm, vol. 12, no.12, pр. 61-65. (in Russian)

DOI 10.24411/2072-8735-2018-10202

Климась Анна Сергеевна,

ФГБОУ ВО "Самарский государственный университет путей сообщения", г. Самара, Россия, anyuta.klimas@mail.ru

Ключевые слова: беспилотный транспорт, алгоритм, база данных, способ оптимизации, машинное обучение, искусственный интеллект.

У

В настоящее прем я беспилотные транспортные средства (БТС) являются одним из путей повышения транспортной эффективности. Требования к точности управления движением в условиях не детерминированных возмущений, ошибок навигационных измерений и реализаций управления повышаются. Одним из направлений повышения точности управления БТС является оптимизация программы управления (Г1У). В связи с этим возникает ряд задач оптимизации 111: режимы работы энергосистемы, состав и время запуска подпрограмм управления, совместная работа системных и прикладных задач.

Разработка таких, полностью автономных транспортных средств позволит решить ряд проблем, таких как:

- безопасность движения:

- эффективная трата энергоресурсов;

- эффективное совместное использование.

Уже давно в мире ведется разработка ЬТС, со временем и развитием технологий возможность их создания появилась практически у каждого человека. Однако, в процессе разработки инженеры сталкиваются со множеством проблем и одной из главных является написание программы управления движением, учитывающую возможные внешние факторы для бесперебойного движения.

На данный момент уже существует несколько видов беспилотного транспорта, которые работают под управлением программ без вмешательства людей. Для создания ПО для беспилотных транспортных средств каждый разработчик создаёт инструменты, жестко связанные с его областью и мало универсальные [2 |. Это сильно тормозит развитие данной области, гак как свободным разработчикам очень трудно для каждого нового транспортного средства писать всю программу с нуля и, при необходимости, даже создавать специальные инструменты для конкретных случаев.

Так как сейчас не существует общедоступной программы, которая могла бы выполнять такие функции, как построение программы автономного действия беспилотного устройства, предлагается начать с создания конструктора программ для бесперебойной работы ЬТС. Он призван помочь инженерам при проектировании ПУ. Он позволяет заранее просчитать какая комбинация команд позволит устройству функционировать бесперебойно, а какая приведет к сбою на каком-либо этапе, таким образом можно проверить все возможные варианты выполнения программы, и понять, на каком именно произошла ошибка или сбой для того, чтобы можно было предпринять меры по оптимизации программы. Также конструктор может сам предлагать разработчикам варианты избавления от конфликтных ситуаций.

I ¡араметры и состав энергосистемы ЬТС видятся одними из основных, так как влияют не только на работоспособность, по и на весогабаритные характеристики, а также конечную стоимость. Данный инструмент, при указании показателей потребляемой мощности, позволяет рассчитывать максимальную потребляемую энергию и ее критический уровень, что позволит заранее рассчитать все возможные затраты энергии в процессе работы беспилотного транспортного средства и, по возможности, максимально снизить энергопотребление беспилотного транспортного средства в процессе выполнения определенной программы. После построения корректной программы, конструктор автоматиче-

ски должен формировать всю необходимую документацию по ней и предоставлять ее разработчику в нужном виде.

В дальнейшем планируется формирование сообщества разработчиков вокруг платформы, предоставляемой на базе веб платформы. Ого позволит быстрее развивать саму программу, а также может дать толчок развитию беспилотных транспортных средств во многих сферах человеческой деятельности. После образования «сообщества» веб платформа может стать одним из центров генерации идей и разработки технологий для беспилотного транспорта.

Для построения программ бесперебойного движения составляются циклограммы, на которых наглядно отображены все команды, из которых состоит программа. Это позволяет оценить её качество и аналитически выявить варианты выполнения, способные привести к сбоям в работе транспортного средства. На данный момент разработан инструмент для построения циклограмм программ управления, не зависящий от аппаратной платформы и работающий с условными командами управления [11.

Существуют ветвления работы программы, возникающие в случае непредвиденных ситуаций или запланированных системных действий. Их необходимо учитывать, так как они влияют на работоспособность всей программы в целом. Для этого разработан алгоритм ¡4], способный проверять все возможные варианты ветвления программ управления (рис. ]).

Для того, чтобы фиксировать результаты работы вышеописанного алгоритма, мы предлагаем следующую схему базы данных (рис. 2).

Данный алгоритм работает следующим образом:

1. Сначала программа определяет общее количество команд в анализируемой программе.

2. После этого создается первая ветка. Ветка - это последовательность команд от самого начала программы до некоторой команды, на которой обнаруживается вариант ветвления.

3. Далее алгоритм находит следующую команду, па которой обнаруживается ветвление, при обнаружении каждой новой команды с ветвлением создается новая ветка.

4. После того, как все возможные ветки созданы, каждая из них заново анализируется на наличие ветвлений.

5. После того как все ветки закрываются, мы имеем информацию обо всех возможных ветвлениях анализируемой программы.

Таким образом, после завершения работы алгоритма, все возможные варианты позволяют строить «трассы» (трасса -это закопченная последовательность команд, которая формируется из веток) работы и прогоняя каждую линию через и мающийся анализатор, определяем возможные проблемы в работе программы.

Так как результатом работы алгоритма будет массив данных, размерность которого напрямую зависит от количества команд в программе управления и возможных условий ветвления, размерность массива представляется значительной. Поэтому использовать для промежуточного хранения оперативную память не представляется возможным. Использовать для хранения массива данных о трассах жизни файлы гак же представляется затруднительным из-за сложности структуры. Для долговременного хранения предлагается использовать базы данных [3|,

Т-Сотт Том 12. #12-2018

У

7ТЛ

Y

Невыполнение условия (1 ) приведёт к перегрузке энергосистемы и вероятному выходу из строя БТС.

Для учёта ситуации, когда будет потрачена вся энергия источника, бел возможности подзарядки необходимо отслеживать в каждый момент времени / условие;

W^WJftïWJiï-ij?,® (2)

I

где t¥BX,(t) - энергия, получаемая на борту БТС, если такая возможность существует. Иначе tVKi(t) = 0.

Отслеживая ситуации, когда fVIK < 0 можно прийти к выводу. что энергоисточник был полностью разряжен, что не позволило продолжить работу БТС.

Бля всех возможных трасс ПУ БТС необходимо вести общий счётчик соблюдения условий (!) и (2). В случае, когда по завершению анализа значение счётчика будет больше О, программа управления признаётся непригодной, способной привести к выходу из строя или потери связи с БТС. Определение участков ПУ приводящих к несоблюдению условий (1) или (2) позволит рассчитать значение Русг. необходимое для работы данной ПУ. Однако, это вероятно повлечёт увеличение стоимости или весогабаритных характеристик, за счёт изменения элементной базы.

Ещё одной проблемой, выделенной в [2] стала реляционная модель хранения данных о трассах I [У, что несомненно приведёт к значительным временным задержкам при расчётах P(i). Па этапах Отладки ПУ предлагается прибегнуть

к упрощениям расчёта />{/).

Любое упрощение методики - это компромисс, между надёжностью программы и скоростью получения результатов анализа, поэтому, при сохранении высоких требований к надёжности нужно искать другие методы повышения производительности. Для этого нужно определить проблемные места всего процесса (бутылочное горлышко) где возникают основные задержки. Хороший прирост производительности при работе с подобного класса задачами даёт документно-ориентированные СУБД). Или, если основные проблемы возникают при отладке на специальном комплексе, необходимо разобраться с принципами его работы, возможно можно задействовать параллельную обработку или предобработку данных (высокопроизводительные кластеры).

При использовании упрощённых методов анализа предлагается рассмотреть следующие упрощения:

1. При формировании программы выставлять приоритеты (или использовать заранее подготовленное ранжирование) для команд или подпрограмм, на основе приоритетов отбрасывать менее значимые действия, не влияющие или влияющие незначительно на работоспособность устройства.

2. Перед анализом определять процентное соотношение команд в программе по отношению к другим командам, используемым в программе управления. Основываясь на положениях закона Парето (принцип Парето, принцип 20/80) можно отбрасывать часто используемые или наоборот редко используемые команды.

3. При наличии статистики отказов (либо разработке инструмента, позволяющего накопить данную статистику) определять слабые и сильные места программ/программистов. В дальнейшем, акцентировать внимание только на проблемных местах, пренебрегая теми, где проблем обычно не возникает.

4. Основываясь на статистике (среднее время выполнения анализа, время выполнения анализа) можно указать желаемое время. Тогда программа в произвольном порядке или используя один из методов, описанных выше, отбросит все проверки, которые не уложатся в отведённое время. Способ можно использовать на ранних этапах разработки.

3. При анализе трасс, в случае определения, что условия {1) или (2) не выполняются заканчивать анализ данной трассы, ставить отметку о её полной непригодности и непригодности всех фасе, вытекающих из неё.

Очевидными являются проблемы производительности при поиске информации в СУБД с большим объёмом данных. На начальных этапах проблему можно уменьшить за счёт оптимизации структуры и используемых типов данных, применения индексирования, а также хранимых процедур на стороне СУБД, однако дальнейшее усложнение может потребовать перехода от реляционных СУБД к другим типам.

Для совершенствования алгоритма анализа ПУ возможно разработать экспертную систему, которая будет классифицировать различные, часто повторяющиеся ошибки и сможет давать рекомендации по их исправлению.

Оптимальным представляется применение алгоритма «обучения с учителем».

Формализованная модель вариантов выполнения ПУ БТС представима в виде (3):

< Во, Г, 0±А, В, У, /, К,У*>, (3)

где - ситуация в ПУ; Т — время принятия решения; О - необходимые для выполнения управленческого решения ресурсы БТС; 8 — (51, .. , 8п) - множество альтернативных путей выполнения ПУ доопределяющих ситуацию А - (А 1, ., , АС) - множество целей, преследуемых при выполнении ПУ; В - (В1. .. , ¿¡) - множество ограничений; У - (П, .. , Ут) — множество альтернативных решений; / - функция предпочтения ПУ; К - критерии выбора; У* - оптимальное решение.

Сначала требуется создать некую классификацию для ошибок, вида: конкретная ошибка; вид ошибок; класс ошибок.

Данная классификация может не завесить от области применения БТС.

Конкретные ошибки, похожие по своему происхождению будут объединяться, тем самым образовывая определенный вид ошибок. А затем, схожие друг с другом по тем или иным критериям виды, объединяясь между собой, будут создавать классы, объединенные общими чертами.

Далее на действиях пользователя обучается нейросеть таким образом, чтобы она могла соотносить ошибки, полученные в процессе анализа программ, в соответствии с предложенной выше классификацией.

После того, как нейросеть будет обучена классифицировать команды, нужно будет научить ее исправлять ошибки.

Основываясь па решениях экспертов, она будет обучаться решению типичных ошибок.

Таким образом, со временем будет повышаться качество решений, принимаемых экспертной системой. И процессе развития экспертной системы будут добавляться рекомендации по оптимизации программы управления.

T-Comm ^м 12. #12-2018

7ТТ

Y

Литература

1. Франтасое Д.Н. и др. Инструменты верификации программ управления беспилотными транспортными средствами // Проблемы науки №2(26), 2018. С. 12-14.

2. Калетпьев A.A., Сыгуров Ю.М. Разработка информационной поддержки процесса проектирования управляющих алгоритмов бортовых комплексов управления космических аппаратов // Вестник Самарского государственного аэро кос м и чес ко го университета № 1 (21)2010. С. 58-62.

3. Франтасое Д.Н.. Мельников П.А.. Кшмась A.C. Разработка и реализация алгоритма определения возможных путей выполнения программ управления беспилотными транспортными средст-

вами / Международная научно-техническая конференция «Перспективные информационные технологии -2018»,

4. Франтасое Д.Н., Мельников П.А., Климась А.С. Разработка алгоритма определения возможных путей выполнения программ управления беспилотными транспортными средствами / Международная научно-исследовательская конференция молодых ученых, аспирантов, студентов и старшеклассников «Молодежная наука в XXI веке: традиции, инновации, векторы развития», 201 Я. С. 82-83.

5. Франтасое Д.Н. и др. Условия оптимизации алгоритма определения возможных путей выполнения программ управления беспилотными транспортными средствами // Проблемы науки №5(29), 2018. С. 22-23.

INSTRUMENT FOR VERIFYING CONTROL PROGRAMS FOR UNMANNED VEHICLES

Dmitry N. Frantasov, SSTU, Samara, Russia, frantasov@mail.ru Pavel A. Melnikov, SSTU, Samara, Russia, gleavero@gmail.com Anna S. Klimas, SSTU, Samara, Russia, anyuta.klimas.ru

Abstract

The Project is aimed to help free developers to write software for unmanned vehicles by creating a universal and publicly available tool. It allows you to calculate in advance what combination of commands will allow the device to function smoothly, and which will lead to a failure at any stage, so you can check all possible variants of the program, and understand exactly what the error or failure occurred. Also, the programm can offer developers options to get rid of conflict situations. An algorithm has already been developed for the analysis of all variants of branching control programs and the database, which will store the result of such an algorithm. A variant of optimization of the program analysis algorithm is proposed to reduce the time spent on the full analysis of all branches. A variant of creating an expert system to assist in the analysis and correction of errors is proposed. More will be created by the developer community and knowledge base on the basis of the Samara State Transport University of that will help students and professionals in the development of CP to communicate on our platform and improve your skills and quality.

Keywords: беспилотный транспорт, алгоритм, database, способ оптимизации, машинное обучение, искусственный интеллект.

References

1. Frantsov D.N. (2018). Tools program verification control of unmanned vehicles. Problems of science. Vol. 2(26), February, pp. 12-14.

2. Kalentiyev A.A. (2010). Development of information support for the spacecraft control algorithm design process. Vestnik Samarskogo gosudarstvennogo aerokosmicheskogo unversiteta. Vol. 1(21), pp. 58-62.

3. Frantsov D.N. (2018). Development and implementation of an algorithm for determining possible paths of program execution control of unmanned vehicles. International scientific-technical conference "Perspective information technologies - 2018". Vol. 1, pp. 899-902.

4. Frantsov D.N. (2018). The development of an algorithm to determine possible paths of program execution control of unmanned vehicles. Mezhdunarodnaya nauchno-issledovatelskaya konferenciya molodyh uchenikh, aspirantov, studentov i starsheklassnikov, "Molodezhnaya nauka v XXI veke: tradtsii, inovatsii, vektori razvitiya". Vol. 1, pp. 82-83.

5. Frantsov D.N. (2018). Conditions of optimization algorithm for determining possible paths of program execution control of unmanned vehicles. Problems of science. Vol. 5(29), May, pp. 22-23.

Information about authors: Dmitry N. Frantasov, Ph. D., SSTU, Samara, Russia Pavel A Melnikov, student, SSTU, Samara, Russia Anna S. Klimas, student, SSTU, Samara, Russia

( I л

i Надоели баннеры? Вы всегда можете отключить рекламу.