OR-TT-DiaNa
Содержание
О проекте
Мобильный робот OR-TT-DiaNa создаётся для отработки навигационных алгоритмов.
Название OR-TT-DiaNa в развернутом виде Open Robotics - Tamiya Tracks - Diagram Navigation.
В качестве электронной платформы используются модули открытой архитектуры мобильных роботов Open Robotics
- OR-AVR-M32-D
- OR-MD2-2A-12V-CP
Компоненты и цены
- Модули Open Robotics:
- OR-AVR-M32-D (~25$)
- OR-MD2-2A-12V-CP (~20$)
- Прочие компоненты:
- Гусеничная платформа Tamiya (~20$)
- Редуктор Tamiya (~10$)
- ИК Дальномер I2C-It (~15$)
- УЗ Дальномер Devantech SRF08 (~60$)
- Компас Devantech CMPS03 (~60$)
- Сервопривод (~10$)
Цели проекта
- Построение платформы на полностью покупных элементах с минимальными работами напильником
- Изучение возможностей модулей Open Robotics
- Взаимодействие с Компасом - Планируется
- Взаимодействие с Сонаром - Планируется
- Взаимодействие с ИК дальномером - Планируется
- Управление сервоприводом - Планируется
- Отработка взаимодействия с модулями других проектов по RoboBus
- Програматор STK500 из проекта МиниБот подключен. Программирование проведено. - Успешно
- Модуль RoboRF-Uart-USB из проекта МиниБот в режиме Uart-USB. - Планируется
- Модуль RoboRF-Uart-USB из проекта МиниБот в режиме Uart-RoboRF. - Планируется
- Отработка навигационных алгоритмов
- Построение карты замкнутого пространства на основе Диаграмм направленности(DN)
- Узнавание помещения на основе DN
- Навигация по пространству(расчет положения, пройденного пути) на основе DN
- Взаимодействие с ПК
- Отработка механизма передачи данных на ПК
- Реализация визуального отображения на ПК
- Подбор оборудования и Изучение GPS навигации
Описание алгоритмов
- Диаграммы направленности(DN) Обсуждение
Необходимое оборудование: Дальномер, Компас
- Компас(CMPS03) позволяет достичь точности измерения в 0.1 гр.
- Дальномер сонар(SRF08) макс дальность 6 метров, точность 3 см.
Измерение имеет два параметра Расстояние, Направление(0-359 градусов, где 0 - север)
Диаграммы направленности состоит из N измерений с шагом M градусов, при этом должны выполняться следующие условия
- N целочисленное число от 4..360
- шаг 360 / N = M градусов,
- Построение карты замкнутого пространства
- позиционируем ось робота на 0(North)
- делаем замеры каждые N замеров через M град., при N=8 M=45гр, при N=24 M=15гр, при N=360 M=1гр ;)
- соединив полученные точки получаем схемотехническую карту помещения.
- передвигаемся по оси 0(North) и на пункт 2.
- повторяем 4. до достижения необходимой детализации
Формирование Диаграммного паспорта помещения Diagram Room Certificate(DCR) для чего находим центр помещения
- Выполняем пункты 1. - 3. „Построение карты замкнутого пространства“
- сравниваем полученные плечи N - Дальномер, S - Дальномер
- сравниваем полученные плечи W - Дальномер, E - Дальномер
- вычисляем направление движения для выхода на точку достижения равновесия плечей, движимся
- повторяем 1. - 4. до достижения равновесия плечей
- в полученной точке снимаем DN - это будет DCR.
- Узнавание помещения
Для узнавания помещения введем понятие коэффициент соответствия в % Correction Coefficient(СС).
- Оказавшись в неизвестном помещении выполняем алгоритм построения DCR
- проводим операцию сравнения полученного DCR с имеющейся базой с учетом СС
- если есть совпадения то мы нашлись
- если нет то мы разведали еще одно помещение!!! сохраняем полученный DCR в базу.
- Навигация по пространству(расчет положения, пройденного пути)
Road Map
Project Blog
Неделя 916
- 14.04.2009 - Получил OR модули на почте.
- 15.04.2009 - Начал формирование целей - задач - алгоритмов в Вике.
- 16.04.2009 - Установка софта(свеженький комп)
- Драйвера FDTI
- Bascom-AVR
- AVRStudio
- WinAvr
- CVAvr
Подключение програматора STK500 от MiniBot v.1 к OR конторллеру. Необходимо снять джампера питания +3 и +5. Питание идет с программатора.
Настроил AVRStudio на STK500, считал сигнатуру и фьюзы, залил тестовую прошивку. Все Ок!!!
Неделя 917
- 21.04.2009 Заморгали диодами, получили данные с CMPS03. Т.к. Железного компаса нет, пока не оценить насколько правильные.
Ну и uart работать заставить пока не удалось ...
- 22.04.2009 Пытался сжечь неправильной расплюсовкой разьема питания ))) пошел дым ... выдернул ... вроде работаета )))
Борюсь с uart и i2c ... какието проблемы непонятные ... выдержки из форума )))
Проблема с неработающим uart на первый взгляд решилась перестановкой джамперов с режима S на M, данные пошли.
Но тут же возникла проблема работы программы см приложение. Краткое описание:
- Пишем в uart
- зажигаем диод
- читаем i2c
- пишем прочитаное в uart
- если прочитаное не 0 зажигаем второй диод
- гасим диоды и на начало.
Когда подключен программатор или блок питания весь цыкл проходит без проблем.
Когда подключаем Модуль RoboRF-Uart-USB из проекта МиниБот в режиме Uart-USB, выполняется только первые 2 пункта. Т.е. виснет на чтении i2c.
Не пойму это я криво i2c читаю или RoboRF-Uart-USB криво на i2c действует!!!
Изучил схему ... Радиоканал 2.4ГГц ZigBee для МиниБота
RoboBus 10 SDA -> mega8 PD2 -> cc2500 CDO2
RoboBus 11 SCL -> mega8 PB1 -> cc2500 CS
А на программаторе cc2500 в наличии нет ...
По результату общения с EdGull'oм
Мегаплата не полностью совместима с RoboBus, как результат она давит i2c.
- Решение Аппаратное: отрезать ноги 10 и 11
- Решение Программное: эти ноги (PD2 и PB1 ) перевести на вход.
При этом работа в режимах:
- режим USB - Uart Minibot - не пострадает
- режим USB - Uart Mega8 - cc2500 - не пострадает
- режим Minibot - Uart Mega8 - cc2500 - не пострадает