Оглавление:
- Запасы
- Шаг 1: Сборка ровера
- Шаг 2: Распбиан
- Шаг 3: OpenVino
- Шаг 4. Загрузите код
- Шаг 5: FollowMe (Python)
- Шаг 6: Загрузите модели
- Шаг 7: Arduino
- Шаг 8: графический интерфейс
- Шаг 9: Сервис
- Шаг 10: вот и все! Повеселись
Видео: MyPetBot (бот, который следует за вами): 10 шагов (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:49
Ai - одно из самых красивых приложений математики. По сути, это набор операций с матрицами, оптимизированных для соответствия желаемому результату. К счастью, существует множество инструментов с открытым исходным кодом, которые позволяют нам его использовать.
Идея у меня возникла давно, когда я работал над водопадом, который отключили проходящие мимо люди. Я использовал ультразвуковые датчики и слишком поздно обнаружил, что они плохо работают, когда они влажные … Это было не очень весело. В итоге мы использовали большую кнопку, которую люди нажимали, если хотели пройти. Получилось хорошо, потому что было жарко и люди любили промокнуть, но проблема оставалась в моей голове… Как распознать людей и активировать реакцию.
Я рассказываю эту историю, потому что хочу отметить, что этот принцип можно использовать для множества других приложений! Следить за лицом с игрушкой - только одна из них. Для интерактивных инсталляций вы можете делать что угодно. Вы можете использовать модель, чтобы определить, улыбается ли лицо. Можно посчитать количество собак в парке. Вы можете закрыть жалюзи, когда мимо проходят люди. Или… сделайте контроллер для своей базы Nintendo по положению вашего тела…. Вы можете загрузить множество других моделей Ai, которые могут выполнять любые задачи.
Есть несколько руководств о том, как заставить Ai-вывод работать с Raspberry Pi. Я здесь, чтобы научить вас, как интегрировать отверстие в самодействующую единицу. Как только ваш робот загрузится, он запустит необходимые программы.
Запасы
- Параллакс-робот: я выбрал этого робота, потому что он у меня лежал, но любой робот, которым можно управлять с помощью Arduino, сделает свою работу.
- Raspberry pi: я рекомендую хотя бы raspberry pi 3B +.
- Intel Neural Stick: скорость вывода варьируется от одной до восьми в секунду. Вам действительно нужен один, если вы хотите использовать Ai в Raspberry Pi.
- Power Bank: самый простой способ управлять питанием. Работает с raspberry pi 3B +, вы можете проверить, работает ли он с pi 4.
- Picamera: Мне нравится использовать Picamera вместо USB.
Шаг 1: Сборка ровера
Основное внимание в руководстве уделяется программному обеспечению, поэтому я не хочу вдаваться в подробности о вездеходе. Он работает с этим роботом, но он действительно может работать с любым другим оборудованием. Это даже не обязательно для вездехода, вы можете использовать это для камеры с датчиком движения.
- Найдите себе автомобиль, управляемый Arduino.
- Плотно оберните к нему пауэрбанк.
- Плотно заверните в него малиновый пи.
- Приклейте пикамеру с небольшим углом к верху.
- Соедините все вместе.
- Вуаля!
Шаг 2: Распбиан
Я использую Raspberry Pi, но нет причин не использовать другой Linux… на ваше усмотрение. Я мог бы выпустить образ plug and play для записи SD-карты, я доберусь до него, если достаточно людей будет заинтересовано.
Установите Raspbian: вы можете установить Raspbian Buster Lite. Мы не собираемся использовать рабочий стол … Только соединение ssh Secure Shell.
Подключитесь к вашему Pi: сначала вы можете подключиться к своему raspberry pi с помощью соединения Ethernet.
Настройте свой Wi-Fi: теперь вы можете настроить беспроводное соединение.
Шаг 3: OpenVino
OpenVino - отличная библиотека, поддерживаемая Intel. Они проделали огромную работу по компиляции примеров моделей и сделали большую часть ИИ-фреймворка совместимой. Вам понадобится эта библиотека для Intel Neural Stick.
Установка Python3: Вам необходимо установить python 3.
Установка OpenVino: как только это будет сделано, вы будете видеть строку «[setupvars.sh] OpenVINO environment initialized» каждый раз, когда вы подключаетесь к raspberry pi.
OpenVino - это расширение opencv. Чтобы проверить это, вы можете запустить python3 и импортировать cv2.
введите в оболочку:
python3
введите в python:
- импорт cv2
- cv2._ version_
Последняя строка должна возвращать «4.1.2-openvino» или любую версию openvino. если if говорит opencv, ваша установка не сработала …
Шаг 4. Загрузите код
Сначала мы устанавливаем git. Введите в оболочку:
sudo apt-get install git
Затем мы можем перейти в папку Documents и загрузить код:
- cd ~ / Documents /
- git clone
Шаг 5: FollowMe (Python)
Это та часть, с которой вы хотите поиграть. Сделайте, если будете следовать за вами! Сделай так, чтобы он тебя испугался! Следуй за своей собакой! Заставьте его распознавать выражения лиц !! Приставать к кошке !!! Все, что вы хотите.
Вы найдете четыре основных папки: Arduino, Deployment, Player и FollowMe:
Arduino: подробнее в следующем разделе
Развертывание: здесь я разместил пользовательский интерфейс. Прямо сейчас я закодировал простую кнопку запуска / остановки и небольшую программу просмотра камеры с управлением, просто забавно.
Player: предназначен для использования на вашем настольном ПК. За просмотр вывода бота!
FollowMe: модуль, который действительно развлекает
Я размещу более подробную информацию на github, чтобы было только одно место для обновления. Это место для кода
Шаг 6: Загрузите модели
Модели для вывода не включены в код, так как они довольно большие. Но вы можете найти множество примеров, используя модель OpenVino Zoo.
Вы можете использовать загрузчик модели или перейти прямо по этой ссылке. В моем случае я не мог использовать загрузчик модели из моей установки raspberry pi …
Затем скопируйте модель в папку с именем Models с:
- cd ~ / Documents / FollowMe
- mkdir Модели
- cd модели
- wget
- wget
Вам всегда нужны файлы.xml и.bin.
Вы можете скачать любую модель, какую захотите … Но вам придется изменить код. Повеселись!
Шаг 7: Arduino
Нам нужно загрузить код на предыдущем шаге. В нем код для ардуино!
Код предназначен для управления двумя непрерывными сервоприводами, если вы выбрали другую конфигурацию, вам придется изменить код.
В основном он делает две вещи. Он связывается с компьютером и активирует сервоприводы с выбранной скоростью.
Я мог бы использовать выход Raspberry Pi напрямую для управления двигателями … но Arduinos работают лучше (у них есть настоящий генератор частоты). Кроме того, я хотел как можно больше разгрузить Raspberry Pi, чтобы сделать вывод быстрее.
Шаг 8: графический интерфейс
Ничего особенного… Пока. Я мог бы добавить кое-что еще, например, просмотр в реальном времени или элементы управления движением. Но пока что простой запуск и остановка сделают свое дело.
Если вы хотите протестировать его, вам нужно запустить его из каталога FollowMe Level, а затем вызвать его из python3:
- cd ~ / Documents / FollowMe
- Развертывание python3 / FollowMe.py
Затем вы можете получить доступ к интерфейсу в своем браузере, набрав:
192.168.0.113:8000
конечно с правильным IP-адресом.
Также есть средство просмотра видео с элементами управления… но не с рабочим выводом.
Развертывание python3 / StreamVideo.py
Шаг 9: Сервис
Это то, что заставляет Rover работать сам по себе. Служба - это программа, работающая в фоновом режиме компьютера без участия пользователя. Убедитесь, что ВСЕ ВАШИ ПУТИ являются абсолютными и что у вас есть правильные права, если вы используете какие-либо файлы, и служба будет работать нормально.
Чтобы запустить скрипт python как службу, вам необходимо сослаться на скрипт в служебном файле. Сервисный файл находится в коде, загруженном с git, в папке Deployment. Имя - FollowMe.service.
Чтобы скопировать его, введите в оболочке следующее:
sudo cp ~ / Documents / FollowMe / Deployment / FollowMe.service / etc / systemd / system /
При первом копировании файла необходимо обновить systemctl… или перезагрузить компьютер:
sudo systemctl демон-перезагрузка
И для начала:
sudo systemctl start FollowMe
Вы также можете использовать команды остановки, включения и отключения. Последние два предназначены для постоянного изменения состояния.
Небольшое объяснение….
Для работы Openvino нужны дополнительные пути в системных переменных. К сожалению, обычная установка не работает как услуга. Итак, вам нужен этот файл для установки переменных.
Обратите внимание, что моя установка предназначена для python 3.7, поэтому есть переменная, которую вам может потребоваться настроить … Удачи!
Этот файл ссылается на скрипт python по абсолютному пути:
/home/pi/Documents/FollowMe/Deployment/FollowMe.py
Шаг 10: вот и все! Повеселись
Комментарии? всегда пожалуйста
Рекомендуемые:
Щ.И.Т. - Кто-то наблюдает за вами ?: 4 шага (с картинками)
Щ.И.Т. - Кто-то наблюдает за тобой ?: Я видел много видео, на которых смущенные люди не замечали, что их микрофон или камера включены, и это натолкнуло меня на идею этого проекта. Я написал простое приложение на C #, которое определяет, когда камера или микрофон используются
АНТИДИСТРАКЦИЯ: держатель для смартфона, который помогает сосредоточиться: 7 шагов (с изображениями)
АНТИДИСТРАКЦИЯ: держатель для смартфона, который помогает сосредоточиться: наше устройство АНТИДИСТРАКЦИЯ предназначено для устранения всех форм клеточного отвлечения в периоды интенсивного сосредоточения. Машина действует как зарядная станция, на которой устанавливается мобильное устройство, чтобы не отвлекать внимание
EasyTalk: удобное общение и календарь рядом с вами: 6 шагов
EasyTalk: Простое общение и календарь рядом с вами: Меня зовут Коби Маршал, я учусь в Ховесте, Бельгия, и я студент, специализирующийся на мультимедийных и коммуникационных технологиях (MCT). Для моего последнего задания в первый год мне пришлось сделать IoT-устройство. Дома у нас есть проблема, что мой брат всегда играет
Желтые точки тайны: ваш принтер шпионит за вами?: 5 шагов (с картинками)
Желтые точки тайны: ваш принтер шпионит за вами? Представьте, что каждый раз, когда вы печатаете документ, он автоматически включает секретный код, который можно использовать для идентификации принтера и, возможно, человека, который его использовал. Звучит как что-то из шпионского фильма, правда? К сожалению, сценарий
Потрясающие механизмы, управляемые потрясающими кнопками (продолжение следует): 9 шагов
Потрясающие механизмы, управляемые потрясающими кнопками (продолжение следует): физический / электронный игровой дизайн для UCLA Design Media Arts с Эддо Стерном. Это руководство является неполным. Проект все еще продолжается