Стерео-зрение VR для робота на Ардуино
- Войдите на сайт для отправки комментариев
Вс, 17/12/2017 - 17:48
Готовой темы не нашол, поэтому создал.
прогресс идет семимильными и вот уже повсюду стереошлемы VR входят в обиход. Штука достаточно понятная, любой смартфон становится стереоэкраном. Я посмотрел несколько роликов с ютуба в стерео-режиме. Достаточно крутая штука. Одна там проблема ( видимо, для всех стереосистем) долго не рекомендуется сидеть в этом шлеме.
Сам шлем ( со всякими датчиками наклона и тп. пока не рассматривается, это наверно, в другой теме уже).
Для съемки стереоизображения предлагается несколько решений: собсно, 2 камеры ну и далее обработка изображения и соедниене в единую картинку ( в онлайне это наверно достатчно хлопотное дело) или еще вот такие штучки, на базе зеркальной призмы, Но пишут отзывы, что фигня:
Поскольку шлемов готовых - полно, равно как и смартфонов, основыным вопросом становится получение качественной картинки (желательно - по беспроводным каналам), видимо, с использованием 2-х камер(каких?), программная обработка и соединение их(чем? и где?).
Прикидываю это для вполне конкретного проекта. Поскольку обычно вопрос "для чего" задается, вставлю сюда и по проекту инфу.(пока VR не предполагается, т.к. непонятно, как именно реализовать. Но еслиб знал бы - стразу бы смотрели в сторону VR):
Задача сейчас может быть описана так:
Камера является "глазами" робота, расположенной над рабочей зоной (манипуляторы).
Рабочее поле: 500мм х 500мм
Камера направлена сверху вниз, под небольшим углом (или строго вертикально).
Высота камеры над поверхностью - до 500мм.( практически не изменяется, +\- 10см)
Освещение искусственое постоянное ( дабы тени или тучки не влияли. Сама штуковина работает на улице, в теплое время года).
Исполнение желательно водозащищенное.
Видение в темноте - не требуется. Индикация движения - не требуется. Запись фото - не требуется.
Основная задача - стрим в онлайне. (снимает поверхность, передает картинку удаленному оператору, тот управляет манипуляторами).
Передача картинки и управление манипуляторами, возможно, будут разденены ( 2 канала). Каналы предполагаются беспроводные.
Поверхность примерно одинакова по виду и структуре. Это лента транспортера, по которой едет сельхозпродукция (ну еще может быть куски земли, всякая трава и ботва ). Задача - обнаружение постороннего предмета ( размером от 3х3 см) другого цвета. И захват его манипулятором.
Программные подсказки (рамки) по выявлению предметов - не предпполагаются. Оператор сам определит объект который надо убрать с ранспортера с помощью манипулятора (т.к. скорость движения ленты относительно камеры - крайне невысока).
Короче, задача обычная, классическая и даже банальная. И понятно, что существует куяа всяких суперпупер камер, с суперпупер защищенных корпусах. Но и по космической цене.
Это не подходит. Нужно именно какуюто массовую и недорогую камеру, ардуиносовместимую (желательно). Но и не обязетельно за 200 руб., можно и за 2000 руб.)))
Поскольку сейчас появляются всякие модели часто, а для меня задача новая, был бы признателен, если бы за рекомендацию какойнибудь подходящей модели камеры для вышеописанной задачи.
OrDer, Вы арифметикой владеете?
Берем стандартную камеру с разрешением 1920х1080 и 30 кадрами в секунду. Как там различать - по цвету? Значит, берем по 3 байта на пиксель.
А теперь подсчитываем (при помощи этой самой арифметики):
1. Какой объем памяти нужен для хранеия одного кадра.
2. Сколько тактов Ардуины при тактовой частоте 16 МГц приходится на обработку 1 байта.
3. Дераем выводы.
Офигеваем.
Берем камеру попроще: 640х480 при 30 кадрах в секунду, повторяем шаги 1-4.
Делаем окончательные выводы.
возможно, я не совсем корректно сформулировал вопрос, слишком общо. Но иначе было бы совсем общо. А если формулировать именно так ( общо) то сформулировал бы так:
не слыхал ли кто чего нового про всякие системы зрения для недорогих роботов? И передачи получаемого изображения по беспроводным каналам связи (с минимальной задержкой по реальному времени?). ( чтобы это давало возможность удаленно управлять манипуляторами робота кому угодно, кто находится чорти где).
Тут неважно, какми ступенями будут организованы каналы: отдельный канал для манипуляторов отдельный для видео. Или оди ни тотже. Или видео по вайфаю на базу а далее в сеть по джпрс. Или сразу от робота по джпрс.
IP-камеры, которых туева хуча, обладают и массой избыточных функций и по цене также вееесьма дороги. Примущесвенно заточены для наблюдения или даже голосового общения (имеют динамики, микрофоны и т.п.).
Также несущественно, будет ли сигнал видео идти и обрабатываться именно арудиной (может иметь и свой мозг и модуль передачи данных). А вот управляться камера хорошобы чтобы могла с арудины. ( чтобы все можно было в единую кучу увязать).
Вот в частности нарыл такой вариант ( судя по видео - недавно совсем ). Там в комментах тоже рекомендуют идити более простым путем (айпи камеры ит.д.):
https://www.youtube.com/watch?v=VUCWY4j_QHY
Но ведь эту плату (шилд ардуиновский) для чегото ктото выпускал? Следовательно, такие шилды всякие развиваются и должны развиться в решение, которое я и ищу. (а именно: несколько роботов с двумя (итого 4 пары - одни оператор другой супервайзер, контролирует качество работы оператора) парами глаз ездиют по площади, передавая картинку в сеть в онлайне. Удаленные операторы управляю клешнями этих роботов). Как там это сделать - каждый сразу в сеть или все сперва по вайфаю кудато на роутер а тот уже в сеть - это пофигу.
Задержка на передачу картинки по вайфаю от обычного андроид-смартфона на комп ( встроенная функция т.н. трансляция экрана) задержка по даташиту 0.5 сек. Это вполне приемлемо и для моей задачи.
Вот, к примеру, в более простом устройстве - роботе-пылесосе Neato фактически собран одноплатный компьютер на ARM. И даже он не имеет камеры на борту - только лидар. Т.е., как мне кажется, если вы ищете готовую платформу, то смотреть нужно, как минимум, на одноплатники с GPIO. Какая-то российская контора разрабатывала одноплатник, который они потом на р/у моделях использовали и он был с возможностью подключения камеры. Они даже вроде как через инет из другого города управляли такой машинкой. Названия только вот не помню этой конторы.
Быстрая оцифровка видео и передача - это специализированный процессор, наврядли он доступен в формате типа Arduino. А на широкодоступных компонентах у вас всё равно будет приличный лаг. Я с Raspberry+камера экспериментировал года 4 назад - задержки секундные, качество картинки говенное. Потому что софтовая обработка на CPU общего назначения.
Вот, к примеру, в более простом устройстве - роботе-пылесосе Neato фактически собран одноплатный компьютер на ARM. И даже он не имеет камеры на борту - только лидар. Т.е., как мне кажется, если вы ищете готовую платформу, то смотреть нужно, как минимум, на одноплатники с GPIO. Какая-то российская контора разрабатывала одноплатник, который они потом на р/у моделях использовали и он был с возможностью подключения камеры. Они даже вроде как через инет из другого города управляли такой машинкой. Названия только вот не помню этой конторы.
Быстрая оцифровка видео и передача - это специализированный процессор, наврядли он доступен в формате типа Arduino. А на широкодоступных компонентах у вас всё равно будет приличный лаг. Я с Raspberry+камера экспериментировал года 4 назад - задержки секундные, качество картинки говенное. Потому что софтовая обработка на CPU общего назначения.
понятно, что тут дело в большей степени именно в канале передачи данных. Сами камеры то вполне годные вроде. 4 года - достаточно большой срок в таких делах. Не думаю, что уже здесь и щас ктото может разработать нечто, что уже не внедряется сегодня в мировой промышленности. Это просто невозможно - и изза средств и изза элементной базы.
В принципе, такой самоцели по именно данному вопросу чтобы "шло через ардуину" конечно нет. Стрим каналы вполне норм. демонострируются ( понятно, что вопрос, какова длительность задержки) и с обычных пользовательнских смартфонов, ноутов и т.д.
В конце концов, подрубить плату с усеченной виндой (pos-пакет) и просто по принципу скайпа передавать видео - вполне тоже норм. и просто. Сейчас тут в этой именно затее - продемонстрировать простой и уже недорогой в реализации принцип, что любой пользователь может подрубиться к роботу и управлять им условно говоря, по скайпу.
как я вижу саму концепцию - некий гаджет передачи картинки в одну сторону (поскольку обратная связб только в виде управления манипулятором) и второй канал - просто по вайфаю или джпрс передает управляющие каналы на манипулятор робота. Для пользователя все сливается в единое целое.
вот это робот https://youtu.be/ZJLLhxU865Q
вот это робот https://youtu.be/ZJLLhxU865Q
))) ага))
но, серьезно говоря, те, что на видео - это штуковины в индии, где и так народу некуда девать. Да еще и в помещении. Т.е. скорее это для завлекалки и прикола. А у меня проще - хотелось бы смоделировать совершенно реальную концепцию и рабочий макет, который сверхвостребован и крайне необходим в ряде отраслей.
как я вижу саму концепцию - некий гаджет передачи картинки в одну сторону (поскольку обратная связб только в виде управления манипулятором) и второй канал - просто по вайфаю или джпрс передает управляющие каналы на манипулятор робота. Для пользователя все сливается в единое целое.
Да это понятно, но я себе с трудом представляю эффективность сортировщика радиоактивных картофелин, работающего с лагом в секунду и управляющим манипулятором по каналу с хрен знает какими ретрейнами. Тут вон в игровом автомате не всегда удается зайца из кучи механической рукой вытащить ))
Так же затрудняюсь вообразить, что у местных ардуинщиков есть выход на новомодные быстродействующие оцифровщики/передатчики, документацию разработчиков и ресурсы для создания драйверов под таковое железо. На алиэкспрессном олдшите наврядли можно собрать нормальный прототип, за который не стыдно. В распберри, в принципе можно задействовать некоторые ускорители кодирования с камеры, но нужна лицензия для активации и пр и др.
эффективность сортировщика, представьте себе, суперчумовая. Это просто способно целые отрасли поставить вверхтормашкаме и изменив спосбоы производства. Ведь главное - верная и реализуемая концепция.
Создать на базе давным давно созданных решений можно - но не хочу пока на это даже время тратить. Последние годы показывают, что все прекрасно работает без супердорогостоящих решений (проще выкинуть сломавшееся дешовое, чем безконца чинить супердорогое прецезионное оборудование). Практика показывает - прекрасные и коппешные решения плаг&плей по нескольку раз в неделю появляются именно для всяких ардуин т.д. (посткольку есть массовый рынок). А нужно массовое решение.
А вот найти походящее решение среди кучи постоянно появлющихся новых ( да еще и каждый сенсор\шилда итп - несколько производителей производит) - это самая сложная задача. Да еще и отзывы прочесть. Это лет 15 назад был подход - вот крупнейший мировой концерн, вот его продукция, вот офис, вот и выбирай. А щас - другие времена.
нащот сложности вытаскивания зайца механической рукой - тоже все относительно. Это от моторики зависит, во многом. Вот известное видео какраз про это:
https://www.youtube.com/watch?v=MaRfJEnVc1Y