Съдържание:
- Стъпка 1: Изградете своя Хокинг бот
- Стъпка 2:
- Стъпка 3: Направете свои собствени звукови фрагменти на Хокинг
- Стъпка 4: Съвети и трикове
- Стъпка 5: Предложени подобрения, актуализации и бъдещи идеи
Видео: Хокинг Бот: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Хокинг Ботът е проект на Lego MINDSTORMS EV3, вдъхновен от покойния Стивън Хокинг. Стивън Хокинг имаше добро чувство за хумор, така че съм сигурен, че би одобрил този проект. Ботът Хокинг може да се придвижва около препятствията и да реагира на движения, а след това изрича един от известните звуци на Стивън Хокинг и се движи в посока на движещия се обект. Той използва ултразвуковия сензор, който сканира околната среда с широко движение на главата.
Стъпка 1: Изградете своя Хокинг бот
Всички необходими части са в основния комплект EV3 Lego MINDSTORMS с изключение на ултразвуковия сензор (очите му), който трябва да се закупи отделно.
Стъпка 2:
Кодът за Hawking Bot е написан на python 3. Файл за стартиращо изображение, който да стартира python в Debian Linux среда на Hawking Bot, може да бъде изтеглен от уебсайта ev3dev. Кодът за стартиране на Hawking Bot може да бъде изтеглен от тук. Целият код се съдържа в файл на клас, така че можете да използвате съществуващите методи или дори да ги модифицирате, ако желаете.
Моля, гледайте това видео с подробни инструкции как да настроите Debian Linux и Python3 на вашия робот. Въпреки че това е специално за настройка на Mac, все пак ще бъде полезно да получите общо разбиране за процеса. Това е незавършена работа. Ултразвуковият сензор понякога е ненадежден и това изисква по -интелигентен код за откриване на „отклонения“. Бих искал да видя приноси от други, за да направим кода по-ефективен и по-малко податлив на грешки.
Стъпка 3: Направете свои собствени звукови фрагменти на Хокинг
Добре, сега искате да имате известни цитати или просто някои прости изказвания от професор Хокинг. Има много видеоклипове, където можете да го чуете да говори, а след това има негови лекции, които са съкровищница от мъдрост и полезни звукови хапки.
Имате нужда от програма като Audacity, която работи на много платформи, за да изберете и изрежете любимите си звукови фрагменти.
Запазете звуковия си запис като wav моно файл като SH6, SH7,… SH11, SH12 и така нататък.
По -долу ще намерите няколко мостри, които създадох съгласно горния метод.
Стъпка 4: Съвети и трикове
Bow Hawking идва с модул за самопроверка, за да се уверите, че всички кабели са свързани и захранването на батерията е достатъчно. Разхлабени, липсващи или дори повредени връзки могат да възникнат лесно. Така че този модул е много полезен. Методът „checkConnection“проверява само дали има електрическа връзка. Все пак трябва да се уверите, че двигателите са свързани към правилния порт.
Преместването на главата е от съществено значение, за да може Хокинг Ботът да сканира терена си и да намери най -дългия безпрепятствен път напред. Кабелите се нуждаят от достатъчно място за приспособяване на движенията на главата; затова е препоръчително да ги свържете, както е показано на снимката.
Ботът Хокинг работи най -добре при големи препятствия и върху равна и гладка повърхност. Килимите са по -предизвикателни за двигателите и може да се наложи да коригирате настройките, за да коригирате поведението на различните повърхности.
Ботът Хокинг в никакъв случай не е перфектен и това е прототип, който ще се възползва от по -нататъшни подобрения. Кодът е напълно коментиран и би трябвало да е лесно да разберете какво правят различните методи. Различни битове са коментирани с #, ако премахнете # пред „печат“, стартиращата програма ще ви покаже различните показания и изчисления на сензора.
Стъпка 5: Предложени подобрения, актуализации и бъдещи идеи
Сега, след като успешно сте построили вашия робот, искате да го изведете на следващото ниво. Можете да подобрите метода MotionDetector. В момента толкова често се получава погрешно четене. Можете да видите действителните показания, като декомментирате disA и disB (в долната част на блока с методи). Грешното четене обикновено се откроява от другите показания, така че можете да напишете алгоритъм, за да спрете робота да реагира на грешно четене.
Може би искате да поемете пълен контрол над робота и просто да управлявате дистанционно неговите различни функции. Можете да направите това чрез Bluetooth и да напишете програма за Android, за да комуникирате с робота. Много по -лесен подход обаче би бил да се намери място за инфрачервения сензор да поеме контрола над Хокинг Бот.
Какво ще кажете да накарате робота да научи за околната среда? Това може да бъде постигнато с подход k-най-близък съсед или евентуално невронна мрежа. Тухлата EV3 има ограничена процесорна мощност, въпреки че поддържа Numpy. Алтернатива би била BrickPi, която би ви позволила да стартирате AI библиотека като Tensorflow, но намерението на това ръководство беше да използвате комплекта Lego EV3 MINDSTORMS, без да е необходимо да купувате много скъпи допълнителни части, различни от ултразвуковия сензор.
Подходът на обучение за повторно информиране на k-най-близки съседи обаче трябва да работи върху EV3 тухла и това е предложеният алгоритъм. Оставям на вас да намерите работещо изпълнение или да забележите проблеми:
Укрепване обучение за Хокингс Бот
Идеята е, че 7 -те показания на USS са кодирани във вектор, а последните 10 главни замахвания се използват за създаване на последователен вектор от 70 записа. Първите показания са непълни, така че ще бъдат попълнени с нули. Всеки запис съдържа стойността на разстоянието от USS. Това е векторът на състоянието s. Системата позволява 1000 записа. След това най-старият запис ще бъде заменен и записите за възрастта за всяка s-r двойка ще бъдат намалени с един.
Ботът не трябва да се доближава повече от 10 см до обект. Това създава отрицателна награда. За простота; добрите действия се възнаграждават с 1, а лошите с 0. На практика това създава вероятност за наградата за всяка комбинация от състояние на действие. Ще използваме намалени награди и алчна политика на epsilon.
Това създава 3 големи таблици за състоянието –reward (s-r) за трите действия надясно, право напред и наляво-може да е възможно да има бързи и бавни скорости за всяко действие. Тогава щяхме да имаме 6 действия и 6 справочни s-r таблици.
Всеки път, когато се записва ново състояние s, то се сравнява с таблиците, евклидово разстояние (или подобна мярка) се използва за намиране на най -близкия съсед. Това няма да бъде класирано, а по -скоро е зададен праг t за приемане на състоянието като много подобно, презаписване на съществуващото състояние и актуализиране за най -висока награда и извършване на свързаното действие a. Ако не е подобно (d> t), въведете нова s-r двойка за всяко действие a. Ако има връзка между действията за за s-r (всички те имат една и съща награда) изберете на случаен принцип, но това не е често срещано и може да бъде пропуснато.
t ще трябва да бъде определено експериментално, ако t е твърде малко, подобни състояния ще бъдат игнорирани и всяко състояние се разглежда като уникално. Твърде големият t означава, че дори доста различни състояния се обединяват, което може да повлияе на способността да се избират добри действия. Възможно е да се използват статистически методи за определяне на най -добрия t.
Таблицата изглежда така: Вход No - Вектор на състоянието - награда за действие 1 - награда за действие 2 - награда за действие 3.
Предполагам, че действителната реализация ще бъде трудна, но трябва да си струва усилията. Късмет!
Препоръчано:
Telegram бот с NodeMCU (ESP8266): 3 стъпки
Telegram бот с NodeMCU (ESP8266): Нуждаете се от бот, който да дава известия от вашата система? или направете нещо само като изпратите съобщение? Telegram Bot е вашето решение! В този урок ще използвам Telegram Web и BotFather, за да направя моя бот
T2 - Чаеният бот - Лесно приготвяне на чай: 4 стъпки
T2 - Чайният бот - Лесно приготвяне на чай: Чайният бот е направен, за да помогне на потребителя да свари своя чай до препоръчаното време за приготвяне. Една от целите на дизайна беше да го поддържа прост. ESP8266 е програмиран с уеб сървър за управление на серво мотор. Уеб сървърът ESP8266 е мобилен и
Как да добавите интерактивен бот в разлад: 6 стъпки
Как да добавите интерактивен бот в Discord: В този урок ще покажа как да си направим собствен интерактивен бот, който работи с няколко командоси. Discord е приложение за социални медии за Skype/Whats-app, което обединява геймърите. Те могат да имат собствен канал, проверете коя игра всеки член пла
Изградете компютърния интерфейс на Стивън Хокинг само за Rs.1000 (15 $) с помощта на Arduino: 5 стъпки
Изградете компютърния интерфейс на Стивън Хокинг само за Rs.1000 (15 $) Използване на Arduino: Всичко започна с въпроса „Как говори Стивън Хокинг?“, След като прочетох за компютърната му система, ми хрумна, че трябва да осигуря по -евтин версия на системата, без да компрометирате твърде много функции. Това устройство
Бот за чертане на вграден боклук - Моят бот: 13 стъпки (със снимки)
Trash Built BT Line Drawing Bot - My Bot: Хай приятели след дълга пауза около 6 месеца тук идвам с нов проект. До завършването на Cute Drawing Buddy V1, SCARA Robot - Arduino и планирам друг бот за рисуване, основната цел е да покрие голямо пространство за рисуване. Така фиксирани роботизирани ръце c