graduate student from 01.01.2017 to 01.01.2020
Shahty, Rostov-on-Don, Russian Federation
Russian Federation
UDK 62 Инженерное дело. Техника в целом. Транспорт
Improving control systems for unmanned vehicles is the most urgent task in robotics. The use of such a tool as artificial neural networks can solve problems with intelligent and adaptive control. The existing concept of AI driver (driver with artificial intelligence) implies a system capable of controlling the speed and position of an unmanned vehicle in space. This article proposes a method for developing an artificial neural network for an AI-driver, taking into account the appearance of obstacles in the path of an unmanned vehicle, compiling an empirical database for training, and modeling the developed system to obtain both a control signal and a trajectory. The proposed system consists of two artificial neural networks that divide the task of driving an unmanned vehicle into two sub-tasks: processing data from rangefinders and generating a speed setting signal for the left and right drives. This approach reduces the retraining of the neural network and allows you to get a smaller training error. The use of artificial intelligence will make it possible to increase the functionality and reliability of control systems for unmanned vehicles.
neural networks, mathematical modeling, unmanned vehicles
Введение. В мобильной робототехнике объезд препятствий и планирование маршрута робота может осуществляться при помощи методов оптимизации, таких как рой частиц [7], генетические алгоритмы [11], пчелиный алгоритм [3], муравьиные алгоритмы [5], а также с использованием искусственных нейронных сетей (ИНС) [8]. Данная статья рассматривает последний метод, так как при работе с датчиками и проектированием нейронной сети был применен метод обучения с учителем. Были проведены исследования по моделированию траектории передвижения мобильного робота с дифференциальным приводом колес и искусственной нейронной сети для объезда препятствий в работе [1]. Где была разработана ИНС, способная по расстоянию до препятствия определить необходимую скорость и направление движения, а системой выбора скорости для каждого колеса служила булева логика, что являлось простым набором правил. В работе [2] описана методология проектирования ИНС с применением эвристического подхода создания обучающей выборки. В данной статье была проведена модификация системы управления путем интегрирования ИНС замещающей блок булевой логики на ИИ-водителя. На рис. 1 показано как выглядит этот блок. ИИ- водитель объединяет в себе две ИНС:
- NN_find_obstacles ‒ решает задачу выбора ускорения и направления движения;
- set_velocytes ‒ по выходу выше описанного блока решает какую скорость выбрать для каждого колеса.
Рис. 1. Модель искусственной нейронной сети для ИИ-водителя
Объединяя эти два блока получаем модель, позволяющую управлять дифференциальным приводом на основе появления препятствий. Рассмотрим подробнее вторую ИНС.
Методология. В данной статье использовалась сеть с прямым распространением данных, которая обучалась с использованием алгоритма обратного распространения ошибки. Данный метод предполагает, что обучение закончится в двух случаях:
- Количество пройденных итераций превысит максимум;
- Значение ошибки обучения станет меньше установленной.
Таким образом, на каждой итерации ошибка обучения (разница между выходным значением нейронной сети и целевой выборкой) будет сравниваться с заданной, пока одно из условий не будет выполнено.
Данная нейронная сеть обучалась по методу «с учителем» ‒ это означает, что необходимо разработать эмпирическую базу данных, которая бы соответствовала конкретному применению ИНС в системе и адекватно реагировала на выход первой сети, как на рис. 1.
В таблице 1 собран сжатый пример эмпирической базы данных обучения нейронной сети, где в общей системе управления коэффициент ускорения и направление являются выходом первой ИНС (NN_find_obstacles), что также является входом set_velocytes.
Таблица 1
Эмпирическая база данных
Коэффициент ускорения |
Направление |
Скорость правого привода |
Скорость левого привода |
100 |
0 |
10 |
10 |
90 |
0 |
9 |
9 |
80 |
0 |
8 |
8 |
70 |
10 |
0 |
7 |
60 |
10 |
0 |
7 |
50 |
10 |
0 |
7 |
40 |
10 |
0 |
7 |
70 |
-10 |
7 |
0 |
60 |
-10 |
7 |
0 |
50 |
-10 |
7 |
0 |
40 |
-10 |
7 |
0 |
30 |
10 |
0 |
10 |
20 |
10 |
0 |
10 |
10 |
10 |
0 |
10 |
30 |
-10 |
10 |
0 |
20 |
-10 |
10 |
0 |
10 |
-10 |
10 |
0 |
0 |
0 |
0 |
0 |
Следовательно, изменение скоростей для дифференциального привода БТС ориентируется на появление препятствий и устанавливает значение скорости для маневра влево и вправо соответственно сигналу с предыдущей ИНС.
Проектирование блока set_velocytes. После разработки эмпирической базы данных для обучения искусственной нейронной сети следует спроектировать ее архитектуру. В данном случае была выбрана трехслойная сеть с двумя входами и выходами, обученная при помощи функции байесовской регуляции. На рис. 2 показана архитектура этой ИНС.
Рис. 2. Архитектура и данные об обучении искусственной нейронной сети
Данная сеть была обучена за 1000 итераций с ошибкой в 0,0724, как показано на рис. 2. Нейронная сеть состоит из 3-х слоев с 5-ю нейронами в каждом, с линейными функциями активациями в первых двух и сигмоидальной функцией в выходном слое.
Результаты обучения представлены на рис. 3, где показан выход нейронной сети по левому и правому двигателю в сравнении с обучающей выборкой.
Рис. 3. Результаты обучения искусственной нейронной сети для правого и левого привода
Как видно из рис. 3 ИНС была обучена с малой ошибкой, так как выход нейронной сети и обучающая выборка практически совпадают.
Моделирование искусственной нейронной сети в составе бесплотного транспортного средства с дифференциальным приводом. Модель, представленная на рисунке 4, состоит из следующих блоков:
- set_ob – искусственно заданная диаграмма появления препятствий;
- II_driver – блок ИИ-водителя, показанная на рисунке 1;
- Block_of_dif_drive – блок, описывающий поведение дифференциального привода;
- Kin_and_MR – кинематическая модель четырехколесного беспилотного транспортного средства.
На рис. 6 показан выход блока set_ob, представляющий собой диаграмму изменения расстояния до препятствий во времени. Расчет координат [14] беспилотного транспортного средства с дифференциальным приводом осуществляется с помощью следующей системы дифференциальных уравнений:
Рис. 4. Моделирование обхода препятствий для беспилотного транспортного средства
где ‒ координата Х;
‒ координата Y;
,
‒ линейные скорости правого и левого привода БТС ;
‒ ширина БТС;
‒ угол поворота БТС;
‒ начальные координаты, которые равны [0,0].
Выходом блока ИИ-водителя тоже является диаграмма (рис. 6), представляющая собой диаграмму скоростей для правого привода (выход 1) и для левого (выход 2).
Рис. 5. Диаграмма появления препятствий на пути беспилотного транспортного средства
Рис. 6. Выход искусственной нейронной сети, установка скоростей для левого и правого привода беспилотного транспортного средства
Таким образом задается управляющий сигнал для блока Block_of_dif_drive, где с помощью ПИД-регулятора устанавливается необходимая скорость для БТС. На рис. 7а показан выход этого блока, а именно линейная скорость правого колеса (выход 1) и левого (выход 2).
(а) (б)
Рис. 7. Выход блока Block_of_dif_drive (а) и изменение угла поворота беспилотного транспортного средства (б)
Если сравнить графики на рисунке 6 и 7а становиться очевидно, что блок Block_of_dif_drive устанавливает скорость в точности по указанию ИИ-водителя. На рисунке 7б показано изменение угла поворота беспилотного транспортного средства, этот параметр является выходом блока Kin_and_MR.
Изменение угла поворота хорошо прослеживается на рисунке 8 при объезде препятствий. Здесь показано изменение траектории по мере появления преград на пути беспилотного транспортного средства.
Рис. 8. Траектория обхода препятствия беспилотным транспортным средством и визуальное представление появления преград (1 ‒ первый поворот, 2 ‒ второй поворот, 3 ‒ третий поворот)
Квадраты на рисунке 10 являются представлением препятствий, а их номер в какой момент времени они появились, соответствуя рис. 8.
Выводы. Таким образом, при моделировании объезда искусственно созданных препятствий, ИИ-водитель показал хорошие результаты, так как траектория движения БТС изменяется с точностью по концепции разработанной ИНС. Также результаты данного исследования показали большой потенциал искусственных нейронных сетей при проектировании ИИ-водителя. В дальнейшем планируется проведение модификаций обучающей выборки и интеграции в систему управления ИНС по контролю заданной траектории.
Источник финансирования. Конкурс УМНИК 17-12 (б), Автонет - 2017.
1. Kruglova T.N., Vlasov A.S. Modeling the trajectory of movement of a mobile robot with differential wheel drive and an artificial neural network to avoid obstacles [Modelirovanie traektorii peredvizheniya mobil'nogo robota s differencial'nym privodom koles i iskusstvennoj nejronnoj seti dlya ob"ezda prepyatstvij] Intelligent energy systems: materials V International. Youth Forum, Tomsk, October 9-13, 2017: in 3 toms. Tomsk, polytechnics, un-t Energet. in-t. Tomsk. 2017. No. 1. Pp. 162-165. (rus)
2. Kruglova T.N., Vlasov A.S. Neural network planning of the trajectory and avoidance of obstacles by a mobile robot [Nejrosetevoe planirovanie traektorii i ob-hoda prepyatstvij mobil'nym robotom]. Intellectual energy systems: materials V Intern. youth Forum, Tomsk, October 9-13, 2017: in 3 toms. Tomsk, polytechnics, un-t Energet. in-t. - Tomsk, 2017. Vol. 1. Pp. 159-162. (rus)
3. Marco A. Contreras-Cruz., Victor Ayala-Ramirez., Uriel H. Hernandez-Belmonte. Mobile robot path planning using artificial bee colony and evolutionary programming. Applied Soft Computing 30 (2015) Pp. 319-328.
4. Ismail AL-Taharwa., Alaa Sheta., Mohammed Al-Weshah. A Mobile Robot Path Planning Using Genetic Algorithm in Static Environment. Journal of Computer Science. 2008. 4 (4). Pp. 341-344.
5. Brand M., Masuda M., Wehner N., Xiao-Hua Yu. Ant Colony Optimization Algorithm for Robot Path Planning. International Conference On Computer Design And Appliations (ICCDA 2010).
6. Wang Y., Zhou H., Wang Y. Mobile robot dynamic path planning based on improved genetic algorithm. AIP Conference Proceedings 2017. 1864. 020046 https://doi.org/10.1063/1.4992863.
7. Chołodowicz E., Figurowski D. Mobile Robot Path Planning with Obstacle Avoidance using Particle Swarm Optimization. Pomiary Automatyka Robotyka. 2017. No. 3. Pp. 59-68. DOI:https://doi.org/10.14313/PAR_225/59.
8. Ouarda H. Neural Path planning For Mobile Robots. International journal of systems applications, engineering & development. 2011. Iss. 3. No. 5. Pp. 367-376.
9. Nagib G., Gharieb W. Path planning for a mobile robot using genetic algorithms https://www.researchgate.net/publication/4113354.
10. Chih-Jer Lin., Yen-Lin Chen., Cheng-Hsin Liu., Shen Kai Yu. Path planning of a Mobile Robot Using Real-coded Genetic Algorithm Based Simultaneous Exploration. 2nd International Conference on Advances in Computer Science and Engineering. 2013. Pp. 91-94.
11. Toolika Arora., Yogita Gigras., Vijay Arora. Robotic Path Planning using Genetic Algorithm in Dynamic Environment. International Journal of Computer Applications. 2014. Pp. 56-69.
12. Mixajlov V.V., Nazarova A.V., Yushhenko A.S. Autonomous mobile robots - navigation and control [Avtonomnye mobil'nye roboty - navigaciya i upravlenie]. News of SFU. Engineering science Section I. Control and modeling technologies. Pp. 48-67. (rus)
13. Sedeño-Noda A., Andrea Raith. A. Dijkstra-like method computing all extreme supported non-dominated solutions of the biobjective shortest path problem. Computers & Operations Research. 2015. Pp. 83-94.
14. Myint C., Win N. N. Position and Velocity control for Two-Wheel Differential Drive Mobile Robot. International Journal of Science, Engineering and Technology Research. 2016. No. 5. Pp. 2849-2855.
15. Dušek F., Honc D., Rozsival P. Mathematical Model of Differentially Steered Mobile Robot. In Proceedings of the 18th International Conference on Process Control, Tatranská Lomnica, Slovakia. Pp. 221-229.