roboforum.ru

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

Двухкоординатный энкодер из фотоузла компутерной мыши

СРУВЧ!

Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Spy4ik » 03 ноя 2016, 19:25

Вот именно так. В мышах стоит фото-видео камера, и процессор - который анализирует изображение с камеры, и определяет смещение. В винду при этом отдается уже икс и игрек. Как бы такую игрушку сделать на мелкоконтроллере дуиноподобном?
Spy4ik
 
Сообщения: 23
Зарегистрирован: 02 ноя 2016, 22:04

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Myp » 03 ноя 2016, 22:14

ну берёшь и делаешь
выпаиваешь сенсор из мышки и подключаешь к ардуине, примеры в гугле.
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Spy4ik » 03 ноя 2016, 23:51

ну... хорошо хоть не RTFM....
Spy4ik
 
Сообщения: 23
Зарегистрирован: 02 ноя 2016, 22:04

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение linvinus » 04 ноя 2016, 00:14

учтите что камера в мышке очень низкого разрешения, 900пикселей максимум
но ардуина в любом случае не вариант, ARM 72 - 168Mhz или что то этого уровня
гуглить opencv optical flow, если нужна одометрия то лучше сразу искать optical odometry
чем готовый сенсор не устроил?
самый простой способ это получать картинку с сенсора мыши по spi и дальше её обрабатывать как вам угодно, обычная видео камера слишком высокого разрешения и относително медленная
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Spy4ik » 04 ноя 2016, 13:37

все, что выдал гугл и ютуб по запросу arduino read optical mouse sensor - доказывает что можно получать ХУ координаты, но нужно садиться на ноги мышьей мелкосхемы по протоколу PS/2. Есть библиотеки. Дальше не копал пока. Про юсб вообще ничего не сказано - видимо слишком просто. Есть шилды юсб-хосты. Насколько просто выдрать координаты из юсб-протокола пока не копал.
Еще нашел готовые оптические модули в виде kit-ов для разработчиков мышей (оптика с подсветкой и камерой плюс процессор).
Еще вспомнилось про мыши в формы карандаша-ручки. Это если по габаритам лучше не на сканируемой площади расположить а вертикально вытянуть.
Вобщем, для разрешения 2*2мм впринципе можно использовать. В компанию к гиро и акселю и жпсу. Не дрифтит, не требует интегрирования.
Spy4ik
 
Сообщения: 23
Зарегистрирован: 02 ноя 2016, 22:04

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение linvinus » 04 ноя 2016, 14:28

никакой Usb или ps/2 для подключения сенсора к ардуино не нужен, у сенсора интерфейс spi а usb это уже после адаптера.

вы далеко не первый кто с мышами хочет экспериментировать, и на форуме не раз тема поднималась и в инете полно примеров
например http://www.wildcircuits.com/2013/03/opt ... cking.html

ищите adns mouse sensor arduino (avr)

В компанию к гиро и акселю и жпсу.

не получится. если расстояния десятки - сотни метров то gps дас точный курс, он вне конкуренции, автопилоты на ЛА так и работают, аксель и гиро для тангажа и крена а gps для точного курса.

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

вы бы сразу задачу обрисовали, было бы проще
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Myp » 04 ноя 2016, 17:57

ну неужели так трудно просто погуглить? http://www.instructables.com/id/Arduino ... /?ALLSTEPS
там всё примитивно, просто считываешь с сенсора готовые данные о перемещении в двух координатах.

Добавлено спустя 26 секунд:
linvinus писал(а):самый простой способ это получать картинку с сенсора мыши по spi и дальше её обрабатывать

это вот как раз самый сложный способ
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Dmitry__ » 04 ноя 2016, 19:40

Ну так датчик касания же. Скомпили с опцией "debug_type = 5 Данные перемещения мышки."
Аватара пользователя
Dmitry__
 
Сообщения: 8033
Зарегистрирован: 13 янв 2011, 15:25
Откуда: Санкт-Петербург

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Spy4ik » 07 ноя 2016, 00:26

хм... открыл для себя optical flow sensors.
Ээээххх сколько можно было бы полезных в народном хозяйстве усовершенствований придумать... сколько мульенов человекочасов сэкономить в промышленности.... Не. Нельзя работягам столько нормачасов отрезать. Нехай имеют кусок хлеба.

Изначально была задумка для поверхности типа листа бумаги составлять карту этой поверхности с узлами 2*2мм. Вернее есть дефектоскопический датчик типа карандаша - им надо ручками изрисовать поверхность, гарантированно пройдя в каждой точке. Вот и хочется видеть где еще не пройдено.
Spy4ik
 
Сообщения: 23
Зарегистрирован: 02 ноя 2016, 22:04

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение linvinus » 07 ноя 2016, 14:39

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

В вашем случае,на мой взгляд, самое простое это светить лазером на поверхность а внешней камерой отслеживать участки где лазер прошёл а где нет.

что то типа этого https://hackaday.com/2016/10/25/a-glimp ... m-cleaner/
полагаю, на opencv за пару дней такое решается
R3 forum87/topic15337.html
R2 roboforum.ru/forum102/topic13980.html
R4 roboforum.ru/post336339.html#p336339
Делать надо хорошо - плохо получится само!
Аватара пользователя
linvinus
 
Сообщения: 1672
Зарегистрирован: 29 апр 2011, 12:37
Откуда: Москва
прог. языки: С

Re: Двухкоординатный энкодер из фотоузла компутерной мыши

Сообщение Spy4ik » 07 ноя 2016, 20:40

За фактуру - если понадобится то надо будет пробовать.
Хромированные полированные валы отпадают, а вот ржавые трубы возможно неплохи.
Spy4ik
 
Сообщения: 23
Зарегистрирован: 02 ноя 2016, 22:04


Вернуться в CRAZY PROJECTs

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

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

cron