Sadržaj:
- Korak 1: Izgradite svog Hawking Bota
- Korak 2:
- Korak 3: Napravite vlastite Hawkingove zvučne udjele
- Korak 4: Savjeti i trikovi
- Korak 5: Predložena poboljšanja, ažuriranja i buduće ideje
Video: Hawking Bot: 5 koraka
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:36
Hawking Bot je Lego MINDSTORMS EV3 projekt inspiriran pokojnim Stephenom Hawkingom. Stephen Hawking je imao dobar smisao za humor pa sam siguran da bi odobrio ovaj projekt. Hawking Bot se može kretati oko prepreka i reagirati na pokrete, a zatim izgovoriti jedan od poznatih zvučnih zapisa Stephena Hawkinga i kretati se u smjeru objekta u pokretu. Koristi ultrazvučni senzor koji skenira svoje okruženje zamašnim pokretom glave.
Korak 1: Izgradite svog Hawking Bota
Svi potrebni dijelovi nalaze se u osnovnom EV3 Lego MINDSTORMS kompletu, osim ultrazvučnog senzora (njegovih očiju) koji se mora kupiti zasebno.
Korak 2:
Kôd za Hawking Bota sav je napisan na pythonu 3. Slikovna datoteka za pokretanje za pokretanje pythona u Debian Linux okruženju na Hawking Botu može se preuzeti s web stranice ev3dev. Kôd za pokretanje Hawking Bota možete preuzeti ovdje. Sav se kôd nalazi u datoteci klase pa možete koristiti postojeće metode ili ih čak izmijeniti ako želite.
Pogledajte ovaj video s detaljnim uputama o tome kako postaviti Debian Linux i Python3 na svog robota. Iako je ovo posebno za postavljanje Mac računala, ipak će biti korisno steći općenito razumijevanje procesa. Ovo je rad u tijeku. Ultrazvučni senzor ponekad je nepouzdan i to zahtijeva pametniji kôd za detekciju "izvanrednih vrijednosti". Volio bih vidjeti doprinose drugih kako bi kod učinio učinkovitijim i manje sklonim pogreškama.
Korak 3: Napravite vlastite Hawkingove zvučne udjele
U redu, sada želite imati neke poznate citate ili samo neke jednostavne izjave profesora Hawkinga. Postoje tone video zapisa na kojima ga možete čuti kako govori, a zatim i njegova predavanja koja su riznica mudrosti i korisnih zvučnih zalogaja.
Potreban vam je program poput Audacity koji radi na mnogim platformama za odabir i izrezivanje vaših omiljenih zvučnih zapisa.
Spremite svoj zvučni zapis kao wav mono datoteku kao SH6, SH7,… SH11, SH12 i tako dalje.
Dolje ćete pronaći nekoliko uzoraka koje sam stvorio prema gore navedenoj metodi.
Korak 4: Savjeti i trikovi
Hawking Bot dolazi s modulom za samoprovjeru kako bi se osiguralo da su svi kabeli spojeni i da je baterija dovoljna. Lako se mogu pojaviti labave, nedostajuće ili čak oštećene veze. Stoga je ovaj modul vrlo koristan. Metoda 'checkConnection' provjerava samo postoji li električna veza. I dalje morate osigurati da su motori spojeni na odgovarajući priključak.
Pomicanje glave prevlačenjem bitno je da Hawking Bot skenira svoj teren i pronađe najduži neometan put ispred sebe. Kablovi trebaju dovoljno prostora za prilagođavanje kretnji glave; stoga je poželjno povezati ih zajedno kako je prikazano na fotografiji.
Hawking Bot najbolje radi s velikim preprekama i na ravnoj i glatkoj površini. Tepisi su izazovniji za motore i možda ćete morati prilagoditi postavke kako biste prilagodili ponašanje na različitim površinama.
Hawking Bot nikako nije savršen i ovo je prototip koji će imati koristi od daljnjih poboljšanja. Kôd je potpuno komentiran i trebalo bi vam biti lako shvatiti što razne metode rade. Različiti su bitovi komentirani s #, ako uklonite # ispred 'ispisa', pokrenuti program će vam pokazati različita očitanja senzora i izračune.
Korak 5: Predložena poboljšanja, ažuriranja i buduće ideje
Sada kada ste uspješno izgradili svog robota, želite ga podići na višu razinu. Mogli biste poboljšati metodu MotionDetector. Trenutno tako često dolazi do pogrešnog čitanja. Stvarna očitanja možete vidjeti razkomentiranjem disA i disB (pri dnu bloka metode). Pogrešno čitanje obično se izdvaja od ostalih očitanja pa možete napisati algoritam za zaustavljanje robota u reagiranju na pogrešno očitanje.
Možda želite preuzeti potpunu kontrolu nad robotom i samo daljinski upravljati njegovim različitim funkcijama. To možete učiniti putem Bluetootha i napisati Android program za komunikaciju s robotom. Međutim, mnogo bi lakši pristup bio pronaći mjesto gdje infracrveni senzor može preuzeti kontrolu nad Hawking Botom.
Što je s time da robot nauči o svom okruženju? To se može postići pristupom k-najbližeg susjeda ili eventualno neuronskom mrežom. EV3 cigla ima ograničenu procesorsku snagu iako podržava Numpy. Alternativa bi bila BrickPi koja bi vam omogućila pokretanje AI biblioteke poput Tensorflow -a, ali namjera ovog vodiča bila je korištenje Lego EV3 MINDSTORMS kompleta bez potrebe za kupnjom mnogih skupih dodatnih komada osim ultrazvučnog senzora.
Međutim, pristup učenja k-najbližih susjeda o ponovnom informiranju trebao bi djelovati na EV3 cigli, a to je predloženi algoritam. Na vama je da pronađete radnu implementaciju ili uočite bilo kakve probleme:
Učenje pojačanja za Hawkings Bota
Ideja je da se 7 očitanja USS kodira u vektor, a posljednjih 10 zamaha glave koristi za stvaranje uzastopnog vektora od 70 unosa. Prva očitanja nisu potpuna pa će biti ispunjena nulama. Svaki unos sadrži vrijednost udaljenosti od USS -a. Ovo je vektor stanja s. Sustav omogućuje 1000 unosa. Nakon toga će se najstariji unos zamijeniti, a unosi u dobi za svaki s-r par smanjiti za jedan.
Robot ne smije prići bliže od 10 cm predmetu. Time se stvara negativna nagrada. Za jednostavnost; dobre radnje nagrađuju se s 1, a loše s 0. Učinkovito to stvara vjerojatnost za nagradu za svaku kombinaciju stanja-radnje. Koristit ćemo nagrade s popustom i pohlepnu politiku epsilona.
Time se stvaraju 3 velike tablice stanja s nagradom (s-r) za sve tri radnje desno, ravno naprijed i nalijevo-možda je moguće imati velike i spore brzine za svaku radnju. Tada bismo imali 6 radnji i 6 tražilica s-r tablica.
Svaki put kada se zabilježi novo stanje s uspoređuje se s tablicama, Euklidova udaljenost (ili slična mjera) koristi se za pronalaženje najbližeg susjeda. Ovo neće biti rangirano, već je postavljen prag t za prihvaćanje stanja kao vrlo sličnog, prepisivanje postojećeg stanja i ažuriranje za najveću nagradu te provođenje pridružene radnje a. Ako nije slično (d> t), unesite novi s-r par za svaku radnju a. Ako postoji veza između radnji za za s-r (svi imaju istu nagradu), odaberite nasumično, ali to nije uobičajeno i moglo bi se izostaviti.
t će morati biti eksperimentalno utvrđeno, ako je t premalo, slična stanja će se zanemariti i svako stanje se smatra jedinstvenim. Prevelik t znači da se čak i prilično različita stanja spajaju što bi moglo utjecati na mogućnost odabira dobrih radnji. Možda je moguće koristiti statističke metode za određivanje najboljeg t.
Tablica izgleda otprilike ovako: Unos br. - Vektor stanja - nagrada za akciju 1 - nagrada za akciju 2 - nagrada za akciju 3.
Pretpostavljam da će stvarna implementacija biti zeznuta, ali treba uložiti napor. Sretno!
Preporučeni:
Telegram Bot s NodeMCU (ESP8266): 3 koraka
Telegram Bot s NodeMCU (ESP8266): Trebate li robota za slanje obavijesti sa svog sustava? ili učiniti nešto samo slanjem poruke? Telegram Bot je vaše rješenje! U ovom ću vodiču koristiti Telegram Web i BotFather za izradu svog bota
Kako dodati interaktivni bot u neskladu: 6 koraka
Kako dodati interaktivnog bota u neskladu: U ovom ću vodiču pokazati kako napraviti vlastiti interaktivni bot koji radi s nekoliko komandosa. Discord je takva aplikacija za društvene mreže Skype/Whats-app koja okuplja igrače. Mogu imati vlastiti kanal, provjeriti koju igru svaki član planira
Telegram Bot na bazi ESP32: 7 koraka
Telegram Bot baziran na ESP32: Telegram je posvećen slobodi i otvorenim izvorima, najavio je novi Telegram bot API 2015., koji je omogućio trećim stranama da stvore telegramske botove za ESP32 koji koriste aplikaciju za razmjenu poruka kao svoje glavno komunikacijsko sučelje. To znači da smo
Bot za crtanje BT linije za crtanje - Moj Bot: 13 koraka (sa slikama)
Trash Boilt BT Line Drawing Bot - My Bot: Hai prijatelji nakon duge pauze oko 6 mjeseci ovdje dolazim s novim projektom. Do završetka programa Cute Drawing Buddy V1, SCARA Robot - Arduino i planiram još jednog robota za crtanje, glavni cilj je pokriti veliki prostor za crtanje. Tako fiksne robotske ruke c
Hawking 7dBi WiFi antena besplatno pojačanje: 4 koraka
Hawking 7dBi Wifi antena besplatno pojačanje: Otkrio sam da Hawking 7dBi WiFi antena ima manu. Uklanjanjem greške dobio sam BESPLATNO pojačanje signala. Broj dijela antene je HAI7SIP.Prije ove izmjene imao sam jednu traku signala koja je ponekad padala potpuno umrla. Nakon što