roboforum.ru

Технический форум по робототехнике.
Текущее время: 02 дек 2024, 10:12

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 16:05 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Делаю небольшой модулек, так называемый фотоглаз робота. На модуле находятся тинька и три фототранзистора треугольником. Тинька выдает сигнал типа "лучше всего освещен фототранзистор такой-то". Теперь о задачах, которые хочу решать при помощи фотоглаза. Первая задача: управление мобильной платформой при помощи светового пятна на полу (от фонарика). Для этого модулек имеет разъем, при помощи которого его можно подстыковать к роботу, при этом фототранзисторы смотрят вперед/вниз, на пол. Вторая задача: фотонейрон для бима. Для этого модулек переворачивается вверх ногами, при этом он начинает смотреть вперед/вверх. Можно реализовать алгоритм поведения "движение к свету/движение от света". Теперь про алгоритмы. Когда мы будем управлять фонариком, надо чтобы робот бегал за световым пятном и стоял в случае его отсутствия. Для этого я пока думаю сделать так: при включении питания (фонарик выключен) глаз самокалибруется, измеряя естественное освещение и учитывая его в дальнейшем. Но когда модулек будет фотонейроном - этого делать нельзя. Как-то сказать модульку кем он должен работать нельзя - все ноги уже заняты. Так что нужна помощь зала :) : как сделать, чтобы в одном случае модуль выдавал сигнал "освещенность ниже порога", а в другом случае не выдавал этого сигнала. Все входы тиньки задействованы фототранзисторами, выходы задействованы для выдачи логического сигнала в двоичном коде.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 16:39 
Не в сети

Зарегистрирован: 24 апр 2010, 14:47
Сообщения: 736
Откуда: Уфа
прог. языки: avr asm
Прошивка в обоих случаях должна быть строго одинаковая, я так понимаю?

А куда идут выходы модуля? Напрямую на движок/драйвер?
На один из выходов можно повесить кнопку и при включении питания первым делом ее опрашивать. Нажата - один режим, не нажата - другой. Последующей передаче данных кнопка не помешает.

Можно использовать сами фототранзисторы. Естественное освещение в режиме глаза явно не может быть близко к уровню прямой засветки лампой, т.к. в этом случае световое пятно будет неразличимо. Значит, если при подаче питания датчики регистрируют очень высокий уровень освещения (поднесли вплотную к лампе), то работаем в режиме бима. Иначе запоминаем уровень и работаем в режиме глаза.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 17:12 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Вот второй способ мне нравится :) . Кнопку уже не приделать на модуль, он уже готов, а делать ее на другую половину робота противоречит независимости модуля. Выходы модуля идут на мозг робота, а он уже решает какие моторы и как включить.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 18:19 
Не в сети

Зарегистрирован: 24 апр 2010, 14:47
Сообщения: 736
Откуда: Уфа
прог. языки: avr asm
Можно в мозг кнопку спрятать. Простеньким протоколом при включении говорить модулю по одной из линий вывода, чего от него ждут.
Или в тиньку модуля примитивный софтовый уарт на передачу зашить, тогда освободятся аж два вывода.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 18:44 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Подтягивать один из выходов вверх илит вниз. При старте переводим его в Z состояние и смотрим 1 там или 0. После чено переключаев как выход и чуть-чуть греем подтяжку.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 18:57 
Не в сети

Зарегистрирован: 24 апр 2010, 14:47
Сообщения: 736
Откуда: Уфа
прог. языки: avr asm
Вниз подтяжку внешнюю что-ли? Просто на землю уронить без доп. согласования с модулем не можем - он туда + может в неподходящий момент пустить. По времени промежуток достаточный сделать тогда надо между считыванием и передачей.

Можно извратиться еще, и со стороны мозга использовать для сигнала земля/hi-z, со стороны модуля читать сигнал входом с подтяжкой к +, а передавать выход-земля = 0, вход-подтяжка к + = 1. Тогда будет безопасно.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 18 сен 2012, 19:23 
Не в сети
Аватара пользователя

Зарегистрирован: 10 ноя 2011, 12:02
Сообщения: 5691
Откуда: Turku, Finland
Skype: elmot73
прог. языки: Java и все-все=все
ФИО: Илья
Да, внешнюю подтяжку через резистор. Вверх или вниз - смотрите как удобнее. На плате - мостики для перепайки.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 20 сен 2012, 02:15 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Закончил фотоглаз, отладил прогу - все работает. А теперь подробнее.
Фотоглаз предназначен для установки на какого-либо робота, я планирую на двухмоторного паука-скрепкохода. Он умеет работать в двух режимах: видеть пятно света на полу и выдавать его положение: право/лево/назад, а также выдавать направление на наиболее освещенный участок его обзора. Разъемы для подключения модуля находятся с двух сторон, при этом в одном положении модуль смотрит вперед и вниз (на пол), в другом положении вперед и вверх.
Модуль собран на базе тиньки 45, хотя хватило бы и 25 (поставил что было). Три фототранзистора (ОЭ) идут на три канала ацп, два светодиода индицируют состояние модуля и выдают двоичный код: право/лево/назад/темно. Чтобы не было дребезга - измерение делается раз в секунду.
Алгоритм работы следующий. После включения пауза 3 секунды. Если робот будет бегать за фонариком, то за это время надо поставить робота на пол, чтоб он адаптировался к световому фону и при выключенном фонарике стоял на месте. Если робот будет просто искать самое светлое место, то надо пальцем закрыть нижний фототранзистор - это даст модулю понять, что компенсировать фон не надо. А потом он сравнивает коды с трех каналов и выбирает самый освещенный. Красный светодиод - светлее справа, зеленый - слева, оба горят - внизу, оба не горят (только при выключенном фонарике) - стоп.
Не стал заморачиваться с протоколами типа уарта - тогда на мозге робота придется задействовать прерывания или делать полудуплекс - сделал по простому. Ну и пара фоток модуля.


Вложения:
PICT2947.JPG
PICT2947.JPG [ 281.12 КиБ | Просмотров: 3032 ]
PICT2946.JPG
PICT2946.JPG [ 191.84 КиБ | Просмотров: 3041 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 25 сен 2012, 22:22 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
В габаритах фотоглаза сделал ИК бампер, который видит препятствие примерно с 20 см. Работает также на базе тиньки, на этот раз 25. Также две ноги индикаторные, управляют двумя светодиодами (горит правый-препятствие справа, левый - слева, оба - спереди, ни один - свободно). Одна нога генерит сигнал 36 кГц + НЧ огибающая. Этот сигнал идет на две микросхемы 2И, второй сигнал от контроллера - выбор излучателя (правый/левый), этот сигнал идет напрямую в одну микросхему 2И, а в другую идет через инвертор. Последняя оставшаяся нога - вход тсопа. ИК светодиоды светят по очереди, есть цифровая фильтрация результатов (из 10 вспышек не менее 5 отражений увидели - сигнал есть). Такой ИК бампер легко превращается в ИК локатор для мини сумо, надо только разнести излучатели подальше и настроить на нужную дальность. У меня модуль планируется ставить на робота в качестве бесконтактного бампера, чтоб в препятствия не тыкался. Еще придумал одну примочку, чтобы робот знал, что в него установлен/не установлен фотоглаз/ИК барьер. Для этого на фотоглазе я закорачиваю двойную PLS с одной стороны, а на бампере - с двух сторон. А ответную часть подключаю как вход, подтянутый к питанию (один контакт), а второй контакт к земле. Высокий уровень на входах - модулей в разъемах нет, один высокий - стоит фотоглаз, нет высоких - стоит бампер.

ЗЫ. Обратите внимание, что оба модуля стилизованы под роболицо.


Вложения:
PICT2957.JPG
PICT2957.JPG [ 246.28 КиБ | Просмотров: 2935 ]
PICT2958.JPG
PICT2958.JPG [ 242.73 КиБ | Просмотров: 2934 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 29 сен 2012, 08:18 
Не в сети
Аватара пользователя

Зарегистрирован: 26 июл 2012, 18:40
Сообщения: 263
Откуда: Екатеринбург
я только не понял, зачем эти ни к чему не подключенный ноги?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 29 сен 2012, 08:29 
Не в сети
Аватара пользователя

Зарегистрирован: 12 янв 2007, 00:34
Сообщения: 6285
Откуда: Масква
крепёж.. не?

_________________
.............солнце светит, птички поют, я - зелёный бамбук меня тянет к солнцуЯ - зелёный бамбук, я - зелёный бамбук , меня тянет к солнцу. Я - не огурчик и не лягушка, я - зелёный бамбук. Меня курят...............


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Фотоглаз робота
СообщениеДобавлено: 29 сен 2012, 11:47 
Не в сети
Аватара пользователя

Зарегистрирован: 01 июл 2009, 08:59
Сообщения: 2254
Откуда: Екатеринбург
прог. языки: асемблер AVR
Я же уже выше объяснил, для чего это. Но не трудно повторить. Еще придумал одну примочку, чтобы робот знал, что в него установлен/не установлен фотоглаз/ИК барьер. Для этого на фотоглазе я закорачиваю двойную PLS с одной стороны, а на бампере - с двух сторон. А ответную часть подключаю как вход, подтянутый к питанию (один контакт), а второй контакт к земле. Высокий уровень на входах - модулей в разъемах нет, один высокий - стоит фотоглаз, нет высоких - стоит бампер. Просто на фото пока нет закоротки. Ну и как крепеж это используется тоже.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 12 ] 

Часовой пояс: UTC + 4 часа


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO