OR-TT-DiaNa — различия между версиями

Материал из roboforum.ru Wiki
Перейти к: навигация, поиск
(Описание алгоритмов)
м (Неделя 918)
 
(не показано 29 промежуточных версий 2 участников)
Строка 25: Строка 25:
 
* Построение платформы на полностью покупных элементах с минимальными работами напильником
 
* Построение платформы на полностью покупных элементах с минимальными работами напильником
 
* Изучение возможностей модулей [[Open Robotics]]
 
* Изучение возможностей модулей [[Open Robotics]]
** Взаимодействие с Компасом
+
** Взаимодействие с Компасом - '''Планируется'''
** Взаимодействие с Сонаром
+
** Взаимодействие с Сонаром - '''Планируется'''
** Взаимодействие с ИК дальномером
+
** Взаимодействие с ИК дальномером - '''Планируется'''
** Управление сервоприводом
+
** Управление сервоприводом - '''Планируется'''
 
** Отработка взаимодействия с модулями других проектов по [[RoboBus]]
 
** Отработка взаимодействия с модулями других проектов по [[RoboBus]]
 +
# Програматор STK500 из проекта '''МиниБот''' подключен. Программирование проведено. - '''Успешно'''
 +
# Модуль RoboRF-Uart-USB из проекта '''МиниБот''' в режиме Uart-USB. - '''Успешно''' c небольшими доработками
 +
# Модуль RoboRF-Uart-USB из проекта '''МиниБот''' в режиме Uart-RoboRF. - '''Планируется'''
 
* Отработка навигационных алгоритмов
 
* Отработка навигационных алгоритмов
 
** Построение карты замкнутого пространства на основе '''Диаграмм направленности'''(DN)
 
** Построение карты замкнутого пространства на основе '''Диаграмм направленности'''(DN)
Строка 38: Строка 41:
 
** Реализация визуального отображения на ПК
 
** Реализация визуального отображения на ПК
 
* Подбор оборудования и Изучение GPS навигации
 
* Подбор оборудования и Изучение GPS навигации
 +
 
== Описание алгоритмов ==
 
== Описание алгоритмов ==
* Диаграммы направленности(DN) [http://roboforum.ru/viewtopic.php?f=6&t=3499&start=0#p44937 Обсуждение]
+
[[Diagram Navigation|Диаграммы направленности(DN)]] [http://roboforum.ru/viewtopic.php?f=6&t=3499&start=0#p44937 Обсуждение]
 
Необходимое оборудование: Дальномер, Компас
 
Необходимое оборудование: Дальномер, Компас
 
#Компас(CMPS03) позволяет достичь точности измерения в 0.1 гр.
 
#Компас(CMPS03) позволяет достичь точности измерения в 0.1 гр.
 
#Дальномер сонар(SRF08) макс дальность 6 метров, точность 3 см.
 
#Дальномер сонар(SRF08) макс дальность 6 метров, точность 3 см.
Измерение имеет два параметра Расстояние, Направление(0-359 градусов, где 0 - север)
+
#GPS модуль (опционально)
 +
 
 +
== 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 для МиниБота]]<br>
 +
RoboBus 10 SDA -> mega8 PD2 -> cc2500 CDO2<br>
 +
RoboBus 11 SCL -> mega8 PB1 -> cc2500 CS<br>
 +
А на программаторе cc2500 в наличии нет ...
  
Диаграммы направленности состоит из '''N''' измерений с шагом '''M''' градусов,
+
По результату общения с '''EdGull''''oм<br>
при этом должны выполняться следующие условия
+
"Мегаплата" не полностью совместима с [[RoboBus]], как результат она давит i2c.
#'''N''' целочисленное число от 4..360
+
# Решение Аппаратное: отрезать ноги 10 и 11
# шаг  360 / '''N''' = '''M''' градусов,  
+
# Решение Программное: эти ноги (PD2 и PB1 ) перевести на вход.
* Построение карты замкнутого пространства
+
При этом работа в режимах:
# позиционируем ось робота на 0(North)
+
# режим USB - Uart Minibot - не пострадает
# делаем замеры каждые N замеров через M град., при N=8 M=45гр, при N=24 M=15гр, при N=360 M=1гр ;)
+
# режим USB - Uart Mega8 - cc2500 - не пострадает
# соединив полученные точки получаем схемотехническую карту помещения.
+
# режим Minibot - Uart Mega8 - cc2500 - не пострадает
# передвигаемся по оси 0(North) и на пункт 2.
 
# повторяем ''4.'' до достижения необходимой детализации
 
Формирование Диаграммного паспорта помещения Diagram Room Certificate(DCR) для чего находим центр помещения
 
# Выполняем пункты ''1. - 3.'' „Построение карты замкнутого пространства“
 
# сравнивая полученные плечи N - Дальномер, S - Дальномер
 
# движемся по оси 0(North) до достижения равновесия плечей
 
# сравнивая полученные плечи W - Дальномер, E - Дальномер
 
# движемся по оси 90(West) до достижения равновесия плечей
 
В полученной точке снимаем DN - это будет DCR.
 
* Узнавание помещения
 
Для узнавания помещения введем понятие коэффициент соответствия в % Correction Coefficient(СС).
 
# Оказавшись в неизвестном помещении выполняем алгоритм построения DCR
 
# проводим операцию сравнения полученного DCR с имеющейся базой с учетом СС
 
# если есть совпадения то мы нашлись
 
# если нет то мы разведали еще одно помещение!!! сохраняем полученный DCR в базу.
 
* Навигация по пространству(расчет положения, пройденного пути)
 
  
== Road Map ==
+
* 23.04.2009 Купил второй USB кабель что бы прошить код в "Мегаплату", но он оказался битым )))<br>
 +
Написал поддержку [[Сонары|SRF08]] и [[I2C-It]]. Читаю справочник по геометрии ... много думаю )))
 +
* 24.04.2009 Изучал дорожки "Мегаплаты", на основании схемы [http://roboforum.ru/viewtopic.php?f=64&t=4552&start=345#p66091] были сделаны предположения картинка [http://roboforum.ru/viewtopic.php?f=64&t=4552&sid=4bdaff85ca472ce58ee079f0f21e52eb&start=405#p94809]<br>
 +
- Красный - 10 SDA два реза и две сопли<br>
 +
- Синий - 11 SCL один рез и одна сопля<br>
 +
- Желтый - 8 место под джампер не нашел
 +
 
 +
=== Неделя 918 ===
 +
* 27.04.2009 Надрезы сделаны, паять ничего не стал, пока в этом нет необходимости. i2c заработало, данные с CMPS03 получены.
 +
[[Изображение: cmps_result.jpg|thumb]]
 +
* 29.04.2009 Поставил C#, ознакомился, непривычно но жить можно ))) написал свою первую программу на шарпе. Программа читает ком порт и выводит на экран. Передал данные с измерениями компаса от OR до программы. Примерно прикинул [[Diagram_Navigation#Структуры данных|структуру данных]].

Текущая версия на 17:32, 29 апреля 2009

О проекте

Мобильный робот 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$)

Цели проекта

  • Построение платформы на полностью покупных элементах с минимальными работами напильником
  • Изучение возможностей модулей Open Robotics
    • Взаимодействие с Компасом - Планируется
    • Взаимодействие с Сонаром - Планируется
    • Взаимодействие с ИК дальномером - Планируется
    • Управление сервоприводом - Планируется
    • Отработка взаимодействия с модулями других проектов по RoboBus
  1. Програматор STK500 из проекта МиниБот подключен. Программирование проведено. - Успешно
  2. Модуль RoboRF-Uart-USB из проекта МиниБот в режиме Uart-USB. - Успешно c небольшими доработками
  3. Модуль RoboRF-Uart-USB из проекта МиниБот в режиме Uart-RoboRF. - Планируется
  • Отработка навигационных алгоритмов
    • Построение карты замкнутого пространства на основе Диаграмм направленности(DN)
    • Узнавание помещения на основе DN
    • Навигация по пространству(расчет положения, пройденного пути) на основе DN
  • Взаимодействие с ПК
    • Отработка механизма передачи данных на ПК
    • Реализация визуального отображения на ПК
  • Подбор оборудования и Изучение GPS навигации

Описание алгоритмов

Диаграммы направленности(DN) Обсуждение Необходимое оборудование: Дальномер, Компас

  1. Компас(CMPS03) позволяет достичь точности измерения в 0.1 гр.
  2. Дальномер сонар(SRF08) макс дальность 6 метров, точность 3 см.
  3. GPS модуль (опционально)

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, данные пошли.

Но тут же возникла проблема работы программы см приложение. Краткое описание:

  1. Пишем в uart
  2. зажигаем диод
  3. читаем i2c
  4. пишем прочитаное в uart
  5. если прочитаное не 0 зажигаем второй диод
  6. гасим диоды и на начало.

Когда подключен программатор или блок питания весь цикл проходит без проблем.

Когда подключаем Модуль 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'
"Мегаплата" не полностью совместима с RoboBus, как результат она давит i2c.

  1. Решение Аппаратное: отрезать ноги 10 и 11
  2. Решение Программное: эти ноги (PD2 и PB1 ) перевести на вход.

При этом работа в режимах:

  1. режим USB - Uart Minibot - не пострадает
  2. режим USB - Uart Mega8 - cc2500 - не пострадает
  3. режим Minibot - Uart Mega8 - cc2500 - не пострадает
  • 23.04.2009 Купил второй USB кабель что бы прошить код в "Мегаплату", но он оказался битым )))

Написал поддержку SRF08 и I2C-It. Читаю справочник по геометрии ... много думаю )))

  • 24.04.2009 Изучал дорожки "Мегаплаты", на основании схемы [1] были сделаны предположения картинка [2]

- Красный - 10 SDA два реза и две сопли
- Синий - 11 SCL один рез и одна сопля
- Желтый - 8 место под джампер не нашел

Неделя 918

  • 27.04.2009 Надрезы сделаны, паять ничего не стал, пока в этом нет необходимости. i2c заработало, данные с CMPS03 получены.
Cmps result.jpg
  • 29.04.2009 Поставил C#, ознакомился, непривычно но жить можно ))) написал свою первую программу на шарпе. Программа читает ком порт и выводит на экран. Передал данные с измерениями компаса от OR до программы. Примерно прикинул структуру данных.