Здравствуйте. Меня зовут Владимир и я хочу немного рассказать об автомобиле-роботе команды из Нижнего Новгорода НАМТ, победившей на 3-их Всероссийских соревнованиях автомобилей роботов РОБОКРОСС-2012, проходивших в городе Волоколамск. Здесь уже публиковался отчет команды из Саратова MobRob, теперь хочу рассказать о наших мытарствах.
Соревнования заключались в следующем: необходимо было в автоматическом или телеуправляемом режиме проехать от точки старта по полю, попасть в ворота и передать оператору изображение трёх контрольных точек, а затем заехать в финишные ворота и там остановиться. GPS/ГЛОНАСС координаты ворот и контрольных точек были заранее известны командам. Очки начислялись за быстроту прохождения маршрута (но регламент соревнований запрещал скорость больше 10 км/ч) и переданные изображения контрольных точек.
Так случилось, что мы чуть не пропустили эти соревнования — сгорел предоставленный организаторами контроллер National Instruments Single-Board RIO, пока договорились о закупке нового, NI cRIO-9075, пока он пришел — наступили соревнования. В результате пришлось отказаться от многих идей. Например, настроить алгоритм автопилота для следования по маршруту не успели, пришлось использовать простейшее прямое наведение на контрольные точки. Также не было речи о распознании препятствий.
Автопилот построен на контроллере National Instruments cRIO-9075 и ноутбуке с SSD для работы с USB-камерами.
Контроллер получает сигнал с потенциометрического датчика положения колёс, сигнал с датчика оборотов двигателя и, по RS-232, информацию с GPS/ГЛОНАСС приёмника. Управление идёт на сервопривод, подключенный ко входу гидроуслилтеля руля вместо рулевой колонки и систему запуска/остановки двигателя.
Так как регламент соревнований ограничивает максимальную скорость автомобиля десятью км/ч, не было необходимости в системе переключения передач, автомобиль стартует на первой передаче путём запуска двигателя и останавливается при его выключении.
К ноутбуку с SSD (дороги у нас — не сахар) подключены две USB-камеры, обеспечивающие обзор из кабины.
Всё это хозяйство через роутер ASUS RT-N16 подключено к закрепленной в кузове одноваттной Wi-Fi точке доступа Bullet со всенаправленной антенной, настроенной в режим моста с точкой доступа, подключенной к рабочему месту оператора нашего «беспилотника».
Программная начинка автомобиля разделена на две независимые части — управления автомобилем и сбора и передачи видео. Всё написано на языке визуального программирования LabVIEW.
Из-за описанных выше технических проблем управление крайне упрощённое, но рабочее.
Реализован контур управления поворотом колёс и контур навигации по сигналу GPS/ГЛОНАСС. Используется алгоритм прямого наведения с незначительным коэффициентом пропорциональности. Со спутников берутся текущие координаты автомобиля, направление и скорость, по ним рассчитывается ошибка направления на следующую точку маршрута и вырабатывается требуемое положение колёс автомобиля. Чтобы не вышел из строя сервопривод, добавлена проверка работы двигателя (без него ГУР не работает, можно до задымления пытаться повернуть колёса).
Ноутбук собирает картинку с USB-камер, преобразует в один кадр и, пожав, отправляет оператору.
Помимо автоматического режима реализован и режим телеуправления, получилось что-то похожее на игру «Дальнобойщики».
В процессе подготовки нас поджимало время и погода (в первый день, отведенный на сборку, случился ливень, потом погода менялась очень резко, от жаркого солнца к дождливой сырости). В результате (как оказалось позже) был неправильно откалиброван датчик положения колёс и автомобиль немного забирал влево, что плохо сказалось на точности навигации. Тем не менее всё электронно-механическое хозяйство работало.
В день заезда в основном светило солнце, но ветер задувал не на шутку. Появились несколько корреспондентов и даже гости.
Сам заезд прошел ожидаемо: алгоритм навигации терял время, наводясь на каждую путевую точку, но работал, изображение передавалось исправно и в требуемом качестве, финиш неспешно приближался по мере прохождения контрольных точек. И приблизился.
Занявшая второе место команда MobRob реализовала более качественный алгоритм навигации, они выигрывали по времени, но сбой не позволил передать изображение одной из контрольных точек.
Несмотря на максимальную, даже экстремальную простоту, система хорошо показала себя в работе как в автоматическом режиме, так и в режиме телеуправления. Связь была устойчивая, так что полученный автомобильчик и правда можно использовать для разведки не слишком пересеченной открытой местности.
А если серьёзно, то это хорошая практическая задача, позволяющая проверить себя в непростых условиях. Не всё получилось, что планировали, но это оставляет простор для роста.
В планах на будущее — разработать систему объезда препятствий по данным с камер или (но это уже мечта) раздобыть лидар. Ну и, конечно, обкатать-таки алгоритм следования по траектории.
Самый феерический итог подвела природа, порывом ветра повалившая стартовые ворота сразу после финиша крайней команды. По счастью, там уже никого не было.
Огромное спасибо командам, принявшим участие в соревнованиях, ведь, несмотря на непогоду, различные неполадки с железом, недосып и аврал, к заездам вышли все! А также компании ГАЗ и всем, кто сделал что-то хорошее для этих соревнований.
О правилах
Соревнования заключались в следующем: необходимо было в автоматическом или телеуправляемом режиме проехать от точки старта по полю, попасть в ворота и передать оператору изображение трёх контрольных точек, а затем заехать в финишные ворота и там остановиться. GPS/ГЛОНАСС координаты ворот и контрольных точек были заранее известны командам. Очки начислялись за быстроту прохождения маршрута (но регламент соревнований запрещал скорость больше 10 км/ч) и переданные изображения контрольных точек.
О грустном
Так случилось, что мы чуть не пропустили эти соревнования — сгорел предоставленный организаторами контроллер National Instruments Single-Board RIO, пока договорились о закупке нового, NI cRIO-9075, пока он пришел — наступили соревнования. В результате пришлось отказаться от многих идей. Например, настроить алгоритм автопилота для следования по маршруту не успели, пришлось использовать простейшее прямое наведение на контрольные точки. Также не было речи о распознании препятствий.
- Контроллер NI cRIO-9075
О железе
Автопилот построен на контроллере National Instruments cRIO-9075 и ноутбуке с SSD для работы с USB-камерами.
Контроллер получает сигнал с потенциометрического датчика положения колёс, сигнал с датчика оборотов двигателя и, по RS-232, информацию с GPS/ГЛОНАСС приёмника. Управление идёт на сервопривод, подключенный ко входу гидроуслилтеля руля вместо рулевой колонки и систему запуска/остановки двигателя.
Так как регламент соревнований ограничивает максимальную скорость автомобиля десятью км/ч, не было необходимости в системе переключения передач, автомобиль стартует на первой передаче путём запуска двигателя и останавливается при его выключении.
- Робототехника — это просто!
К ноутбуку с SSD (дороги у нас — не сахар) подключены две USB-камеры, обеспечивающие обзор из кабины.
- Глаза — зеркало души
Всё это хозяйство через роутер ASUS RT-N16 подключено к закрепленной в кузове одноваттной Wi-Fi точке доступа Bullet со всенаправленной антенной, настроенной в режим моста с точкой доступа, подключенной к рабочему месту оператора нашего «беспилотника».
- Надёжная связь — это наше всё!
О софте
Программная начинка автомобиля разделена на две независимые части — управления автомобилем и сбора и передачи видео. Всё написано на языке визуального программирования LabVIEW.
Из-за описанных выше технических проблем управление крайне упрощённое, но рабочее.
Реализован контур управления поворотом колёс и контур навигации по сигналу GPS/ГЛОНАСС. Используется алгоритм прямого наведения с незначительным коэффициентом пропорциональности. Со спутников берутся текущие координаты автомобиля, направление и скорость, по ним рассчитывается ошибка направления на следующую точку маршрута и вырабатывается требуемое положение колёс автомобиля. Чтобы не вышел из строя сервопривод, добавлена проверка работы двигателя (без него ГУР не работает, можно до задымления пытаться повернуть колёса).
Ноутбук собирает картинку с USB-камер, преобразует в один кадр и, пожав, отправляет оператору.
Помимо автоматического режима реализован и режим телеуправления, получилось что-то похожее на игру «Дальнобойщики».
- Кто не мечтал о маленькой радиоуправляемой машинке?
О соревнованиях
В процессе подготовки нас поджимало время и погода (в первый день, отведенный на сборку, случился ливень, потом погода менялась очень резко, от жаркого солнца к дождливой сырости). В результате (как оказалось позже) был неправильно откалиброван датчик положения колёс и автомобиль немного забирал влево, что плохо сказалось на точности навигации. Тем не менее всё электронно-механическое хозяйство работало.
В день заезда в основном светило солнце, но ветер задувал не на шутку. Появились несколько корреспондентов и даже гости.
- Растёт смена
Сам заезд прошел ожидаемо: алгоритм навигации терял время, наводясь на каждую путевую точку, но работал, изображение передавалось исправно и в требуемом качестве, финиш неспешно приближался по мере прохождения контрольных точек. И приблизился.
- Автопилот в действии
Занявшая второе место команда MobRob реализовала более качественный алгоритм навигации, они выигрывали по времени, но сбой не позволил передать изображение одной из контрольных точек.
Итоги
Несмотря на максимальную, даже экстремальную простоту, система хорошо показала себя в работе как в автоматическом режиме, так и в режиме телеуправления. Связь была устойчивая, так что полученный автомобильчик и правда можно использовать для разведки не слишком пересеченной открытой местности.
А если серьёзно, то это хорошая практическая задача, позволяющая проверить себя в непростых условиях. Не всё получилось, что планировали, но это оставляет простор для роста.
В планах на будущее — разработать систему объезда препятствий по данным с камер или (но это уже мечта) раздобыть лидар. Ну и, конечно, обкатать-таки алгоритм следования по траектории.
Самый феерический итог подвела природа, порывом ветра повалившая стартовые ворота сразу после финиша крайней команды. По счастью, там уже никого не было.
Огромное спасибо командам, принявшим участие в соревнованиях, ведь, несмотря на непогоду, различные неполадки с железом, недосып и аврал, к заездам вышли все! А также компании ГАЗ и всем, кто сделал что-то хорошее для этих соревнований.