В статье рассматривается решение одного из заданий профиля «Интеллектуальные робототехнические системы», представленного на студенческом треке олимпиада НТИ.
Ключевые слова: НТИ , олимпиада .
Введение
Национальная технологическая инициатива (НТИ) — государственная программа мер по поддержке развития в России перспективных отраслей, которые в течение следующих 20 лет могут стать основой мировой экономики.
НТИ ориентируется на новые глобальные рынки. Так по итогам стратегической сессии «Форсайт-флот», состоявшейся в мае 2015 года, были определены девять перспективных рынков [1]:
− Аэронет — системы беспилотных летательных аппаратов;
− Автонет — системы современных транспортных средств;
− Маринет — система управления морским транспортом;
− Нейронет — человеко-машинные коммуникации;
− Хелснет — персонализированные медицинские услуги, лекарственные средства;
− Фуднет — производство и реализация питательных веществ;
− Энерджинет — распределенная энергетика;
− Технет — технологическая поддержка развития рынков;
− Сэйфнет — безопасность и защита компьютерных технологий.
Также в состав НТИ входит кружковое движение — это всероссийское сообщество энтузиастов технического творчества, построенное на принципе горизонтальных связей людей, идей и ресурсов [2]. В кружковое движение НТИ входит олимпиада — это ежегодные командные инженерные состязания школьников и студентов. Соревнования проходят по ряду профилей, связанных с НТИ.
Олимпиада НТИ Проводится с 2016 года. В 2016 году заявки подали более 12 000 школьников [3], в 2017 — более 20 000 школьников [4]. В 2018 — более 38 000 [5]. И в 2018 году запущен отдельный трек для студентов [6], подано заявок более двух тысяч [7].
Задача профиля
Целью профиля «Интеллектуальные робототехнические системы», является решение задач посвященным умным устройствам, таких как автономный транспорт, летательная робототехника, антропоморфная робототехника и коллаборативная робототехника.
Одно из заданий отборочного этапа, заключалось в анализе изображений, предоставленных средой «CarRacing-v0», входящей в состав инструмента «Gym» от исследовательской лаборатории «OpenAI». C последующем изменением параметров машины, чтобы она достигла финиша двигаясь по случайной дороге.
На входящем изображении, размером 96 на 96, находиться несколько типов объектов, различных цветов. Зеленым обозначается трава, серым трасса и красным машина (рисунок 1). На выходе необходимо предоставить три параметра, которые являются ускорением, торможением и углом поворота колес.
Рис. 1. Входящее изображение
Анализ изображения
Для анализа изображения используется библиотека алгоритмов компьютерного зрения «OpenCV». Чтобы выполнить задание, необходимо выделить на изображение все необходимые объекты, с которыми придется в дальнейшем работать. В данном случае это дорога, по которой должна двигаться машина. Может показаться, что нужно еще выделять машину, чтобы понять в какой части дороги она находиться, но она всегда находиться по центру в нижней части экрана. Поэтому это не требуется.
Для определения дороги, используется фильтрация изображения по конкретному цвету. Этот цвет является серым, других серых объектов на изображении нет. Для таких случаев в «OpenCV» имеется функция, которой передается исходное изображение, нижняя и верхняя граница цветов в формате «HSV». В результате будет изображение, в котором все пиксели изображения, которые не вошли в диапазон, будут черными, а те, которые вошли в диапазон, окажутся белыми. Результат данной операции продемонстрирован на рисунке 2.
Рис. 2. Выделение дороги
Поиск пути
Путь — набор точек, которые расположены посередени дороги. Для нахождения пути и запрета машине выезжать за пределы дороги, раставим коофиценты для каждого пикселя дороги. Коофицент будет расчитан довольно простым способом. Изначально, для каждого пикселя устанавливаем значение минус один, что будет означать запрет на движение в эту область. Далее для каждого белого пикселя устанавливаеться значение, равное количеству белых пикселей, которые его окружают. Если пропустить картинку через такой алгоритм, то почти все белые пиксели будут иметь максимальный коофицент. Из-за этого путь машины будет проложен слишком близко в краю дороги. Чтобы этого избежать именьшаем исходное изображение до таких размеров, чтобы дорога была около трех пикселей в ширину (рисунок 3). В таком случае центром являються пиксели с максимальным коофицентом, ведь соседние пиксели от центральных соприкосаться с черными и будут иметь меньший коофицент, в отличие от центральных. По этим коофицентам строим путь (рисунок 4). Просчитывать весь путь машины не обязательно, так как изображение являеться динамическим и постоянно изменяеться, сообтветсвенно путь с каждым новым изображением будет другим.
Рис. 3. Сжатая версия дороги
Рис. 4. Путь машины
Параметры машины
Первая точка пути является ориентиром для коэффициента поворота колес. Этот коэффициент зависит от угла между векторами направления машины и вектором между машиной и первой точкой (рисунок 5). Таким образом, чем больше этот угол, тем сильнее нужно поворачивать машине. А поворот в определенную сторону определяться по знаку угла, если он положительный, то машина поворачивает направо, иначе налево. В примере, представленном на рисунке 5, угол равен приблизительно 60 градусам, что направит машину с максимальным поворотом вправо.
Рис. 5. Пример векторов, используемых для расчета коэффициента поворота колес, где C — вектор направления машины, T — вектор между машиной и точкой ориентира, A — результирующий угол
Таким же образом определяем и остальные два параметра, ускорение и торможение. Только эти параметры будут завесить от угла между векторами направления машины и вектором последних двух точек пути (рисунок 6). Машину стоит разгонять только в том случае, если угол между векторами равен нулю. Соответственно если угол отличный от нуля, то машину нужно тормозить. И чем угол больше отличается от нуля, тем сильнее нужно тормозить. На примере, представленном на рисунке 6, угол между векторами равен 90 градусам, соответственно машина будет тормозить с максимально возможной скоростью.
Рис. 6. Пример векторов, используемых для расчета коэффициентов ускорения и торможения, где C — вектор направления машины, T — вектор последних двух точек маршрута, A — результирующий угол
Выводы
Национальная технологическая инициатива предоставляет возможность принять участие в направлениях, которые в ближайшем будущем станут очень перспективными. На примере олимпиады было разобрано одно из заданий направлений олимпиады. Которое может выполнить каждый, помня школьный курс математики и имея некоторые знания в программировании на языке «Python».
Будучи школьником или студентом, участие в олимпиаде, поможет определиться в выборе будущей профессии или заинтересовавшей области профессии. Также участие дает опыт в решении задач, с которыми они столкнутся в ближайшее время.
Литература:
1 Конюхова К. Эксперты спрогнозировали технологическое будущее России в 2035 году. URL: https://www.spb.kp.ru/daily/26389/3267005/ (дата обращения: 18.04.2020)
2 Колесникова К. Победители техно-олимпиады школьников попадут в инженерный «спецназ». URL: https://rg.ru/2017/10/31/pobediteli-tehno-olimpiady-shkolnikov-popadut-v-inzhenernyj-specnaz.html (дата обращения: 18.04.2020)
3 Определились победители Всероссийской командной инженерной Олимпиады НТИ. URL: https://indicator.ru/engineering-science/pobediteli-olimpiady-nti-30–03–2017.htm (дата обращения 18.04.2020)
4 Учительская газета. Более 20 тысяч школьников подали заявки для участия во всероссийской инженерной Олимпиаде. URL: http://www.ug.ru/news/23500 (дата обращения 18.04.2020)
5 Организаторы Олимпиады НТИ сообщили, что количество ее участников увеличилось вдвое. URL: https://nauka.tass.ru/nauka/5770818 (дата обращения 18.04.2020)
6 Запушен студенческий трек олимпиады НТИ. URL: https://nti-contest.ru/for_students/ (дата обращения 18.04.2020)
7 Более 2 тыс. студентов станут участниками студенческого трека олимпиады НТИ. URL: https://academia.interfax.ru/ru/news/articles/2592 (дата обращения 18.04.2020)
8 Официальный сайт НТИ. URL: https://nti2035.ru/ (дата обращения 18.04.2020)
9 Официальный сайт олимпиады НТИ. URL: https://nti-contest.ru/ (дата обращения 18.04.2020)