Съдържание:
- Консумативи
- Стъпка 1: Монтаж на Rover
- Стъпка 2: Raspbian
- Стъпка 3: OpenVino
- Стъпка 4: Изтеглете кода
- Стъпка 5: FollowMe (Python)
- Стъпка 6: Изтеглете моделите
- Стъпка 7: Arduino
- Стъпка 8: GUI
- Стъпка 9: Обслужване
- Стъпка 10: Това е! Забавлявай се
Видео: MyPetBot (Бот, който ви следва): 10 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Ai е едно от най -красивите приложения на математиката. По същество това са куп матрични операции, оптимизирани да отговарят на търсения от вас резултат. За щастие има много инструменти с отворен код, които ни позволяват да го използваме.
Първоначално имах идеята отдавна, когато работех върху водопад, деактивиран от преминаващите хора. Използвах ултразвукови сензори и твърде късно открих, че не работят много, когато са мокри … Това не беше забавно преживяване. В крайна сметка използвахме голям бутон, който хората щяха да натиснат, ако искат да преминат. Оказа се добре, защото беше горещо и хората обичаха да се намокрят, но проблемът остана в главата ми … Как да открия хората и да активирам реакция.
Разказвам тази история, защото искам да отбележа, че този принцип може да се използва за много други приложения! Следването на лицето ви с играчка е само едно от тях. За интерактивни инсталации можете да правите всякакви неща. Можете да използвате модел, за да откриете дали лицето се усмихва. Можете да преброите броя на кучетата в парка. Можете да затворите щорите си, когато хората минават. Или … направете контролер за вашата база nintendo според позицията на тялото ви …. Можете да изтеглите много други модели Ai, които правят всякакви неща.
Има няколко урока как да накарате Ai извода да работи с малиново пи. Тук съм, за да ви науча как да направите интегрирането на дупката в самостоятелно работещо устройство. Веднага щом роботът ви стартира, той ще стартира необходимите програми.
Консумативи
- Робот Parallax: Избрах този робот, защото го имах да лежи наоколо, но всеки робот, който може да се управлява с arduino, ще свърши работа.
- Малиново пи: Препоръчвам поне малиновото пи 3В+.
- Intel Neural Stick: Скоростта на изводите варира от един на секунда до 8. Наистина имате нужда от такъв, ако искате да направите Ai в малиново пи.
- Power Bank: Най -лесният начин за управление на захранването. Работи с малиново pi 3B+, може да искате да проверите дали работи с pi 4.
- Пикамера: Обичам да използвам пикамера вместо USB.
Стъпка 1: Монтаж на Rover
Смисълът на урока е главно за софтуера, така че не искам да навлизам много в детайлите на ровъра. Той работи с този робот, но може да работи наистина с всеки друг хардуер. Дори не трябва да е за роувър, можете да го използвате за камера със сензор за движение.
- Намерете си превозно средство, управлявано от Arduino.
- Плътно увийте захранваща банка към него.
- Плътно увийте малиново пи към него.
- Залепете пикамерата с лек ъгъл към върха.
- Свържете всичко заедно.
- Вола!
Стъпка 2: Raspbian
Използвам малинов пи, но няма причина да не използвам друг Linux … до вас. Бих могъл да пусна изображение за включване и възпроизвеждане за изгаряне на sd карта, ще стигна до нея, ако се интересуват достатъчно хора.
Инсталиране на Raspbian: Можете да инсталирате Raspbian Buster Lite. Няма да използваме работния плот … Само връзката ssh Secure Shell.
Свържете се с вашия Pi: Първо можете да се свържете с вашия малинов pi с Ethernet връзка
Задайте своя wifi: Сега можете да конфигурирате вашата безжична връзка
Стъпка 3: OpenVino
OpenVino е страхотна библиотека, поддържана от Intel. Те свършиха чудесна работа при съставянето на примерни модели и направиха повечето ai framework съвместими. Имате нужда от тази библиотека за Intel Neural Stick.
Инсталиране на Python3: Трябва да инсталирате python 3.
Инсталиране на OpenVino: След като това стане, ще виждате ред „[setupvars.sh] OpenVINO среда инициализирана“всеки път, когато се свързвате с малиновото пи.
OpenVino е разширение на opencv. За да го тествате, можете да стартирате python3 и да импортирате cv2.
въведете в черупката:
python3
въведете в python:
- импортиране на cv2
- cv2._ версия_
Последният ред трябва да връща „4.1.2-openvino“или всяка друга версия на openvino. ако ако казва opencv, инсталацията ви не работи …
Стъпка 4: Изтеглете кода
Първо инсталираме git. Въведете в черупката:
sudo apt-get install git
След това можем да преминем към папката Documents и да изтеглим кода:
- cd ~/Документи/
- git clone
Стъпка 5: FollowMe (Python)
Това е частта, с която искате да играете. Направи, ако те последва! Накарайте го да се страхува от вас! Следвайте кучето си! Накарайте го да разпознава израженията на лицето !! Преследвайте котката си !!! Всичко, което искате.
Ще намерите четири основни папки: Arduino, Deployment, Player и FollowMe:
Arduino: Повече за това в следващия раздел
Разгръщане: Тук поставям потребителския интерфейс. Точно сега кодирах обикновен бутон за стартиране/спиране и малък зрител на камера с контрол, просто забавление с козина.
Плейър: Предназначен за използване на вашия настолен компютър. За преглед на изхода на бота!
FollowMe: Модулът, който прави истинското забавление
Ще поставя повече подробности за github, така че да има само едно място за актуализиране. Това е мястото за кода
Стъпка 6: Изтеглете моделите
Моделите за изводи не са включени в кода, тъй като са доста големи. Но можете да намерите много примери, използващи OpenVino модел Zoo
Можете да използвате програмата за изтегляне на модели или директно да хвърлите тази връзка. В моя случай не можах да използвам модела за изтегляне от моята малинова пи инсталация …
След това копирайте модела в папка с име Модели с:
- cd ~/Documents/FollowMe
- Модели mkdir
- cd модели
- wget
- wget
Винаги се нуждаете от.xml и.bin.
Можете да изтеглите всеки модел, който искате … Но ще трябва да промените кода. Забавлявай се!
Стъпка 7: Arduino
Трябва да изтеглим кода на предишната стъпка. Кодът за arduino е в него!
Кодът е предназначен за задвижване на две непрекъснати сервомотора, ако сте избрали различна конфигурация, трябва да промените кода.
По принцип прави две неща. Той комуникира с компютъра и активира сервомоторите с избраната скорост.
Бих могъл да ни изпрати продукцията на малиновото пи директно за управление на двигателите … но arduino работят по -добре (Те имат истински честотен генератор). Също така исках да разтоваря малиновото пи колкото е възможно повече, за да направя извода по -бърз.
Стъпка 8: GUI
Нищо фантастично … Все пак. Мога да добавя някои други неща като изглед на живо или контроли за движение. Междувременно простото стартиране и спиране ще свърши работа.
Ако искате да го тествате, трябва да го стартирате от директорията FollowMe Level и след това да го извикате от python3:
- cd ~/Documents/FollowMe
- python3 Deployment/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 стартирайте FollowMe
Можете също да използвате командите стоп, активиране и деактивиране. Последните две са за постоянна промяна на състоянието.
Малко обяснение ….
Openvino се нуждае от някои допълнителни пътища в системните променливи, за да работи. За съжаление нормалната инсталация няма да работи като услуга. Така че имате нужда от този файл, за да зададете променливите.
Забележете, че моята инсталация е за python 3.7, следователно има променлива, която може да се наложи да коригирате … Успех!
Този файл препраща към скрипта на python в абсолютния път:
/home/pi/Documents/FollowMe/Deployment/FollowMe.py
Стъпка 10: Това е! Забавлявай се
Коментари? винаги си добре дошъл
Препоръчано:
Renegade-i (програмируем IC тестер, който се чувства като истинското нещо): 3 стъпки (със снимки)
Renegade-i (Програмируем IC тестер, който се чувства като истинското нещо): МИЛИОНЪТНИ ДОЛАРНИ МЕЧТИ Мечтали ли сте някога да имате свой собствен IC тестер у дома? Не просто притурка, която може да тества IC, но и „програмируема“машина, която се чувства като един от водещите продукти на най -големите играчи в индустрията за полу -тестове, успех
Лице, което следва количката: 8 стъпки
Човек, който следва количката: Роботите получават все повече внимание в много индустрии всеки ден. От днес роботите поемат повечето тривиални задачи, където някога е било необходимо човешко внимание. Нека започнем с една проста - Бот, който ви следва, докато вървите
Raspberry Pi NAS, който наистина прилича на NAS: 13 стъпки (със снимки)
Raspberry Pi NAS, който наистина прилича на NAS: Защо Raspberry Pi NAS Е, аз търся красив, но спестяващ пространство Raspberry Pi NAS от интернет и не открих нищо. Открих, че някакъв NAS дизайн с Raspberry Pi е залепен за дървена основа, но това не е това, което искам. Аз искам
АНТИДИСТРАКЦИЯ: държачът за смартфон, който ви помага да се фокусирате: 7 стъпки (със снимки)
ANTiDISTRACTION: държачът за смартфон, който ви помага да се фокусирате: Нашето устройство ANTiDISTRACTION е насочено към прекратяване на всички форми на клетъчно разсейване по време на периоди на интензивен фокус. Машината действа като станция за зареждане, върху която е монтирано мобилно устройство, за да се улесни околната среда без разсейване
Бот за чертане на вграден боклук - Моят бот: 13 стъпки (със снимки)
Trash Built BT Line Drawing Bot - My Bot: Хай приятели след дълга пауза около 6 месеца тук идвам с нов проект. До завършването на Cute Drawing Buddy V1, SCARA Robot - Arduino и планирам друг бот за рисуване, основната цел е да покрие голямо пространство за рисуване. Така фиксирани роботизирани ръце c