визуальное распознавание и последующий механический захват предмета

oskar
Offline
Зарегистрирован: 15.09.2012

 Задача - визуальное распознавание и последующий механический захват предмета

Как я это представляю - камера висит над координатным столом x,y, делает снимок, картинка обрабатывается, находится центр массы предмета(например черная шайба на белом столе), 2 шаговых мотора едут к обьекту, 1 серво хватает его и везет назад в нулевую точку и там скидывает. Что то на Подобие модели автоматизированного упаковщика деталей. Конечно очеь все грубо но это пока.

Так как я новичок решил обратится к вам за помошью, как я понимаю в случае обработки изображения миновать PC не получится( я планирую использовать opencv) основной вопрос для меня Как осуществить обмен информацией между PC и ардуиной.Хотелось бы чтобы процесс происходил автономно. Фотографии делаются с определенным интервалом времени, в случае если обьект обнаружен камера перестает делать снимки пока моторы не положат предмет на место, этакий цыкл. очень важен этот момент.

Может есть другие более удобные варианты реализации ? может кто то встречал что то подобное ? на что стоит обратить внимание в первую очередь ? как бы вы это реализовали ?

oskar
Offline
Зарегистрирован: 15.09.2012

 получается должно быть 2 программы: одна на PC (опенцв) а вторая вшита в ардуину и между ними должна быть связь, смогу ли я подключить библиотеки ардуины к программе opencv чтобы использовать операторы serial... ? то есть в одной программе нахождение координат и передача данных между ардуиной

или же наоборот подключить библиотеки opencv к IDE arduino ?

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Нет. Это будут 2 независимые программы. Вам нужно определиться с протоколом обмена информацией между ардуиной и пс. Обмен можно сделать безпроводным. На ардуину должны передаваться параметры объекта (его положение, геометрия...) от ардуины - статус (еду к детали, беру деталь, везу, свободен...) И нужно будет как-то обрабатывать нештатные ситуации - не смог взять, уронил и т.д.

oskar
Offline
Зарегистрирован: 15.09.2012

через USB кабель можно осуществить такую передачу ? не хотелось бы покупать ни какие дополнительные модули

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Это чтож у Вас, получается робот на поводке? Некошерно как-то :) Робот должен быть автономным. А через кабель - да, не проблемма 

oskar
Offline
Зарегистрирован: 15.09.2012

ну это не совсем робот - просто координатный стол с 2 осями, значит одна программа на компе а вторая вшита в ардуино, вопрос. для передачи данных та программа на компе должна быть именно работать из под IDE ардуино или я смогу использовать visual studio и подключить туда библиотеки передачи данных ардуино (типа serial)

AlexFisher
AlexFisher аватар
Offline
Зарегистрирован: 20.12.2011

Нет. Программы друг для друга выглядят просто терминалом! Они просто шлют символы и принимают символы. Ничего никуда подключать не надо. Надо определиться с протоколом обмена, я уже писал! 

leshak
Offline
Зарегистрирован: 29.09.2011

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

Если вы собрались что-то подключать к Visual Studio, то явно плохо понимаете чем программа отличается от среды разработки. То есть - вы не програмили.

Поэтому начинайте с чего-то более простого - напишите Hello World консольный, GUI-шный. Да и вообще купите какую-нибудь книгу по программированию.

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

Я думаю даже это займет у вас существенно время. Что-бы начать осмысленно пользоватся openCV - уже прийдется существенно подтянуть знание в C-ях.

Потом можете уже брать ардуину. Но опять-таки начинать не с "супер-мега-проекта", а с "помигали диодом". С обеменом в Serial. Чтением, того же "hello world" посланного ардуиной программой на компе.

К тому времени 100% текущих ваших вопросов у вас отпадет. Но возникнут другие. Более осмысленные (сейчас они либо не корректны, либо ответ будет явно не понятен вам).

За задачу вы взялись - серьезную. Copy-past "примерчиков из интернета" - тут не покатит. Они решаемая, но знания прийдется подтянуть существенно. Вопросами на форуме "помогите сделать" - тут обойтись не получится. 

duha
Offline
Зарегистрирован: 22.11.2012

в обычной оптической мышке стоит видеокамера с разрешением 32Х32 или 64Х64.

думаю такого разрешения вполне достаточно для распознания шайбы, тут дуино и без РС справится.