Using webcam control system of a KasperskyOS robot
Konstantin Tsaturyan
The project is one of the winners of the MAI hackathon in 2022
1. Project goal
- Implement remote connection work with the control program over TCP protocol in one local environment
- Implement the functionality with engine control via GPIO ports
- Implement the functionality of recognizing the robot and its targets
- Create an algorithm for controlling the robot through an external camera
- Precise move along predefined path (rectangle)
- Use Case:
AlphaBot should follow predefined path (path consists of several line segments) and stop after that.
2. Project results
System architecture
Server folder — image recognition and bot control server implementation
Client folder — KasperskyOS based AlphaBot control program implementation
Repository structure:
Recognition and control software
- Software repository is https://github. com/fanglores/KasperskyOS_Robot/tree/main/source_files/linux_server. It uses Linux, python, opencv and provides following features:
- Finding contrasting stickers — implemented (selection of bias labels)
- Determination of 2D sticker coordinates — implemented (homography)
- Entering a route — not implemented
- Formation of control commands for driving AlphaBot along the route — not implemented
- Transfer of commands from the management server to AlphaBot via TCP — implemented
- The program of control and recognition using a neural network (https://github.com/fanglores/KasperskyOS_Robot/tree/main/source_files/server_GUI) uses OpenCV 4.6, Tensorflow-CPU 2.9.1, Socket, Numpy, Sympy, Pydantic, Flask 2.0. This program provides:
- AlphaBot recognition — implemented (neural network)
- Finding contrasting stickers — implemented (neural network)
- Definition of 2D coordinates of stickers — implemented (homography)
- Entering a route — implemented
- Formation of control commands for driving AlphaBot along the route — implemented
- Transfer of commands from the management server to AlphaBot via TCP — not tested
- Debugging and integration testing — not implemented
- Alphabot management program for Raspbery PI 4 (https://github. com/fanglores/KasperskyOS_Robot/tree/main/source_files/KasperskyOS_client) uses KasperskyOS, C++. This program provides
- Issuing control commands (forward, backward, stop, left, right) to AlphaBot motors by GPIO — implemented (implemented PWM functional for motor control)
- Driving along a given route (rectangle) — implemented
- Receiving commands over the network — not tested
- Debugging and integration testing — not implemented
3. Solution operability checking
- Problems in the project
- Tasks involving GPIO and network sharing in Kaspersky are not debugged. Caused by errors when writing PSL policies.
- Travel along a given fixed route (rectangle) — completed
- Driving along the route by commands from the recognition server — not completed
4. Supplementary project information
- В рамках XLVIII Международной молодежной научной конференции «Гагаринские чтения — 2022» (https://gagarin. mai.ru/files/2022/abstracts2022.pdf) Цатурьян К. А. (автор проекта), Тимошенко А. В., Кострицына А. И. сделали доклад «Разработка прототипа системы управления автономным роботом на базе KasperskyOS», который занял 2-е место в секции «Робототехника» и вошел в сборник тезисов работ конференции: XLVIII Гагаринские чтения 2022. — М.: Издательство «Перо», 2022. — Мб. [Электронное издание]. ISBN 978-5-00204-326-2
Материалы
Using webcam control system of a KasperskyOS robot (GitHub)
Форум технической поддержки Напишите экспертам форума, если у вас есть вопросы по разработке c KasperskyOS CE. Также будем рады идеям и предложениям о новых возможностях, которые вы хотели бы видеть в дистрибутиве Перейти в форум
Развитие ОС сообществом Проголосуйте за фичи KasperskyOS CE, которые должны быть реализованы в первую очередь, или предложите свои идеи по развитию ОС. За самые полезные предложения и комментарии награждаем подарками! Голосовать
FAQ Отвечаем на самые популярные вопросы о KasperskyOS и решениях на ее основе Найти ответ в FAQ
Новая программа от Canon EOS Webcam Utility поможет использовать фотокамеры у качестве вебки
2020-05-0101. 05.2020 / Константин Биржаков
Твитнуть
В последнее время особую популярность получило общение онлайн, причём это связано не только с набившим оскомину сидением дома весной 2020 года, но и в целом с развитием потокового видео и различных сервисов для онлайн-общения. Проводятся видеоконференции, видеоуроки и вебинары, даже онлайн-концерты роковых коллективов, что уже говорить про столь популярные у блогеров стримы – сегодня не стримит, наверное, лишь ленивый или те, кому не получалось использовать для этого свои камеры. И если с борьбе с ленью сегодняшняя новость поможет вряд ли, то использовать камеру Canon в качестве веб-камеры или камеры для стримов теперь станет намного проще.
Использовать для стримов камеру, у которой есть выход HDMI, можно было и до выпуска EOS Webcam Utility, однако для этого требуются приспособления, которые позволяют передавать сигнал HDMI через интерфейс USB в компьютер и далее в программу стриминга, например, OBS. Мы недавно писали про такой микшер HDMI, он сегодня очень популярен для потоковых трансляций и, по сути, является единственным доступным вариантом для небольших творческих коллективов, в случае, если им необходимо транслировать видео Full HD с нескольких камер.
Для тех случаев, когда одной камеры достаточно, Canon выпустила программу EOS Webcam Utility, она на сегодняшний день находится в статусе Beta, однако её можно скачать с сайта производителя и попробовать в деле. Подключение работает через интерфейс USB и работать программа будет пока только в среде 64-битной Windows 10. Поддерживаются не только зеркалки и беззеркалки, но и некоторые модели компактных камер. Приведём перечень всех поддерживаемых камер Canon:
Совместимые камеры с EOS Webcam Utility
- EOS-1D X Mark III
- EOS-1D X Mark II
- EOS 5DS R
- EOS 5DS
- EOS 5D Mark IV
- EOS R
- EOS 6D Mark II
- EOS RP
- EOS 7D Mark II
- EOS 90D
- EOS 80D
- EOS 77D
- EOS Rebel T7i
- EOS Rebel T6i
- EOS Rebel T7
- EOS Rebel T6
- EOS Rebel SL3
- EOS Rebel SL2
- EOS Rebel T100
- EOS M6 Mark II
- EOS M50
- EOS M200
- PowerShot G5X Mark II
- PowerShot G7X Mark III
- PowerShot SX70 HS
Загрузка программы EOS Webcam Utility Beta по задумке разработчиков должна выполняться со страницы поддержки каждой конкретной совместимой камеры на веб-сайте Canon. В русскоязычной версии сайта, к сожалению, такая программа на день работы над данным обзором не представлена. Загрузить программу можно пока только с американского сайта Canon. Там нужно выбрать свою камеру и скачать программу. Canon предупреждает, что это всего лишь бета-версия программы и просит не судить программистов строго, если что-то будет глючить (а оно будет).
Следует учесть, что чудес Full HD видео ждать от программы не стоит. Так как данные передаются через медленный интерфейс USB, возможно будет передать картинку только в разрешении 1024×576. Однако для многих случаев красивая качественная картинка в более низком разрешении предпочтительнее, нежели шумное Full HD изображение с веб-камеры. Для передачи Full HD следует использовать быстрый интерфейс HDMI и указанные выше микшеры или конвертеры.
Немного практики
Так как обе мои боевые камеры – EOS 6D Mark II и EOS M50 – значатся в перечне поддерживаемых, я решил протестировал работу программы в связке с OBS и пришёл к следующим выводам:
- Камера EOS M50 работать отказалась наотрез.
- Камера EOS 6D Mark II заработала сразу без плясок с бубном.
- Драйвер все равно для какой камеры загружать, установщик одинаковый.
- Разрешение будет только 1024×576.
- OBS очень сильно глючит и виснет при попытке изменить настройки. Рабочим такой вариант пока назвать затруднительно.
- Скайп не видит никакую камеру.
- Изучая форум на американском сайте Canon, можно легко понять, что у 99% пользователей возникают какие-то проблемы.
- Пользователям очень не хватает версии для MacOS, многие её очень ждут. Хотя какая там MacOS, тут под Win ничего не работает толком.
- Программа EOS Webcam Utility Beta может работать в фоновом режиме, ее можно закрыть.
- Аудио с камеры передаваться не будет.
Общий вывод можно сделать такой – задумка в теории полезная и перспективная, однако на практике всё ещё очень сырое, и будет ли такая схема кому-то в результате полезна, сказать очень сложно.
Попытка подключить камеру 6D Mark II в качестве веб-камеры в среде OBS
Теги: константин биржаков, canon, приложение, новости, видео
Автор статей о фототехнике и программном обеспечении для обработки фото. Создатель сайта о путешествиях с фотокамерой, увлекается репортажами из путешествий.
Твитнуть
Обнаружение границы веб-камеры и рисование линии границы — Grasshopper
mengxihex (прецитонколлектив) 1
Привет,
У меня есть вопрос об использовании обработки зрения/изображения в кузнечике.
Я хочу физически нарисовать линию на кубе. Затем в кузнечике я хочу использовать веб-камеру, чтобы сфотографировать этот куб. Затем я хочу обработать это изображение, чтобы контур куба и линия, которую я рисую, были кривыми носорога.
Как мне этого добиться? Я знаю, что могу использовать Firefly для использования камеры и т. Д., И я могу нарисовать линию в Rhino, но как я могу определить край физического куба с помощью веб-камеры и нарисовать граничную кривую?
Спасибо за ответы!
чжуанцзя777 (Чжуанцзя777) 2
Нужен какой-то алгоритм искусственного интеллекта.
ДэниелПикер (Дэниел Пайкер) 3
Если у вас есть что-то вроде черного куба на равномерно освещенном белом фоне, вы можете сделать это и взять контур, чтобы получить контур.
Для более сложного обнаружения краев, когда это не просто силуэт, хотя я думаю, вы, вероятно, захотите использовать какую-нибудь библиотеку обработки изображений. В Rhino есть Vectorize, а в Grasshopper есть Rooster, хотя я не знаю, будет ли он достаточно быстрым для использования с подачей в реальном времени.
3 лайков
zhuangjia777 (Чжуанцзя777) 4
OpenCV может выполнять обнаружение в реальном времени.
мэнсигекс (прецитонколлектив) 6
Спасибо за ваши ответы, если я получил границу с помощью opencv, как я могу вывести ее в виде кривой носорога?
чжуанцзя777 (Чжуанцзя777) 7
opencv получает очки, а затем вы отправляете их носорогу, вам нужно немного кодировать в кузнечике, используя прыжки.
Я хотел использовать свою веб-камеру в A | Форум
Часто задаваемые вопросы Создание контента Композитор Запись видео Потоковое
Назад к сообщениям
Если ваша веб-камера идентифицирована Aximmetry и запущена в работу, но в предварительном просмотре отображается сообщение «НЕТ ВХОДА», мы рекомендуем вам проверить несколько вещей.
Убедитесь, что
— веб-камера работает, проверив ее другим программным обеспечением.
— в настройках Windows 10 в настройках Конфиденциальность камеры вы переключаете « Разрешить настольным приложениям доступ к вашей камере » на .
— нет других приложений использующих веб-камеру (одновременно только одно программное обеспечение может использовать веб-камеру). *
— вы устанавливаете свойство Mode в Aximmetry.
* Обратите внимание, что в некоторых случаях, например на ноутбуках (например, MSI System Control Manager), скрытые приложения, работающие в фоновом режиме, могут использовать вашу веб-камеру, что может вызвать эту проблему.
Аксиметрия
Произошла ошибка при загрузке, повторите попытку.
Согласие на использование файлов cookie
Наш веб-сайт использует файлы cookie, чтобы предоставить вам лучший опыт работы в Интернете, а также мы используем другие технологии для улучшения и анализировать трафик нашего веб-сайта, а также понимать, откуда приходят наши посетители.
Строго необходимые файлы cookie
Аналитические файлы cookie (рекомендуется) ДетальОбязательные файлы cookie
Файлы cookie, необходимые для правильного функционирования сайта.