Примеры студенческих проектов /

О проекте Duckietown

Участники проекта

Анатолий Бендриковский

Анатолий Бендриковский

Максим Кузьмин

Максим Кузьмин

Выпуск 2017

Руководитель

Кирилл Владимирович Кринкин

Кирилл Владимирович Кринкин

СПбАУ

О проекте

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

1) Duckiebot — бот-машинка, управляемая бортовой RaspberryPi.

2) Собственно, Duckietown — городок, используемый в качестве тестового полигона для Duckiebot.

Duckiebot

Duckietown

Машинки ездят по городу, соблюдая правила движения и избегая столкновений с попадающимися на пути объектами. Мы задались целью воспроизвести этот проект на базе CSC.

Сборка Duckiebot

Сначала у нас были лишь две вещи:

— Документация от авторов (в процессе написания).

— Одна RaspberryPi 1.

Согласно авторскому списку требований, RPi должна быть версии 2. И мы заказали именно её, а на время доставки решили попробовать настроить RPi 1. В течение двух недель мы пытались заставить её работать, и у нас даже были некоторые успехи на этом поприще, но в конце концов мы узнали, что эта RPi вообще не считается работающей, о чём предыдущий её пользователь честно нацарапал на LAN-порту. В итоге, когда наконец пришла RPi 2, мы уже довольно хорошо изучили проблематику установки ПО на RPi и представляли, какие варианты действий у нас есть, помимо тех, что описаны авторами Duckietown.

Но медленная доставка не была такой уж серьёзной неприятностью. Куда хуже было, если компонент вообще отсутствовал в продаже. В частности, так было с Adafruit DC & Stepper Motor HAT for Raspberry Pi, который мы заменили на Arduino. Для этого пришлось переработать код модуля, отвечающего за вращение колёс, переведя его на работу с драйвером для Arduino.

Все проблемы были решены, и у нас появился первый бот.

Сборка Duckietown

Как было показано на фото выше, городок для ботов представляет собой множество размеченных дорог, с возможностью установки светофоров и знаков. Базируется всё это на спортивных матах для тренажёров (или на «мягком спортивном полу», по-разному называется). Полоски делаются из любой цветной ленты. Мы взяли обычную цветную изоленту и столкнулись с неприятной особенностью — в процессе разматывания она немного растягивается и после наклеивания пытается скукожиться обратно. Но, несмотря на это, городок мы собрали. Для начала была изготовлена пробная версия города.

Процесс сборки

 

Итог

Потом город усложнили

Всё вместе

И наконец, наша версия проекта Duckietown в деле.

Вот что видит бот

Изображение, получаемое с камеры — единственный источник информации о мире для бота. Никаких ИК-портов, GPS и прочего — только анализ изображения.

Процесс распознавания линий

На обоих видео заметно, что бот то и дело заезжает за линии, странно ведёт себя на поворотах и игнорирует стоп-линию. Со временем некоторые проблемы были исправлены.

Финальное поведение бота

Заключение

В данный момент бот неидеален, но у нас ещё всё впереди! Тем более, что проект сейчас преподаётся как курс CSC и у нас есть шанс привлечь новых людей. Если же говорить о проекте Duckietown в целом, то его наработки вполне могут быть применены в реальных устройствах в ближайшей перспективе. Тем более, что тема автономно-управляемых автомобилей на слуху, и некоторые производители уже тестируют прототипы таких машин.

Текст написали

Максим Кузьмин

Максим Кузьмин

Анатолий Бендриковский

Анатолий Бендриковский