Страница 1 из 1

Собираем робота для соревнований

Добавлено: 04 окт 2011, 20:20
Mr.Kubikus
Всем привет!
Сейчас мы готовимся к соревнованиям роботов в Политехническом музее. Здесь мы будем обсуждать процесс сборки и разработки ПО для нашего робота.

Интересные статьи по этой теме: Полезные материалы по компьютерному зрению и обработке изображений: UPD 26.12.2011
На сайте Политехнического музея опубликованы регламенты соревнований. Нас интересует Линия проф.

01. Полигон для этой дисциплины.
Изображение

02. Отдельные участки трассы имеют разный рисунок.
Изображение

UPD 09.01.2012
01. Внешний вид робота
Изображение

В этой версии робота общение смартфона с контроллером ROBO TX происходит следующим образом: В нижней части экрана смартфона зарезервировано поле, в котором отображаются два белых прямоугольника. Зажиганием прямоугольников управляет алгоритм регулятора, который следит за маршрутом. Левый прямоугольник зажигается, когда надо поворачивать влево, ну а правый, соответственно, когда надо поворачивать вправо. Над смартфоном закреплены два сенсора, которые реагируют на уровень освещенности под ними. Эти сенсоры передают сигналы в контроллер ROBO TX, который уже управляет моторами робота.

02. Наш заезд на соревнованиях в Политехничесокм 09.01.2012. В конце робот зацепился за препятствие "стиральная доска" и до финиша не дошел.

Re: Собираем робота для соревнований

Добавлено: 04 янв 2012, 15:00
Mr.Kubikus
Захват и обработка видео

В качестве видеокамеры будем использовать смартфон HTC Legend, с установленной ОС Android версии 2.2 Froyo. Версия API для Froyo - API Level: 8. Обмен информацией с ROBO TX черз bluetooth (предварительно).
Изображение

В смартфоне используется процессор Qualcomm MSM 7227 600 MHz. Встроенная память 384 MB RAM, 512 MB ROM. Дисплей 320 × 480 px (0.15 megapixels) HVGA. Съемная памть microSD (TransFlash) до 32GB. Камера CMOS 5.0-megapixel, максимальное разрешение 2592 x 1944.

Материалы по Android 2.2 Froyo: UPD 08.01.2012
Готов софт для смартфона. Программа обрабатывает картинку, полученную от камеры, выделяет на ней замкнутые контуры и затем рассчитывает отклонения общего центра масс контуров от осевой линии робота. Это значение затем используется для расчета управляющего воздействия на моторы робота.

01. Вывод результата обработки на экране. Первый - результат обработки и выделения контуров. На втором результат наложен на исходную картинку от камеры.
Изображение

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 14:37
Dmitry_SA
А если попробовать строить кривую Безье по центрам?
И еще вопрос - перед обработкой геометрическая коррекция изображения с камеры проводится?

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 14:46
Mr.Kubikus
Кривую построить, наверное, можно. Только пока не понятно зачем.

Геометрической коррекции нет. Алгоритм такой:

1. Сглаживание.
2. Пороговая функция.
3. Поиск замкнутых контуров.
4. Фильтруем контуры по площади. Мелкие выбрасываем.
5. Вычисляем координаты центров масс.
6. По координате, полученной на шаге 5, принимаем решение о воздействии на моторы.
7. GOTO 1

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 14:51
Dmitry_SA
Кривая исключит сглаживание, воздействие на моторы будет как f(t) до следующей точки. Траектория будет оптимальне = скорость прохождения выше.

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 14:59
Mr.Kubikus
Интересная идея. Только у нас есть сегменты со сплошной линей. На них всегда будет только один контур на картинке.

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 15:08
Dmitry_SA
Григорий Зайцев писал(а):Интересная идея. Только у нас есть сегменты со сплошной линей. На них всегда будет только один контур на картинке.
Тоже не проблема - если точка одна, строить тренд из истории.

Re: Собираем робота для соревнований

Добавлено: 09 янв 2012, 17:37
Mr.Kubikus
Может в апреле совместно выступим?