[OpenCV robots #1] Recognition of colored objects. Line movement and target designation | Orange pi
Ғылым және технология
Pam-pam-pam, I've been gone for a long time, but I didn't give up the channel :) While I'm working on other projects, I rolled out a continuation of the epic about robots and openCV.
This time, we will talk about the recognition of colored objects by the robot, will force the robot to chase them, and also go on target designation to the laser, well, to the heap, let it ride along the line. And all this is one algorithm!
I also remind you that a platform (a piece of a board) with a webcam and an orange pi zero on board acts as an experimental robot. It is loaded with Linux and a web server that outputs all the results of video processing through openCV to a web page.
More about it in the video: • Простой робот с камеро...
New python scripts and samples for the robot to work with openCV: codeberg.org/TrashRobotics/Ro...
Old scripts (and arduino code) where the robot can be controlled via a web page: codeberg.org/TrashRobotics/CVbot
Пікірлер: 99
Вот это понимаю контент! Спасибо. Самому захотелось расчехлить питона погонять с шариком
@cattitude2
Жыл бұрын
Чего
@PleerFol
11 ай бұрын
Аэаххахахахаха
Ждём продолжения. Не останавливайтесь, у вас хорошо получается.
Привет! Занимаюсь CV и ML давно, случайно наткнулся на канал. Хорошо объясняешь, продолжай! Хороший контент
Бро, шикарнейшие видосы, от души! Без воды, всё по делу. Ну и отдельная благодарочка за добрый юмор!
Контент огнище. Рекомендации ютуба - работайте так дальше, мне нравится
случайно youtube предложил видео посмотреть с этого канала и я залип. Лайк, подписка и ждём новые видео. Классная тема OpenCV
Отличный контент, удачи и развития каналу!
Отлично, иронично и содержательно! Не останавливайся! Спасибо!
ух класс !! + Лайк смотрим ! Все зашли видео !
Чувак, это очень круто! Особенно подача, очень интересно и весело, продолжай в том же духе!
Привет! Отличное видео! Ждём робота с нейронными сетями!
как же круто преподносится материал!! спасибо!! ждем продолжение!!!
Как же долго я это искал спасибо вам большое 👍👍👍
Красавчик! первый раз гляжу твоё видео! С ходу подписался. Подача материала просто супер!
Молодец, очень интересно и познавательно. Я сейчас вот знакомлюсь с Pi Zero, тоже делаю робота, но немного другого. Но тоже использую машинное зрение. Буду с нетерпением ждать дальнейших выпусков в этом направлении
Робот-кот это нормально. А вот робот-менеджер это финал!
Побольше бы таких как ты блогеров
Красавчик ваще. Это ж пипец как интересно.
лайк и коммент за видос и подписка за ослика с морковкой в конце))). или наоборот)
Отличное видео, особенно понравился момент с "Робот-котом") ХАПХАПХ смеялся 30 минут)😍
это просто а**нно. спасибо что делишься такой интересной информацией!
Очень интересно! Ждём продолжения с использованием нейросетей и гусеничной платформы с видеокартой на борту )
Супер! Спасибо!
Доброго дня, все супер, есть вопрос, видео по разбор алгоритм поиска по шаблону будет? Спасибо.
Будет ли продолжение? Например перевод на два двигателя и спереди свободное колёсико из под мебели, какие нибудь улучшали для робота, например какой нибудь простенький лидар что бы если предмет закатился под шкаф но робот его видит, он не летел врезаться, а остановился перед шкафом/тумбой и всякие такие штучки, вообще интересно будет какое то подобие искусственного интеллекта
@user-tk9fk2mp1f
2 ай бұрын
проще для такого hc-sr04 исползовать. Лидар лучше для построения карты помещения оставить
Крутой проект. Подписка :) Будут проекты на полноценном компьютерном зрении? Сам думаю дронов собирать с openCV, тема очень нравится.
🔥🔥🔥🔥🔥
это какие то чудеса и магия)
Очень интересно
Отличное видео!
Hola! Gracias por compartir el código 👍
Вау, спаибо большое!!
Моё почтение
are you crazy? insane!
иронично😂😂😂
супер контент, я видео себе прям сохранил
Годно!))
Отлично!
А вот за код спасибо !
класс!
давай еще больше про OpenCV на апельсинках!
хз как постоянным зрителям, для меня это просто охренеть. как раз купил набор с 4-мя шаговыми двигателями и планирую автоматизировать по работе процесс один... а тут чел робота за шариком гоняет... о х р е н е т ь ?) охренеть!)
огонь!
Таки Иронично)))
в конце - это ж морковка для ослика
Две камеры, и будет дистанция до цели)
Всего пару строк кода и все! До чего техника дошла
Афтар жги ещё. Очень хорошая подача и видеоряд. Не останавливайся!!
🥰🤩💥💯👍👏
good :)
Привет , отличное видео как раз искал человека который внятно обьянит как сделать поиск обьекта , кст как тебе идея сделать робота для пропалывания огорода? Очень бы помог многим кто у бабушки в деревне на огороде. И еще не пользовался ли ты библиотекой mediapipe?
@trashrobotics
Жыл бұрын
Привет, спасибо) Робот садовник-огородник в планах на следующий год или через год, как получится. Идеи есть не только для прополки, но и для посадки, сбора и т.д. Делать буду, когда появится возможность выделить немного лишних средств и времени на платформу + манипулятор. Думаю ее делать на базе моторов стеклоочистителей или дворников. Из них же и сервы сделать попробую. Про mediapipe слышал, но не пользовался, обычно сам всю цепочку собирал: gstreamer + opencv + tensorflow. Надо глянуть, что за зверь)
@porsh59g
Жыл бұрын
Блин, мужики, прям все мои идеи в одном месте, робот по прополке тоже есть и был идеей, хотел газовую горелку примости к роборуке ))), фигачить под корешок. Смотрю эти видео с ближайшим прицелом на создание автоматической газонокосилки. Автор продолжай! Я тупой на 50%, как раз объяснения на мой уровень.
А можно чтобы он двигался на звук. Например, хлопнул в ладоши он развернулся на звук
Хорошо, да или да, нужен ли Raspberry Pi для этого проекта? Поддерживает ли Orange Pi Zero 2 opencv?
а вот если задача искать на изображении контуры с белым цветом (возможно слегка желтоватым). нужно предподготовить фотографии с листами бумаги, для дальнейшего распознавания текста. пытался переводить в градации серого, но отделить изначально светло жёлтый стол стол от белой бумаги не получалось, по чёрно-белому представлению это был одинаково белый цвет.
@trashrobotics
Жыл бұрын
Ох... ну тут задача зависит от того: насколько вы хотите запариться, и насколько результат должен быть отказоустойчив. Если по лайту, то да, сначала просто отделять бумагу от стола по цвету, а не по градациям серого, в результате получите маску, которую наложите на изначальное изображение (уберете все светложелтое с него). Потом переводите в градации серого и распознаете уже текст (хотя, в таком случае, можно просто отделить черный текст, но если нужна предподготовка, то окей). Можно и сложнее: искать прямоугольники (листы) по шаблону или ключевым точкам, делать преобразования, если листы сфотканы криво и т.д. Развлекаться можно долго :) главное освещение хорошее сделать, оно всегда кстати.
Какой язык для кодинга использовался в видео?
вроде все просто, но почему даже не возникало желание у меня такое делать?!
Hahahahahahahaha aли жао ми је на крају малог робота који покушава да yхвati светлост као пас који јури свој реп :)
Посмотрев видео, стало интересно, что за вебкамера на аппарате? Не могли бы вы указать модель, её характеристики?
@volkroter2850
Жыл бұрын
это камера из линейки Canyon CNS-CWC5 на али они от 940 рублей в днс они от 3к разрешение 2мп 1080р 30fps
автор, давай лазерную пушку, отстреливающую мух!!!!)))
а для принтера в видео, какой пластик юзается?
@trashrobotics
Жыл бұрын
тут PLA, а так PLA и PETG
@__Semen__
Жыл бұрын
@@trashrobotics у меня типа такой же принтер. и вроде пластик PETG, но он плохо приливает к поверхности, хотя если прилип то уже сложновато оторвать, не могу понять что не так, уже и температуру от 190 до 230 поднимаю, и температуру стола от 50 да 80, скорость печать на старте 25, рабочая 50, а пластик часто плохо соединяется.
сразу сорян за глупый вопрос - в видео только IP и порт нужно ввести, а в описании еще и последовательный порт, а как узнать какой?)
@trashrobotics
Жыл бұрын
Последовательный порт используется для связи с ардуинкой (она выступает в качестве драйвера моторов). Если вы запускаете точно такого же робота как в видео (по железу и подключению), то его при запуске программы можно просто не указывать. По умолчанию будет выбран нулевой порт (/dev/ttyUSB0). Eсли у вас подключен единственный usb-ttl преобразователь, то программа будет использовать его. Однако, через модификатор *-s* можно указать другой порт, если, например, вы используете на роботе несколько преобразователей и нужно выбрать один из них или если вы используете аппаратный UART.
@marosuperstar
Жыл бұрын
@@trashrobotics воу, спасибо за подробный ответ. и в целом за видео, вдохновился, буду делать, жду железо из китая
А что если на основе бинарного компьютерного зрения сделать робота который бы ориентировался в пространстве)
Скрипт из первого видоса работает, а вот из второго чот ругается и не показывает изображение с камеры(
@tiMer23
Жыл бұрын
Error on request: Traceback (most recent call last): File "/home/pi/.local/lib/python3.7/site-packages/werkzeug/serving.py", line 335, in run_wsgi execute(self.server.app) File "/home/pi/.local/lib/python3.7/site-packages/werkzeug/serving.py", line 324, in execute for data in application_iter: File "/home/pi/.local/lib/python3.7/site-packages/werkzeug/wsgi.py", line 500, in __next__ return self._next() File "/home/pi/.local/lib/python3.7/site-packages/werkzeug/wrappers/response.py", line 50, in _iter_encoded for item in iterable: File "app.py", line 49, in getFramesGenerator cv2.CHAIN_APPROX_NONE) # получаем контуры выделенных областей ValueError: too many values to unpack (expected 2)
Я собрал робот-пылесоса и столкнулся с такой проблемой, что он иногда не видит ножки у табуреток. Датчики приближения представляют собой 8 ик светодиодов и 8 ик фотодиодов. Чтобы не влиял уровень освещенности они работают по такому алгоритму. Светодиоды выключены > считываем через АЦП значения каждого фотодиода > запоминаем значения > включаем светодиоды > считываем > сравниваем с предыдущими значениями, и если где-то большое расхождение, то значит впереди препятствие. Работает не плохо, но иногда не видит тонкие предметы. Дак вот в чём вопрос. Можно ли отслеживать препятствия при помощи камеры или может двух камер?
@trashrobotics
Жыл бұрын
да, можно двумя камерами, стереопарой называется. Лучше сразу брать камеры объединенные на одном модуле. По двум изображениям строится карта глубины и по ней определяете расстояние до объектов.
@goiiia3774
Жыл бұрын
@@trashrobotics , о, класс ! Это на опен сv можно реализовать ?
@trashrobotics
Жыл бұрын
docs.opencv.org/4.x/dd/d53/tutorial_py_depthmap.html
@goiiia3774
Жыл бұрын
@@trashrobotics , ого, спасибо !
доброго времени. есть идеи как заставить апельсинку с ардуинкой общаться по uart1 или 2 ? по uart0 который отдельно выведен все норм а по гребенке не хотит зараза. и да ждем продолжения я уже 2 платформы под это дело собрал.
@trashrobotics
Жыл бұрын
В armbian-config еще надо включить uart1 и uart2, чтоб их использовать. uart0 для использования не рекомендую, он все же для консольного общения с апельсином зарезервирован. Про OpenCV будет или через проект или через два) Сейчас фрезер делаю и мастерскую утепляю перед зимой)
@e766tx
Жыл бұрын
@@trashrobotics в конфиге включил конечно, не помогает. когда на uart0 чтото висит она еще грузится через раз, и с правами доступа к нему проблемы. фрезер тоже хорошо.
Нет, не просто так исторически сложилось. Просто вы не в курсе истории. Потому лучше вам просто сказать - я не знаю почему, но так есть.
@trashrobotics
Жыл бұрын
Вообще-то, я знаю, почему так вышло). "Просто вы не в курсе истории." История.../исторически сложилось, это одно и то же, как бы😁 Не понимаю суть претензии. Это же не было сказано в негативном ключе. И если учесть, что сейчас представление RGB возведено в ряд стандарта, то выбор в openCV BGR, в свое время, сейчас представляется как и тянущийся легаси, который уже так просто не изменить. Так что да, исторически сложилось)
@dmaraptor
Жыл бұрын
@@trashrobotics Это не легаси, это особенность работы процессора с памятью. И более того они, процессоры, и сейчас так делают потому что это их естественная особенность. Особенность эта появилась на заре развития вычислительной техники и обработки видеоинформации как ее части. Просто новодельные АПИ прячут эту внутреннюю реализацию выставляя наружу интерфесы в том виде каком они считают удобно конечному пользователю.
Hello.... can you make mobile browser accelerometer controlled robot using nodejs...
@trashrobotics
Жыл бұрын
Hello, do you mean gesture control using the accelerometer on the phone? Or browser control of a robot that uses an accelerometer (for example, a balancing robot or other mobile robot)?
@BharatMohanty
Жыл бұрын
@@trashrobotics a robot that can be controlled using mobile phones inbuilt accelerometer ..... For example a node server running on a single board computer ( orange pi) ...that can be accessed from mobile browser... (Tilt the phone and robot should move )
@trashrobotics
Жыл бұрын
I'm going to do this kind of thing in the future, but a little more hard. Robot control using a gesture interface with an accelerometer + gyroscope or through a camera and opencv
@BharatMohanty
Жыл бұрын
@@trashrobotics I did it using javascript and html + php but I want to make it with nodejs... because I have older raspberry Pi zero w with less ram and processing power ..also may I know your name please....... (using phone accelerometer not opencv or camera)
Хммм... А можно выкинуть эту virgin плоскую камеру и прихерачить ему chad 3д зрение с каким-нибудь кинектом или типа того? Чтоб робот распознавал рельеф и, ну, например, не упал бы со стола?
@Ponytamin
Жыл бұрын
Вроде, инструментов разработчика на кинект целое море в интернете. Правда, не уверен, что это всё реально можно приспособить на такие маленькие мозги
@volkroter2850
Жыл бұрын
можно, но оперативки нужно много, минимум 8гб но такие разбори стоят от 20к и выше я видел пару подобных проэктов на англоязычных каналах самодельщиков, кода там очень много и нужно очень хорошо знать python чтоб чтобы переделать под свои задачи.
Бостон дайнемикс нервно курит в сторонке.
Запустил пример demo_objtracking.py.В качестве мишени просто красный круг. Программа не видит его.Нужна обязательно лазерная указка?
@user-st2db2xp3w
Жыл бұрын
Извините, невнимательность. Разобрался