roboforum.ru

Технический форум по робототехнике.

Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение yak-40 » 08 дек 2009, 00:13

Я думаю эта тема волнует многих. :)
В этой теме предлагаю выкладывать информацию связаную с поиском и стыковкой бота
с базовой станцией, идеи, проекты, схемные решения, прошивки.

За основу предлагаю взять уже ставший здесь "стандартом" принцип передачи пакетов
ИК импульсов с базовой станции с помощью ИК-диодов, и прием ботом этих импульсов
с помощью пары TSOP.
Хотя будут приветствоваться и любые другие принципы и конструкции. :wink:
Для начала размещаю некоторую подборку материала основанную на личном опыте.
Итак, теория:
На рисунке ниже показан принцип действия системы.
1. приемники бота оба "видят" импульсы базовой станции. Бот движется вперед.
2. Базовая станция справа. Правый "глаз" бота видит импульсы, левый нет.
Контроллер даёт команду правому двигателю остановится (или замедлится)
бот поворачивает направо, корректируя траекторию.
3. Базовая станция слева. Всё происходит наоборот.
p0.jpg

Теперь практика:
Судя по собственному опыту, успешный заход бота на базу во многом зависит не от
схемного решения и программного обеспечения, а от правильного размещения передающих
диодов и особенно ТСОП-ов приемной части бота.
Поэтому привожу схему расположения ТСОП-ов на боте.
p1.jpg
p1.jpg (18.32 КиБ) Просмотров: 16445

Расстояние между ТСОП-ами рекомендую делать 60-70 мм.
Непрозрачную перегородку можно сделать из непрозрачного пластика, металла, или фольгированного стеклотекстолита.
Защищать ТСОП-ы от ИК излучения она должна сзади, снизу, сверху и с одного бока, как показано на рисунке.
Теперь по поводу схемных решений. Что-бы было понятно не только опытным, но и начинающим,
нарисовал схемы в виде картинки, понятной всем (я надеюсь)
cx_pri.jpg
cx_pri.jpg (28.63 КиБ) Просмотров: 16485

Оба ТСОП-а подключаются по одинаковой схеме, за исключением выхода, которые подключаются
к двум портам МК сконфигурированных на вход.
Лучше выбрать порты с внешним прерыванием (например в Меге16 PD2(INT0) и PD3(INT1))
Не забываем, что импульсы с ТСОП-ов идут в инверсном виде, тоесть, активный сигнал - 0!
Теперь что касается базовой станции.
Генератор импульсов можно сделать как на микроконтроллере
так и на рассыпухе. В Интернете схем навалом. Хотя я предпочитаю на МК.
Схема подключения светодиода от этого не зависит. Я реализовал её на КТ815 (КТ817)
хотя применить можно и любой другой аналогичный транзистор. Светодиод любой инфракрасный. Можно поставить два
или даже три светодиода впаралель, направив их под разным углом (веером).
cx_per.jpg

Саму базу рекомендую устанавливать в середине помещения вдоль длинной стены.
p2.jpg

Мощность импульсов передающей станции надо делать такой, что-бы бот уверенно воспринимал
их с расстояния 2,5 - 3 метра, и в то-же время не воспринимал отраженный сигнал. Мощность подбирается резистором R2.
Последний раз редактировалось yak-40 08 дек 2009, 13:54, всего редактировалось 2 раз(а).
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Поиск базы (теория и практика)

Сообщение MiBBiM » 08 дек 2009, 00:22

как вариант - разместить на базе два светодиода, посылающие разные rc5 сигналы, тогда каждый тсоп сможет понять, с какой стороны видит док-станцию.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

Re: Поиск базы (теория и практика)

Сообщение yak-40 » 08 дек 2009, 00:33

как вариант - разместить на базе два светодиода

У ИК диода угол излучения достаточно широкий. Тогда надо его ограничивать, например металлическими трубками.
Но это и зону охвата уменьшит...
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Поиск базы (теория и практика)

Сообщение EdGull » 08 дек 2009, 08:07

а зачем транзистор у ИК-светодиода?
на правильной , т.е. резонансной частоте стандартных 10-15мА с ноги меги более чем достаточно для уверенного приема ТСОПом даже с переотражений.

Добавлено спустя 9 минут 10 секунд:
Может переименуешь темы в что-то типа "Поиск базы на ИК-светодиодах+TSOP (теория и практика)"
Аватара пользователя
EdGull
 
Сообщения: 10211
Зарегистрирован: 28 дек 2004, 20:33
Откуда: Тольятти
Skype: Ed_Gull
прог. языки: Bascom AVR Basic
ФИО: Гуль Эдуард Викторович

Re: Поиск базы (теория и практика)

Сообщение =DeaD= » 08 дек 2009, 08:53

А как всякие румбы работают? Вроде я видел где-то статью на эту тему, а сейчас не могу найти.
На память - там вроде на базе 2 ИК-диода с перекрещивающимися немного зонами, типа пылесос заходит в зону одного и едет до зоны перекрещивания, а по ней уже как по дорожке едет к базе.
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Mamed » 08 дек 2009, 11:13

Я сейчас провожу с этим эксперименты. Но использую на базе 2 диода, один назовем его - грубого позиционирования. другой - точного. Разница у них в силе свечения и ширине излучения. Бот передает базе по радиоканалу запрос включить грубый светодиод и начинается нацеливание на него. Потом дает команду включить точный - проверяет видит ли он его сигнал. Если нет - то опять по грубому делает движение. Если видит "точный" то значит база близка и уже более точно на базу нацеливается. Когда контактные пантографы базы коснулись зарядных пастин на роботе, там же висит и геркон а на пантографе магнитик. Геркон сработал - значит робот достиг базы.
Аватара пользователя
Mamed
 
Сообщения: 123
Зарегистрирован: 05 ноя 2008, 18:52
Откуда: Ростов-на-Дону
прог. языки: ASM для МК

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение yak-40 » 08 дек 2009, 12:30

2Mamed:Разумно! Давай доводи до завершения эксперимент, вывешивай результаты. :good:
По поводу геркона, а нужен ли он вообще? Ведь если бот коснулся контактов зарядки, он и так это "почувствует", а так может случится наоборот, геркон сработал, а контакт на долю миллиметра недошел...

Добавлено спустя 4 минуты 4 секунды:
EdGull писал(а):а зачем транзистор у ИК-светодиода?

Ну так, на всякий пожарный. Меньше вероятности спалить порт, закоротив резистор и/или диод :shock:
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Mamed » 08 дек 2009, 12:41

Беда всего этого, что базу робот может найти только в пределах комнаты. А я ломаю голову, чтобы именно из любой комнаты он мог находить путь домой :)
Аватара пользователя
Mamed
 
Сообщения: 123
Зарегистрирован: 05 ноя 2008, 18:52
Откуда: Ростов-на-Дону
прог. языки: ASM для МК

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Vovan » 08 дек 2009, 12:47

Бот передает базе по радиоканалу запрос включить грубый светодиод и начинается нацеливание на него. Потом дает команду включить точный - проверяет видит ли он его сигнал.
наверное при включении точного грубый выключается?
Насчёт геркона это вовсе необязательный атрибут, геркон, лично я придумал года 2-3 назад, для простоты, а кроме того геркон ИМХО уместен при верхне-нижнем расположении пантографов, потому что промахнуться мимо широких пластин роботу сложно, а достаточно только остановиться в зоне расположения этих пластин, вот геркон и пригодился... При другом расположении контактов, где требуется точный коннект, естесно геркон это не вариант.
Радио для переключения между точный-грубый ИМХО тоже не лучший вариант (слишком громоздко, что ли), однако его я тоже применил в купе с герконом (для включения Зар.Ст.) и пока замену ему не подобрал...
А вот цифра указанная Yak-40 6-7см - походу важный момент! Потому что я заметил такую вещь: робот-таракан, у которого как раз 7см между "глаз" - гораздо быстрее и точнее заходит на зарядку чем роботы (гусеничный и трёхколёсный) у которых 1-2см между ТСОПами (через перегородку).
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Mamed » 08 дек 2009, 12:58

наверное при включении точного грубый выключается?

Конечно, естественно выключается. Тут даже получается 3 зоны. 1 - работает точный, 2-я работает грубый, 3-я работают оба.

Радио для переключения между точный-грубый ИМХО тоже не лучший вариант (слишком громоздко, что ли

А почему громоздко? Радиомодули очень маленькие, типа как в автосигнализациях стоят.

Кстати еще как вариант думаю попробовать использовать не TSOPы, а ИК фототранзисторы L53P3C так помоему, чтобы еще и измерять насколько далеко от базы.

Кстати этот же метод поиска бызы можно применить и для случая, чтобы робот за человеком бегал. Теже маячки скажем в форме значка какого нибудь цепляются и пусть робот бегает за хозяином.
Аватара пользователя
Mamed
 
Сообщения: 123
Зарегистрирован: 05 ноя 2008, 18:52
Откуда: Ростов-на-Дону
прог. языки: ASM для МК

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение =DeaD= » 08 дек 2009, 13:09

Mamed писал(а):Но использую на базе 2 диода, один назовем его - грубого позиционирования. другой - точного. Разница у них в силе свечения и ширине излучения. Бот передает базе по радиоканалу запрос включить грубый светодиод и начинается нацеливание на него.

Я может чего не понимаю, но на фига вообще это переключение? Пусть всегда работают оба диода, просто по очереди и передают разные сигналы.

Добавлено спустя 9 минут 6 секунд:
Кстати, а ИК поляризуется? Может направление задавать вообще ИК-парой? :) будет локальный комнатный "компас" :)
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение yak-40 » 08 дек 2009, 13:09

Пусть всегда работают оба диода, просто по очереди и передают разные сигналы.

Тогда надо детектировать эти сигналы, а так просто пачки импульсов, на которые ТСОП-ы реагируют.
- Этот человек - не человек! это робот!
- Как? уже делают?!
- Делают!!!
Аватара пользователя
yak-40
 
Сообщения: 3037
Зарегистрирован: 23 окт 2007, 22:03
Откуда: Москва
прог. языки: С
ФИО: Евгений Яковец

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение =DeaD= » 08 дек 2009, 13:11

Проблема то по сути - поставить сверху ИК-фонарик через поляризатор, а на роботе приёмник через поляризатор (поляризатор - плёнка от ЖК-экранчика любого калькулятора). И крутить приёмником (или всем роботом на месте вместе с приёмником), пока максимум не поймаем :)

Добавлено спустя 19 секунд:
yak-40 писал(а):Тогда надо детектировать эти сигналы, а так просто пачки импульсов, на которые ТСОП-ы реагируют.

Так вроде команды с ИК-пульта уже научились давно ловить?
Проект [[Open Robotics]] - Универсальные модули для построения роботов
Аватара пользователя
=DeaD=
 
Сообщения: 24218
Зарегистрирован: 06 окт 2004, 18:01
Откуда: Ебург
прог. языки: C++ / PHP / 1C
ФИО: Антон Ботов

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Vovan » 08 дек 2009, 13:23

ИМХО два светодиода, поляризация, кодировка и т.п. - излишние навороты, т.к. в пределах одной комнаты бот легко находит станцию с одним ИК СД...
По мне, дак даже ограничение сигнала излишне (ну в разумных пределах конечно), потому что отражённый сигнал как раз наоборот, в некоторых случаях, (из отдалённых мест) помогает выйти боту к станции...
_________
Sincerely,
Vovan
Аватара пользователя
Vovan
 
Сообщения: 3340
Зарегистрирован: 05 окт 2005, 12:03
Откуда: Литва
прог. языки: asm

Re: Поиск базы на ИК-светодиодах+TSOP (теория и практика)

Сообщение Виктор Казаринов » 08 дек 2009, 13:29

Mamed писал(а):Беда всего этого, что базу робот может найти только в пределах комнаты. А я ломаю голову, чтобы именно из любой комнаты он мог находить путь домой :)
Для этого робот должен ориентироваться в пространстве не только с пом. света различных диапазонов. Даже в пределах одной комнаты может иметься множество предметов на пути ИК излучения. При отсутствии других органов чувств кроме бамперов, TSOP и др. поможет лишь два механизма в роботе: сенсорная память и механизм размышлений. Если осуществлять возврат на базу тупо по показанию сенсоров, то набегающие ошибки могут быстро привести к дезориентации робота. Кроме того, обстановка может меняться, например, человек переставил стул или закрыл какую-то дверь.
Механизм размышлений должен уметь планировать, анализировать текущую обстановку, выдвигать гипотезы на основании текущей обстановки, корректировать планы на основе расхождения планов и реальности. Он дает больше возможностей для выполнения задачи возврата на базу. Возможно, что в простейшем случае для механизма размышлений не требуется существенных вычислительных мощностей и может осуществляться на каком-либо виде МК. Наверное, таких систем разработано достаточно много.
Проект Robosonic RS http://www.aigod.com
Аватара пользователя
Виктор Казаринов
 
Сообщения: 1387
Зарегистрирован: 21 июн 2006, 11:22
Откуда: г. Омск
Skype: victorkazarinov
прог. языки: почти все понемногу
ФИО: Казаринов Виктор Геннадьевич

След.

Вернуться в Сенсорика

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11