roboforum.ru

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

Как сделать движение тележки по большому полю ровно полосами

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 22 апр 2014, 14:52

Вот похоже готовое решение - прога для Android

- трекинг (отслеживание) цветного круга или пятна, лиц.
- управление железом, роботом звуковыми сигналами через микроконтроллерный адаптер (на msp430)

www.emgrobotics.com перенаправляет на http://buildsmartrobots.ning.com/

У меня нет андроида, попробовал бы. А контроллер можно на ардуинке сделать.

http://www.androidpit.ru/ru/android/mar ... Controller

The EMGRobotics Robot Controller for Android is a computer vision based smartphone application design to work with the EMGRobotics Audio Dual Motor Controller Board (ADMCB) and the EMGRobotics Audio Dual Servo Controller Board (ADSCB). The ADMCB and the ADSCB plug into the Android phone's headphone jack. The applications generate audio tones that the boards use to control DC motors (for the ADMCB) or RC servo motors (for the ADSCB).

The application uses OpenCV for Android to perceive the world through the smartphones camera. Currently three computer vision modes are supported: Color Blob Tracking, Color Ball Tracking, and Face Tracking. Color Blob Tracking is used to track any object based on its color. Simply point the camera at an object and select the object on the screen. The application will immediately start tracking to object. To select another object, simply select another object on the screen. Color Ball Tracking is similar to Color Blob Tracking but only tracks round objects like balls of the selected color. Other shapes, like triangles, are ignored. Finally, face detection tracks frontal faces.

подробней об адаптере http://buildsmartrobots.ning.com/profil ... -use-your-

Re: Как сделать движение тележки по большому полю ровно поло

LIST33 » 22 апр 2014, 15:36

Авыр, дорогой, написано сильно, но я немного не понимаю спецтерминов.
То есть я как бы готов восхититься чьими то знаниями, опытом и пониманием того, что написано, но не более.
Задача актуальна, с производства НЕ СНЯТА, в настоящий момент подбираю тяговые двигатели, так как здесь как оказалось на деле никто не разбирается в моторах, даже за деньги, а более менее думающий товарищ это Вы. :))
С уважением,
LIST

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 22 апр 2014, 17:07

Я ж вам писал выше! ЧИТАЙТЕ! Аль опять будете на пиво спорить что я не сообщал вам про моторы?

Для вашей телеги нужны моторы от вентилятора охлаждения ВАЗ-2105 12 Вольт 14 Ампер при 2800 об-мин (как самый доступный! недорогой и надежный, МОЩНЫЙ. в авто запчасти! там есть дороже БОШ газ-3110 на 30 Ампер.) к нему нужен редуктор с редукцией которая при вашем диаметре колес даст вашу максимальную скорость при 2200 об-мин (с запасом чтоб и при подсевших аккумах работал).

Какова у вас скорость макс телеги? каков диаметр ведущих колес?

Чем использовать отключение привода лучше делать его с реверсом на реле. По танковому будет поворачивать за счет остановки колеса червяком.

Червячные редукторы только новые есть по 4200 руб NMRV-025 -030 с разным понижением до 1 к 60, надо поискать б-у или планетарные, или нагородить из велосипедных звездочек и цепей, шкивов ремней. Вам там по-месту видней.

Но редукторы очень красивые и стильные!

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 04 май 2014, 15:11

Все уже сделано до нас! :D Осталось код написать, но наверняка можно найти.

Смотрите - Слежение за точкой лазера на экране сенсором оптической мыши ADNS3080 - точно то что я хотел делать видеокамерой :D http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3252013/
Вложения
Слежение за точкой лазера на экране сенсором оптической мыши ADNS3080 www.mkpochtoi.ru.jpg
Слежение за точкой лазера на экране сенсором оптической мыши ADNS3080

Re: Как сделать движение тележки по большому полю ровно поло

=DeaD= » 04 май 2014, 21:48

Там размер пятна лазера почти во все поле должен быть, я так понял из примера. Или я ошибаюсь?

Re: Как сделать движение тележки по большому полю ровно поло

Myp » 04 май 2014, 22:35

по поводу редукторов...
есть ещё вот такой вариант, от детских электромобилей.
http://www.aliexpress.com/item/6v-12v55 ... 59411.html
если сделать привод 4х4 то тянуть будет будь здоров.

Добавлено спустя 12 минут 18 секунд:
avr123.nm.ru писал(а):Слежение за точкой лазера на экране сенсором оптической мыши ADNS3080 - точно то что я хотел делать видеокамерой

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

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

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 04 май 2014, 22:42

ГОВНО! Он же не игрушку делает! А для робо-платформочек очень хороши.

===============
Про датчик от мыши.
Там размеры некоторые есть. на картинке выше наилучшее расстояние 400 мм от экрана до сенсора.
на сенсоре линза установлена.

Добавлено спустя 5 минут:
Myp писал(а):мышиный сенсор не выдаёт положение точки, он выдаёт направление движения.
по даташиту выдает кадры. датчики разные.

Re: Как сделать движение тележки по большому полю ровно поло

Myp » 04 май 2014, 23:10

почему же?
4 штуки 70 кг запросто будут таскать.
планируется телега ощутимо больше? тогда уж лучше бензиновый поставить.

Добавлено спустя 19 минут 53 секунды:
avr123.nm.ru писал(а): по даташиту выдает кадры. датчики разные.

кадры выдают только некоторые, смещение выдают все.

щас протестировал идею из статьи

мышка, листок бумаги А4, лазерная указка
листок бумаги на расстоянии 40 см от мышки
вожу лазером по листу бумаги и на экране курсор мышки синхронно двигается.

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

отцентроваться невозможно.

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 04 май 2014, 23:19

Myp писал(а):кадры выдают только некоторые
верно. их и надо использовать.

Myp писал(а):отцентроваться невозможно.
вы исповедуете принцип разрушителей мифов - если мы не можем что-то сделать, то это невозможно. Это ложный принцип! не надо им руководствоваться. :D

1) камера на датчике ADNS-2051 http://www.bidouille.org/hack/mousecam

2) видео с датчика мыши http://hackaday.com/2014/01/14/your-mou ... le-webcam/
Logitech RX 250 is an ADNS-5020 optical sensor. This three wire SPI device stuffed into an 8-pin package is a 15х15 pixel grayscale image sensor.

3) подключение оптического датчика мыши к LPT и вывод видео на ПК 18х18 ADNS2610 http://spritesmods.com/?art=mouseeye
видео на LPT ПК 18х18 ADNS2610

4) ADNS-2051 есть в продаже в Москве. А то я старую мышку раскурочил сегодня а там чип сразу на USB. и даташит не нашел.

Re: Как сделать движение тележки по большому полю ровно поло

Myp » 04 май 2014, 23:54

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


вот там всё что есть известного про мышки
описания и т.д.
http://forums.overclockers.ru/viewtopic ... 7&t=330808
но в случае считывания картинки каково разрешение...
надо бы на бумажке просчитать будет ли достаточно для реальной работы.
чтоб потом не страдать что 1 пиксел сенсора это +- 3 сантиметра отклонения

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 05 май 2014, 01:11

примерно так и выходит - на 1 пиксель 2 см. это нормально ИМХО. пи движении телега будет колбасится и пятно будет скакать так что будем иметь среднее положение пятна.

Вопрос таков. Пусть я умею в коде получать по 8 бит яркости на 225 пикселей (15х15) - как мне найти пятно-скопление самых ярких пикселей? Надо найти примеры или алгоритм какой-то. Среднее значение яркости всего кадра наверно лучше делать по нескольким кадрам. А как найти координаты самой яркой области?

Будет ли так работать? Сделать сортировку пикселей кадра по яркости, взять несколько самых ярких пикселей и затем найти средние значения их Х и Y.

Добавлено спустя 9 минут 22 секунды:
Myp писал(а):годится для любой мыши, но без реального положения.
но не для usb - т.е. для старой, а не для любой :D

Я все же про АНАЛИЗ КАДРА! не про анализ данных по смещению.

Прикладываю даташит сенсора за 150 руб который дает КАДР изображения.
Вложения
ADNS2051 кадр 15х15 по SPI и еще квадратурный выход смещения.pdf
ADNS2051 кадр 15х15 по SPI и еще квадратурный выход смещения
(454.74 КиБ) Скачиваний: 0

Re: Как сделать движение тележки по большому полю ровно поло

=DeaD= » 05 май 2014, 08:10

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

В общем нужно проверять в реальных условиях.

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 05 май 2014, 09:17

=DeaD= писал(а):Делается отсечение по яркости, ... Взять N самых ярких.
разве это не одно и тоже?

Есть ли разница при вычислении - "Среднее арифметическое взвешенное" http://u.to/gyNJBw - какие брать координаты - абсолютные или отклонения от центра?

Если нас интересует лишь горизонтальное отклонение можно ли не вычислять координату Y для экономии по скорости проги?

Хорошо бы кусочек кода для Среднее взвешенное :)
Код: Выделить всёРазвернуть
 псевдокод:
для всех i отобранных по яркости пикселей делать {
  сум.произв. += $коорд_Х(i) * $яркость(i)
  сум.вес.яркости += $яркость(i)
}
сред.взвеш.коорд_Х = сум.произв. / сум.вес.яркости

Re: Как сделать движение тележки по большому полю ровно поло

RootAdmin » 05 май 2014, 10:29

avr123.nm.ru писал(а):
=DeaD= писал(а):Делается отсечение по яркости, ... Взять N самых ярких.
разве это не одно и тоже?

Если нас интересует лишь горизонтальное отклонение можно ли не вычислять координату Y для экономии по скорости проги?

Хорошо бы кусочек кода для Среднее взвешенное :)
Код: Выделить всёРазвернуть
 псевдокод:
для всех i отобранных по яркости пикселей делать {
  сум.произв. += $коорд_Х(i) * $яркость(i)
  сум.вес.яркости += $яркость(i)
}
сред.взвеш.коорд_Х = сум.произв. / сум.вес.яркости

Не имеет смысл учитывать еще и яркость.
Я просто усреднил сумму кооординат пикселей с яркостью более порога.

Re: Как сделать движение тележки по большому полю ровно поло

avr123.nm.ru » 05 май 2014, 10:36

Я так и предполагал выше, но Dead заметил, что взвешенное значение надежней.

слово заранее в вашей подписи излишне! :D

qSerialTerminal - терминал для uart rs232 - вывод кадра по uart и отображение на ПК - http://embeddedprogrammer.blogspot.ru/2 ... image.html

у меня есть эта камера модуль OV7670 forum68/topic12492.html там кадр до 30х40 можно уменьшить, и наверно достаточно будет анализировать только байты красного для красн. лазера - так?


Rambler\'s Top100 Mail.ru counter