Sadržaj:
- Korak 1: Video demonstracija
- Korak 2: Pregled operacije
- Korak 3: Senzori dometa
- Korak 4: Senzori položaja štapa
- Korak 5: Procesor
- Korak 6: Pregled koda
- Korak 7: Lista dijelova
- Korak 8: Motivacija i poboljšanje
- Korak 9: Zaključak
- Korak 10: Konstrukcija i kod
Video: EyeRobot - robotski bijeli štap: 10 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:09
Sažetak: Koristeći iRobot Roomba Create, prototipirao sam uređaj koji se zove eyeRobot. On će voditi slijepe i slabovidne korisnike kroz pretrpano i naseljeno okruženje koristeći Roombu kao bazu za vjenčanje jednostavnosti tradicionalnog bijelog štapa s instinktima psa vidovnjaka. Korisnik označava željeni pokret intuitivno pritiskom i okretanjem ručke. Robot uzima ove informacije i pronalazi čistu putanju kroz hodnik ili preko prostorije, koristeći sonar za usmjeravanje korisnika u odgovarajućem smjeru oko statičkih i dinamičkih prepreka. Korisnik zatim slijedi iza robota dok ga vodi korisnikom u željenom smjeru primjetnom silom koja se osjeća kroz ručku. Ova robotska opcija zahtijeva malo treninga: guranje za pokretanje, povlačenje za zaustavljanje, okretanje za okretanje. Predviđanje koje pružaju daljinomjeri slično je psu koji vidi oči i značajna je prednost u odnosu na stalne pokušaje i greške koji označavaju upotrebu bijelog štapa. Ipak, eyeRobot i dalje nudi mnogo jeftiniju alternativu od pasa vodiča, koji koštaju više od 12 000 USD i korisni su samo 5 godina, dok je prototip izgrađen za znatno manje od 400 USD. To je također relativno jednostavna mašina, koja zahtijeva nekoliko jeftinih senzora, različite potenciometre, nešto hardvera i, naravno, Roomba Create.
Korak 1: Video demonstracija
Verzija visokog kvaliteta
Korak 2: Pregled operacije
Korisnička kontrola: Rad eyeRobota osmišljen je tako da bude što intuitivniji kako bi uvelike smanjio ili eliminirao trening. Da bi započeo kretanje, korisnik jednostavno mora krenuti naprijed, linearni senzor u podnožju štapa pokupit će ovo kretanje i početi pomicati robota naprijed. Pomoću ovog linearnog senzora robot tada može uskladiti svoju brzinu sa željenom brzinom korisnika. eyeRobot će se kretati onoliko brzo koliko korisnik želi ići. Da bi pokazao da je zaokret željen, korisnik jednostavno mora okrenuti ručku, a ako je zaokret moguć, robot će reagirati u skladu s tim.
Robotska navigacija: Kada putujete otvorenim svemirom, eyeRobot će pokušati zadržati ravnu putanju, otkrivajući svaku prepreku koja bi mogla ometati korisnika, te ga voditi oko tog objekta i vratiti se na izvornu putanju. U praksi korisnik može prirodno slijediti iza robota sa malo svjesne misli. Za kretanje kroz hodnik, korisnik bi trebao pokušati gurnuti robota u jedan od zidova s obje strane, nakon što stekne zid, robot će ga početi slijediti, vodeći korisnika niz hodnik. Kada se dođe do raskrižja, korisnik će osjetiti kako se robot počinje okretati i može izabrati, okretanjem ručke, hoće li odbiti novi izdanak ili nastaviti ravno. Na ovaj način robot je vrlo sličan bijelom štapu, korisnik može osjetiti okruženje s robotom i koristiti te informacije za globalnu navigaciju.
Korak 3: Senzori dometa
Ultrazvuk: eyeRobot nosi 4 ultrazvučna daljinomera (MaxSonar EZ1). Ultrazvučni senzori postavljeni su u luku na prednjoj strani robota kako bi pružili informacije o objektima ispred i sa strane robota. Oni obavještavaju robota o dometu objekta i pomažu mu da pronađe otvorenu rutu oko tog objekta i natrag na njegovu izvornu putanju.
IR daljinomeri: eyeRobot takođe nosi dva IR senzora (GP2Y0A02YK). IR daljinomjeri postavljeni su okrenuti prema 90 stupnjeva udesno i ulijevo kako bi pomogli robotu da slijedi zid. Takođe mogu upozoriti robota na objekte koji su suviše blizu njegovih strana u koje bi korisnik mogao ući.
Korak 4: Senzori položaja štapa
Linearni senzor: Kako bi eyeRobot prilagodio svoju brzinu brzini korisnika, eyeRobot osjeća da li korisnik gura ili usporava svoje kretanje prema naprijed. To se postiže klizanjem baze štapa duž staze, jer potenciometar osjeća položaj štapa. EyeRobot koristi ovaj ulaz za regulaciju brzine robota. Ideja da se eyeRobot prilagodi brzini korisnika putem linearnog senzora zapravo je inspirirana porodičnom kosilicom. Baza štapa povezana je s vodilicom koja se kreće duž šine. Na vodilicu je pričvršćen klizni potenciometar koji očitava položaj vodilice i javlja je procesoru. Kako bi se omogućilo da se štap okreće u odnosu na robota, štap prolazi kroz drveni blok, tvoreći rotirajući ležaj. Ovaj ležaj je zatim pričvršćen na šarke kako bi se štap prilagodio visini korisnika.
Senzor uvijanja: Senzor uvijanja omogućava korisniku da okreće ručku kako bi okrenuo robota. Potenciometar je pričvršćen na kraj jedne drvene osovine, a gumb je umetnut i zalijepljen u gornji dio ručke. Žice se spuštaju niz tiple i unose informacije o uvijanju u procesor.
Korak 5: Procesor
Procesor: Robotom upravlja Zbasic ZX-24a koji sjedi na Robodyssey Advanced Motherboard II. Procesor je odabran zbog svoje brzine, jednostavnosti korištenja, pristupačne cijene i 8 analognih ulaza. Povezan je s velikom prototipnom pločom kako bi se omogućile brze i jednostavne izmjene. Sva snaga za robota dolazi iz napajanja na matičnoj ploči. Zbasic komunicira s roombom kroz otvor za utovarni prostor i ima potpunu kontrolu nad Roombinim senzorima i motorima.
Korak 6: Pregled koda
Izbjegavanje prepreka: Za izbjegavanje prepreka, eyeRobot koristi metodu u kojoj objekti u blizini robota djeluju virtualno na robota odmičući ga od objekta. Drugim riječima, predmeti guraju robota od sebe. U mojoj implementaciji, virtualna sila koju objekt izvršava obrnuto je proporcionalna kvadratu udaljenosti, pa se snaga pritiska povećava kako se objekt približava i stvara nelinearnu krivulju odziva: PushForce = ResponseMagnitudeConstant/Distance2Potisci koji dolaze sa svakog senzora zbrajaju se; senzori s lijeve strane guraju udesno i obrnuto da dobiju vektor za kretanje robota. Brzine kotača se tada mijenjaju pa se robot okreće prema ovom vektoru. Kako bi se osiguralo da predmeti mrtvi ispred robota ne pokazuju "bez reakcije" (jer se sile s obje strane balansiraju), predmeti na mrtvoj strani guraju robota na otvoreniju stranu. Kada robot prođe objekt, tada koristi Roombine kodere kako bi ispravio promjenu i vratio se na izvorni vektor.
Zidno praćenje: Princip zidnog slijeđenja je održavanje željene udaljenosti i paralelnog kuta prema zidu. Problemi nastaju kada se robot okrene u odnosu na zid jer jedan senzor daje beskorisna očitanja raspona. Očitavanja dometa utječu podjednako pod kutom robota prema zidu kao i stvarnom udaljenošću do zida. Da bi odredio kut i na taj način eliminirao ovu varijablu, robot mora imati dvije referentne točke koje se mogu usporediti kako bi se dobio kut robota. Budući da eyeRobot ima samo jednu stranu okrenutu prema IR daljinomjeru, kako bi postigao ove dvije točke, mora uspoređivati udaljenost od daljinomera tijekom vremena dok se robot kreće. Zatim određuje svoj kut iz razlike između dva očitanja dok se robot kreće duž zida. Zatim koristi ove podatke za ispravljanje nepravilnog pozicioniranja. Robot prelazi u način praćenja zida kad god ima zid pored sebe određeno vrijeme i izlazi iz njega kad god mu se na putu nađe prepreka koja ga gura s kursa, ili ako korisnik koristi ručicu za okretanje kako bi donio robota dalje od zida.
Korak 7: Lista dijelova
Potrebni dijelovi: 1x) Roomba create1x) Veliki list akrila2x) Sharp GP2Y0A02YK IR daljinomer4x) Maxsonar EZ1 ultrazvučni daljinomjer1x) ZX-24a mikroprocesor1x) Robodyssey Advanced matična ploča II1x) Klizni potenciometar1x) Jednosmjerni potenciometar1) Šarke, tiple, vijci, matice, držači i žice
Korak 8: Motivacija i poboljšanje
Motivacija: Ovaj robot je dizajniran da popuni očitu prazninu između sposobnog, ali skupog psa vodiča i jeftinog, ali ograničenog bijelog štapa. U razvoju prodajnog i sposobnijeg robotskog bijelog štapa, Roomba Create bio je savršeno vozilo za dizajniranje brzog prototipa kako bi se vidjelo funkcionira li koncept. Osim toga, nagrade bi osigurale ekonomsku podršku za znatne troškove izgradnje sposobnijeg robota.
Poboljšanje: Količina koju sam naučio izrađujući ovog robota bila je značajna i ovdje ću pokušati iznijeti ono što sam naučio dok sam pokušavao izgraditi robota druge generacije: 1) Izbjegavanje prepreka - naučio sam mnogo o preprekama u stvarnom vremenu izbjegavanje. U procesu izgradnje ovog robota prošao sam kroz dva potpuno različita koda za izbjegavanje prepreka, počevši od izvorne ideje o sili objekta, zatim prelazeći na princip pronalaženja i traženja najotvorenijeg vektora, a zatim se vraćajući na ideju sile objekta ključna spoznaja da odgovor objekta treba biti nelinearan. Ubuduće ću ispraviti svoju grešku što prije nego što sam krenuo u svoj projekt nijednom nisam istraživao internetski korištene metode, jer sada učim da bi brzo Google pretraživanje dalo brojne sjajne radove na tu temu.2) Dizajn štapa senzori - Počevši od ovog projekta mislio sam da je moja jedina opcija za linearni senzor korištenje kliznog lonca i neke vrste linearnog ležaja. Sada shvaćam da bi mnogo jednostavnija opcija bila jednostavno pričvrstiti vrh šipke na joystick, tako da bi gurkanje štapa prema naprijed također gurnulo joystick prema naprijed. Osim toga, jednostavan univerzalni zglob omogućio bi da se okretanje štapa prevede u os uvijanja mnogih modernih joysticka. Ova bi implementacija bila mnogo jednostavnija od one koju trenutno koristim.3) Slobodno okretanje kotača - Iako bi to bilo nemoguće s Roombom, sada se čini očitim da bi robot sa slobodnim okretnim kotačima bio idealan za ovaj zadatak. Robotu koji se pasivno kotrlja ne bi bili potrebni motori i manja baterija, pa bi stoga bio lakši. Osim toga, ovaj sistem ne zahtijeva linearni senzor za detekciju pritiska korisnika, robot bi se jednostavno kotrljao brzinom korisnika. Robot se mogao okretati upravljanjem kotačima poput automobila, a ako je trebalo zaustaviti korisnika, mogle bi se dodati kočnice. Za sljedeću generaciju eyeRobota zasigurno ću koristiti ovaj vrlo različit pristup.4) Dva razmaknuta senzora za praćenje zida - Kao što je ranije rečeno, problemi su nastali pri pokušaju slijeđenja zida sa samo jednom stranom okrenutom senzorom, pa je bilo potrebno pomaknuti robota između očitanja za postizanje različitih referentnih tačaka. Dva senzora s razmakom između njih uvelike bi pojednostavila praćenje zidova.5) Više senzora - Iako bi to koštalo više novca, bilo je teško pokušati kodirati ovog robota sa tako malo prozora u svijetu izvan procesora. To bi navigacijski kod učinilo mnogo moćnijim sa potpunijim nizom sonara (ali senzori naravno koštaju novac, kojeg tada nisam imao).
Korak 9: Zaključak
Zaključak: iRobot se pokazao kao idealna platforma za izradu prototipova za eksperimentiranje s konceptom robotskog bijelog štapa. Iz rezultata ovog prototipa vidljivo je da je robot ovog tipa zaista održiv. Nadam se da ću iz lekcija koje sam naučio koristeći Roomba Create razviti robota druge generacije. U budućim verzijama eyeRobota zamišljam uređaj sposoban za više od pukog vođenja osobe kroz hodnik, radije robota koji se može staviti u ruke slijepima za upotrebu u svakodnevnom životu. S ovim robotom korisnik bi jednostavno izgovarao odredište i robot bi ih vodio tamo bez svjesnog napora korisnika. Ovaj bi robot bio lagan i dovoljno kompaktan da se lako nosi uz stepenice i sprema u ormar. Ovaj bi robot mogao raditi i globalno, osim lokalne, i voditi korisnika od početka do odredišta bez prethodnog znanja i iskustva korisnika. Ova bi mogućnost nadišla čak i psa vodiča, s GPS -om i naprednijim senzorima koji omogućuju slijepima da se slobodno kreću svijetom, Nathaniel Barshay, (Ušao Stephen Barshay) (Posebna zahvala Jacku Hittu za Roomba Create)
Korak 10: Konstrukcija i kod
Nekoliko tuđih riječi o konstrukciji: Paluba je izrađena od komada akrila izrezanog u krug s otvorom na stražnjoj strani koji omogućuje pristup elektronici, a zatim se uvija u rupe za pričvršćivanje pored prtljažnika. Ploča za izradu prototipa je uvrnuta u otvor za vijak na dnu ležišta. Zbasic je montiran sa L konzolama sa istim vijcima kao i paluba. Svaki sonar je uvijen u komad akrila, koji je zauzvrat pričvršćen na L nosač pričvršćen na palubu (L nosači su savijeni unatrag 10 stepeni radi boljeg pregleda). Gusjenica za linearni senzor uvrnuta je pravo u palubu, a klizni lonac je montiran sa L nosačima pored nje. Više tehnički opis konstrukcije linearnog senzora i upravljačke šipke može se pronaći u koraku 4.
Kod: Priložio sam punu verziju koda robota. Tijekom sat vremena pokušao sam ga očistiti od tri ili četiri generacije koda koji je bio u datoteci, što bi sada trebalo biti dovoljno lako slijediti. Ako imate ZBasic IDE, trebao bi biti lak za pregled, ako ne koristite notepad koji počinje s datotekom main.bas i prolazi kroz druge.bas datoteke.
Preporučuje se:
Arduino štap za praćenje vlage tla - nikada ne zaboravite zalijevati vaše biljke: 4 koraka (sa slikama)
Arduino štap za praćenje vlažnosti tla - nikada ne zaboravite zalijevati vaše biljke: Zaboravljate li često zalijevanje sobnih biljaka? Ili im možda pridajete previše pažnje i zalijevate ih? Ako to učinite, trebali biste sami napraviti štap za praćenje vlažnosti tla na baterije. Ovaj monitor koristi kapacitivnu vlagu tla
Senzor udaljenosti (za bijeli štap): 3 koraka
Senzor udaljenosti (za Bijeli štap): Tipični senzor udaljenosti već je široko pokriven od strane Instructables. Stoga sam htio isprobati adaptaciju ovog dobro poznatog koncepta, kao aplikaciju za bijeli štap. Bijeli štapići su štapovi koje slijepci koriste da im kažu gdje su p
Bijeli štap za otkrivanje prepreka: 5 koraka
Otkrivanje prepreka Bijeli štap: U mojoj školi, moj učitelj je govorio o pomoćnoj tehnologiji i o tome kako možemo napraviti alate za pomoć drugim ljudima. Zaintrigirala me ova ideja, pa sam odlučio stvoriti sustav upozorenja za nepredvidive prepreke za osobe sa oštećenim vidom. Fo
Pravi radni štap Harryja Pottera pomoću računarskog vida: 8 koraka (sa slikama)
Pravi radni štap Harryja Pottera pomoću računalnog vida: " Svaka dovoljno napredna tehnologija se ne razlikuje od magije " - Arthur C. ClarkePrije nekoliko mjeseci moj brat je posjetio Japan i imao pravo čarobnjačko iskustvo u Čarobnjačkom svijetu Harryja Pottera u Universal Studiosu koji je učinio
Arduino glasni bijeli štap (prvi dio): 6 koraka (sa slikama)
Arduino Voiced White Cane (prvi dio): Prije mnogo godina, bio sam sa studentom koji je imao slijepog člana porodice, shvatio sam da bismo mogli doći do malog rješenja koje može čuti koliko koraka postoji neka prepreka, očito arduino sa prethodno snimljenim brojevima mogao bi