roboforum.ru

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

Аналоговые сенсоры линии или цвета

Аналоговые сенсоры линии или цвета

beep_beam » 31 мар 2021, 13:57

Всем привет,
аналоговых сенсоров цвета и линий типа лед/фоторезистор в торговле с переизбытком, они большей частью хоббийного назначения, есть 1 канальные (линия) 8 канальные, те что для распознавания цвета (оттенки серого), все бы ничего, но у них у всех 1 проблема, они не видят источник уже 3 мм, кроме того есть зависимость от основы, на которой источник (блики и т.п.)
У меня проекция находится под стеклом, которое с целью гашения бликов закрыто матовым фильтром. Ширина точки (линии) 1 мм. Городить на сенсор фокусирующие линзы...?
Что можно посоветовать, возможно кому известны такого типа готовые доступные сенсоры?

Re: Аналоговые сенсоры линии или цвета

Myp » 31 мар 2021, 15:23

Для начала стоит описать что требуется. Датчик линии и датчик цвета это кагбы разные вещи.
Немаловажен ответ на вопрос почему именно аналоговые сенсоры?
Камеру поставить, будет цвет, толщина, расположение и даже пересечения. Из готового можно cmucam взять.

Re: Аналоговые сенсоры линии или цвета

beep_beam » 31 мар 2021, 15:51

Цель - инерциальная навигация по виртуальному треку.
Трек как и прочие статические предметы в цвете (градации серых оттенков), от того и аналоговый сенсор.
В случае с камерой алгоритм усложняется, т.к. из них понадобится мне строить сенсор линии и скорей всего на несколько каналов. Хотелось бы более элегантно решить
задачу.
Предвижу каскад очередных вопросов. Пожалуй открою тему - инерциальная навигация.

Re: Аналоговые сенсоры линии или цвета

Myp » 31 мар 2021, 18:59

Ничего не понял... Зачем аналоговый сенсор?
у тебя там аналоговая схема на транзисторах и ты аналоговым сенсором будешь управлять транзисторами моторов??

Камера смотрит на поверхность, камера снимает сразу весь пол, камера на полу "видит" линию, детектирует линию на общем фоне.
Камера выдаёт тебе по интерфейсу например уже готовый вектор этой линии, цвет этой линии и всё остальное что может быть интересно.
Ты в своём контроллере уже делаешь что надо, едешь вдоль линии или чего хочешь.
вот первый попавшийся пример cmucam https://docs.pixycam.com/wiki/doku.php? ... e_tracking

Re: Аналоговые сенсоры линии или цвета

esisl » 31 мар 2021, 19:12

Виртуальный. Т.е. "не существующий" трек, может быть любого цвета. И в датчиках для отслеживания не нуждается.

Как это пересекается с "инерционностью" навигации, мой слабый разум понять отказывается.

Re: Аналоговые сенсоры линии или цвета

beep_beam » 01 апр 2021, 00:04

Myp писал(а):Ничего не понял... Зачем аналоговый сенсор?
у тебя там аналоговая схема на транзисторах и ты аналоговым сенсором будешь управлять транзисторами моторов??

Камера смотрит на поверхность, камера снимает сразу весь пол, камера на полу "видит" линию, детектирует линию на общем фоне.
Камера выдаёт тебе по интерфейсу например уже готовый вектор этой линии, цвет этой линии и всё остальное что может быть интересно.
Ты в своём контроллере уже делаешь что надо, едешь вдоль линии или чего хочешь.

Несколько раз пересмотрел ролик, перечитал комменты, не понял, каким образом происходит обмен данными с CPU контроллера, если разраб дает SDK то еще как-то можно долгими ночами посидеть и построить функции с триггерами команд к моторам.
Мой вариант хоть и не строит виртуальный трек, он собственно уже есть в виде выбранного маршрута, все остальное берет на себя это сенсор, который формирует бинарный код по градациям оттенков цветного трека.
Все же обсуждение идеи предлагаю вести здесь, не хочется заниматься дублированием комментов.
Вложения
Tracking Module.png
Tracking Module.png (112.11 КиБ) Просмотров: 5072

Re: Аналоговые сенсоры линии или цвета

esisl » 01 апр 2021, 11:38

Вы можете изложить базовую задачу, без применения терминов?
Типа "для домохозяек".

Вам нужна коробочка, которая, будет ездить по цветным полосочкам?

Re: Аналоговые сенсоры линии или цвета

Myp » 01 апр 2021, 12:22

beep_beam писал(а):Несколько раз пересмотрел ролик, перечитал комменты, не понял, каким образом происходит обмен данными с CPU контроллера

обмен происходит любым удобным способом, SPI, I2C, UART, USB.
в случае с движением по линии сенсор выдаёт координаты начала линии и конца,
Код: Выделить всёРазвернуть
vector: (37 51) (38 10)

относительно видимой области сенсора.

Но это просто вариант готового решения, купил, включил, поехал.
Тоже самое можно собрать самому на любом более менее приличном контроллере способном запустить библиотеку opencv и подключив к нему камеру.
https://const-toporov.medium.com/line-f ... 7b90f2c298

Стоит понимать что это просто езда по линии, которая довольно бесполезна, робот не знает где начало, конец, где он находится и куда едет.
Без возможности как-то осмысленно двигаться. Если хочется ориентироваться в помещениях и ехать туда куда скажут, то нужна полноценная навигация, линия на полу не нужна, разве что как вспомогательный элемент, для коррекции погрешности навигации.

Re: Аналоговые сенсоры линии или цвета

beep_beam » 01 апр 2021, 23:58

Познакомился с этим опытом Константина Топорова, сходинл на GitHub, часть вопросов отпала.
Насколько я верно понял, все написано на питоне? Предыстория интересная, те шумы в виде зеленых полос удалось выделить в полезный код и на нем строить векторизацию и формирование опорных координат.
Я все строю на G, это FSM, далее делаю GUI для пользовательских калибровок и группирую его к другим робототехническим подобным FSM модулям на которых можно строить всевозможные сценарии аппаратного поведения, тема здесь обсуждалась.
Буду все же проверять корректность движения по распознаванию цвета и слежения за ним, в качестве детектирования линии будет веб камера.

Re: Аналоговые сенсоры линии или цвета

Myp » 04 апр 2021, 16:21

beep_beam писал(а):Предыстория интересная, те шумы в виде зеленых полос удалось выделить в полезный код и на нем строить векторизацию и формирование опорных координат.

зелёные шумы к делу не относятся.
там несколько этапов
1. упрощение картинки, сначала в ЧБ с оттенками, а потом в чб двухцветное(параметры преобразования подбираются под конкретные условия яркости и типа линии).
2. к получившейся картинке с белыми пятнами применяется алгоритм определения границ Canny
3. чтобы найти полезные линии применяется преобразование Hough и находятся именно линии (отсекаются короткие куски, дуги и прочие ненужные загогулины)
в итоге нифига не заработало :D
далее он вернулся на шаг назад
3. вместо детектирования линий он стал искать контуры(да, для поиска контуров тоже есть какой-то алгоритм), самый большой контур считаем что нужный.
4. строит вокруг контура прямоугольник (для построения bounding box тоже есть алгоритм) и берёт ось уже этого прямоугольника как линию для движения робота (т.к. искать ось контура может быть проблематично)

Но скорей всего его подход очень ограниченный и работает только в конкретной комнате, на конкретном полу, с конкретными линиями и уже не заработает в других условиях.

Re: Аналоговые сенсоры линии или цвета

beep_beam » 05 апр 2021, 02:30

Посидел вечерами вот что получилось с USB камерой.
В двух словах:
Для работы с ним вам понадобится USB-камера, микроскоп и так далее.
Модуль распознает цвета и оттенки в небольшом регионе (зеленый квадрат в центре) и в зависимости от цвета, может открывать выходные логические сигналы по 16 каналам.
На переднюю панель выведены все функции для калибровки камеры в зависимости от окружающего освещения. Вы также можете установить время сканирования и скорость детектирования логических бинарных команд на выходе I/O.
Процедура калибровки очень зависит от внешнего освещения, от разрешения камеры, от свойств поверхности с цветными маркерами.
На видео едва заметно, как финале камера выловила присутствие на границе красного маркера желтые пиксели, что есть результат подсветки лед лампы.
Но в целом алгоритм рабочий.


cron
Rambler\'s Top100 Mail.ru counter