Motion control along a program trajectory using a neural network
Authors: Гриняк В.М. , Шутов К.С. , Артемьев А.В. 
Published: July 2024

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

The paper examines the creation of a hardware and software prototype of an unmanned vehicle and testing its hardware and software architecture in an attempt to create a universal standard solution for this type of device. The problem of controlling a drone is considered in such a way that it is possible to flexibly switch the sources of control commands and control algorithms. For this purpose, the subsystems for generating and executing control commands are proposed to be connected via a message queue. It is makes possible to combine autonomous and manual controlled modes of operation of the drone. A method for generating control commands when an object follows a program trajectory, based on a neural network, is proposed. The input data of the network are the coordinates of the program trajectory and the current state of the object, and the output data are control actions. The paper describes the hardware and software components of an automobile-type device, the architecture of its control system, the architecture of a neural network, and possible approaches to its training. The creation of a training set using both simulated and real traffic data is discussed, which allows the self-driving device to “learn” different driving styles. The results of experiments with various training samples are presented, which demonstrate the practical applicability of the proposed control method. Attention is paid to aspects of the neural network structure, including the choice of the number of layers and neurons. The possibility of using “intermediate” points of the program trajectory to improve the properties of the object’s movement is indicated. In general, it is concluded that the use of neural networks is promising in the control of drones, in cases where combining and flexible switching of control algorithms is required.