Përmbajtje:

EyeRobot - Shkopi i bardhë Robotik: 10 hapa (me fotografi)
EyeRobot - Shkopi i bardhë Robotik: 10 hapa (me fotografi)

Video: EyeRobot - Shkopi i bardhë Robotik: 10 hapa (me fotografi)

Video: EyeRobot - Shkopi i bardhë Robotik: 10 hapa (me fotografi)
Video: Robot Eye Expressions For 2 Minute Straight 2024, Korrik
Anonim
EyeRobot - Shkopi i Bardhë Robotik
EyeRobot - Shkopi i Bardhë Robotik

Abstrakt: Duke përdorur iRobot Roomba Create, unë kam prototipizuar një pajisje të quajtur eyeRobot. Ai do të udhëheqë përdoruesit e verbër dhe me shikim të kufizuar përmes mjediseve të trazuara dhe të populluara duke përdorur Roomba si një bazë për t'u martuar me thjeshtësinë e kallamit të bardhë tradicional me instinktet e një qeni me sy. Përdoruesi tregon lëvizjen e tij/saj të dëshiruar duke shtyrë dhe rrotulluar dorezën në mënyrë intuitive. Roboti merr këtë informacion dhe gjen një rrugë të qartë poshtë një korridori ose nëpër një dhomë, duke përdorur sonarin për të drejtuar përdoruesin në një drejtim të përshtatshëm rreth pengesave statike dhe dinamike. Përdoruesi pastaj ndjek robotin pasi ai e drejton përdoruesin në drejtimin e dëshiruar nga forca e dukshme e ndjerë përmes dorezës. Ky opsion robotik kërkon pak trajnim: shtyni për të shkuar, tërhequr për të ndaluar, kthesë për t'u kthyer. Parashikimi që ofrojnë gjetësit e distancës është i ngjashëm me qenin sy shikues dhe është një avantazh i konsiderueshëm mbi provën dhe gabimin e vazhdueshëm që shënon përdorimin e kallamit të bardhë. Megjithatë eyeRobot ende ofron një alternativë shumë më të lirë sesa qentë udhëzues, të cilët kushtojnë mbi 12,000 dollarë dhe janë të dobishëm vetëm për 5 vjet, ndërsa prototipi u ndërtua për më pak se 400 dollarë. Alsoshtë gjithashtu një makinë relativisht e thjeshtë, që kërkon disa sensorë të lirë, potenciometra të ndryshëm, disa pajisje, dhe natyrisht, një Roomba Creat.

Hapi 1: Demonstrim video

Demonstrim video
Demonstrim video

Version me Cilësi të Lartë

Hapi 2: Vështrim i përgjithshëm i operacionit

Vështrim i përgjithshëm i operacionit
Vështrim i përgjithshëm i operacionit

Kontrolli i Përdoruesit: Funksionimi i eyeRobot është krijuar për të qenë sa më intuitiv që të jetë e mundur për të zvogëluar ose eliminuar shumë stërvitjen. Për të filluar lëvizjen, përdoruesi thjesht duhet të fillojë të ecë përpara, një sensor linear në bazën e shkopit do të marrë këtë lëvizje dhe do të fillojë lëvizjen e robotit përpara. Duke përdorur këtë sensor linear, roboti pastaj mund të përputhet me shpejtësinë e tij me shpejtësinë e dëshiruar të përdoruesit. eyeRobot do të lëvizë aq shpejt sa përdoruesi dëshiron të shkojë. Për të treguar që një kthesë është e dëshiruar, përdoruesi thjesht duhet të rrotullojë dorezën, dhe nëse është e mundur një kthesë, roboti do të përgjigjet në përputhje me rrethanat.

Navigimi i robotëve: Kur udhëtoni në hapësirë të hapur, eyeRobot do të përpiqet të mbajë një rrugë të drejtë, duke zbuluar çdo pengesë që mund të pengojë përdoruesin dhe duke e udhëzuar përdoruesin rreth atij objekti dhe përsëri në rrugën origjinale. Në praktikë, përdoruesi mund të ndjekë natyrshëm pas robotit me pak mendim të ndërgjegjshëm. Për të lundruar në një korridor, përdoruesi duhet të përpiqet ta shtyjë robotin në njërën nga muret në të dyja anët, me marrjen e një muri, roboti do të fillojë ta ndjekë atë, duke e udhëzuar përdoruesi poshtë korridorit. Kur të arrihet një kryqëzim, përdoruesi do të ndiejë që roboti fillon të kthehet dhe mund të zgjedhë, duke e rrotulluar dorezën, nëse do të refuzojë degën e re ose do të vazhdojë në një rrugë të drejtë. Në këtë mënyrë roboti është shumë si kallami i bardhë, përdoruesi mund të ndiejë mjedisin me robotin dhe ta përdorë këtë informacion për lundrim global.

Hapi 3: Sensorët e diapazonit

Sensorë të gamës
Sensorë të gamës

Ultrasonics: The EyRobot mbart 4 distancues tejzanor (MaxSonar EZ1). Sensorët tejzanor janë të vendosur në një hark në pjesën e përparme të robotit për të siguruar informacion në lidhje me objektet para dhe anëve të robotit. Ata informojnë robotin për gamën e objektit dhe e ndihmojnë atë të gjejë një rrugë të hapur rreth atij objekti dhe të kthehet në rrugën e tij origjinale.

Rangefinder IR: EyRobot gjithashtu mbart dy sensorë IR (GP2Y0A02YK). Gjetëset e rrezeve IR janë të pozicionuara në 90 gradë në të djathtë dhe në të majtë për të ndihmuar robotin në murin pasues. Ata gjithashtu mund të paralajmërojnë robotin e objekteve shumë afër anëve të tij, në të cilat përdoruesi mund të hyjë.

Hapi 4: Sensorët e pozicionit të kallamit

Sensorë të pozicionit të kallamit
Sensorë të pozicionit të kallamit

Sensori linear: Në mënyrë që eyeRobot të përputhet me shpejtësinë e tij me atë të përdoruesit, eyeRobot ndjen nëse përdoruesi po shtyn ose ngadalëson lëvizjen e tij përpara. Kjo arrihet duke rrëshqitur bazën e kallamit përgjatë një piste, pasi një potenciometër ndjen pozicionin e kallamit. EyRobot përdor këtë hyrje për të rregulluar shpejtësinë e robotit. Ideja e robotit të syrit që përshtatet me shpejtësinë e përdoruesit përmes një sensori linear u frymëzua në të vërtetë nga kositësja e barit familjar. Baza e kallamit është e lidhur me një bllok udhëzues që lëviz përgjatë një hekurudhe. Bashkangjitur në bllokun udhëzues është një potenciometër rrëshqitës që lexon pozicionin e bllokut udhëzues dhe e raporton atë tek procesori. Në mënyrë që shkopi të rrotullohet në lidhje me robotin, ekziston një shufër që kalon nëpër një bllok druri, duke formuar një kushinetë rrotulluese. Ky kushinet është ngjitur më pas në një menteshë për të lejuar që shkopi të përshtatet me lartësinë e përdoruesit.

Sensori i kthesës: Sensori i kthesës lejon përdoruesin të rrotullohet në dorezë për ta kthyer robotin. Një potenciometër është ngjitur në fund të një boshti prej druri dhe çelësi futet dhe ngjitet në pjesën e sipërme të dorezës. Telat kalojnë poshtë kunjit dhe futin informacionin e kthesës në procesor.

Hapi 5: Përpunuesi

Procesor
Procesor

Përpunuesi: Roboti kontrollohet nga një Zbasic ZX-24a i ulur në një motherboard Robodyssey Advanced II. Procesori u zgjodh për shpejtësinë, lehtësinë e përdorimit, koston e përballueshme dhe 8 hyrje analoge. Isshtë e lidhur me një panel të madh prototipizimi për të lejuar ndryshime të shpejta dhe të lehta. E gjithë fuqia për robotin vjen nga furnizimi me energji në motherboard. Zbasic komunikon me roomba përmes portit të gjirit të ngarkesave dhe ka kontroll të plotë mbi sensorët dhe motorët e Roomba.

Hapi 6: Vështrim i Përgjithshëm i Kodit

Vështrim i Përgjithshëm i Kodit
Vështrim i Përgjithshëm i Kodit

Shmangia e pengesave: Për shmangien e pengesave eyeRobot përdor një metodë ku objektet pranë robotit ushtrojnë një forcë virtuale mbi robotin duke e larguar atë nga objekti. Me fjalë të tjera, objektet e largojnë robotin nga vetja. Në zbatimin tim, forca virtuale e ushtruar nga një objekt është anasjelltas proporcionale me distancën në katror, kështu që forca e shtytjes rritet ndërsa objekti afrohet dhe krijon një kurbë përgjigje jolineare: PushForce = PërgjigjaMagnitudëKonstant/Distanca2Shtytjet që vijnë nga secili sensor shtohen së bashku; sensorët në anën e majtë shtyjnë djathtas, dhe anasjelltas, për të marrë një vektor për udhëtimin e robotit. Shpejtësitë e rrotave ndryshojnë më pas, kështu që roboti kthehet drejt këtij vektori. Për të siguruar që objektet e vdekura para robotit të mos shfaqin një "asnjë përgjigje" (sepse forcat në të dy anët balancohen), objektet në pjesën e përparme të vdekur e shtyjnë robotin në anën më të hapur. Kur roboti të ketë kaluar objektin, ai përdor koduesit e Roomba për të korrigjuar ndryshimin dhe për t'u kthyer në vektorin origjinal.

Pasimi i murit: Parimi i ndjekjes së murit është të ruani një distancë të dëshiruar dhe kënd paralel me një mur. Problemet lindin kur roboti kthehet në lidhje me murin sepse sensori i vetëm jep lexime të padobishme të diapazonit. Leximet e diapazonit ndikohen sa më shumë nga këndi i robotëve në mur, ashtu edhe nga distanca aktuale në mur. Për të përcaktuar këndin dhe për të eleminuar këtë ndryshore, roboti duhet të ketë dy pika referimi që mund të krahasohen për të marrë këndin e robotëve. Për shkak se eyeRobot ka vetëm njërën anë përballë distancuesit IR, për të arritur këto dy pika duhet të krahasojë distancën nga distancuesi me kalimin e kohës ndërsa lëviz roboti. Pastaj përcakton këndin e tij nga ndryshimi midis dy leximeve ndërsa roboti lëviz përgjatë murit. Pastaj përdor këtë informacion për të korrigjuar pozicionimin e pahijshëm. Roboti kalon në modalitetin e ndjekjes së murit sa herë që ka një mur pranë tij për një kohë të caktuar dhe del nga ai sa herë që ka një pengesë në rrugën e tij, e cila e shtyn atë nga rrjedha e tij, ose nëse përdoruesi përdor dorezën e kthesës për të sjellë robot larg murit.

Hapi 7: Lista e Pjesëve

Lista e Pjesëve
Lista e Pjesëve

Pjesët e kërkuara: 1x) Roomba create1x) Fletë e madhe akrilike2x) Sharp GP2Y0A02YK IR rangefinder4x) Maxsonar EZ1 distancues tejzanor1x) ZX-24a mikroprocesor1x) Robodyssey Motherboard Advanced II1x) Potentiometer rrëshqitës 1meter) I vetëm 1 kthesë Varet, dowels, vida, arra, kllapa, dhe tela

Hapi 8: Motivimi dhe Përmirësimi

Motivimi dhe Përmirësimi
Motivimi dhe Përmirësimi

Motivimi: Ky robot u krijua për të mbushur hendekun e dukshëm midis qenit të aftë por të shtrenjtë udhëzues dhe kallamit të bardhë të lirë, por të kufizuar. Në zhvillimin e një kallami të bardhë të tregtueshëm dhe më të aftë, Roomba Creat ishte mjeti i përsosur për hartimin e një prototipi të shpejtë për të parë nëse koncepti funksionoi. Për më tepër, çmimet do të siguronin mbështetje ekonomike për shpenzimet e konsiderueshme të ndërtimit të një roboti më të aftë.

Përmirësimi: Shuma që mësova duke ndërtuar këtë robot ishte e konsiderueshme dhe këtu do të përpiqem të paraqes atë që kam mësuar ndërsa vazhdoj të përpiqem të ndërtoj një robot të gjeneratës së dytë: 1) Shmangia e pengesave - kam mësuar shumë për pengesat në kohë reale shmangie Në procesin e ndërtimit të këtij roboti kam kaluar nëpër dy kode krejtësisht të ndryshme të shmangies së pengesave, duke filluar me idenë origjinale të forcës së objektit, pastaj duke kaluar në parimin e gjetjes dhe kërkimit të vektorit më të hapur, dhe pastaj duke u kthyer përsëri në idenë e forcës së objektit me realizimi kryesor që përgjigja e objektit duhet të jetë jo-lineare. Në të ardhmen do të korrigjoj gabimin tim për të mos bërë ndonjë hulumtim në internet të metodave të përdorura më parë para se të filloj projektin tim, pasi tani po mësoj një kërkim të shpejtë në Google do të kishte sjellë shumë punime të shkëlqyera mbi këtë temë. 2) Dizajni i shkopit sensorë - Duke filluar këtë projekt, mendova se opsioni im i vetëm për një sensor linear ishte të përdorja një tenxhere me rrëshqitje dhe një lloj mbajtjeje lineare. Tani e kuptoj se një opsion shumë më i thjeshtë do të kishte qenë thjesht lidhja e majës së shufrës me një levë, e tillë që shtyrja e shkopit përpara do të shtynte edhe levën përpara. Përveç kësaj, një nyje e thjeshtë universale do të lejojë që kthesa e shkopit të përkthehet në boshtin e kthesës së shumë xhoustikëve modernë. Ky zbatim do të kishte qenë shumë më i thjeshtë se ai që unë aktualisht përdor. 3) Rrota me rrotullim falas - Edhe pse kjo do të ishte e pamundur me Roomba, tani duket qartë se një robot me rrota rrotullimi falas do të ishte ideal për këtë detyrë. Një robot që rrotullohet në mënyrë pasive nuk do të kërkojë motorë dhe një bateri më të vogël dhe kështu të jetë më i lehtë. Për më tepër, ky sistem nuk kërkon asnjë sensor linear për të zbuluar shtytjen e përdoruesve, roboti thjesht do të rrokulliset me shpejtësinë e përdoruesve. Roboti mund të rrotullohet duke drejtuar rrotat si një makinë, dhe nëse përdoruesit i nevojitet të ndalet mund të shtohen frenat. Për gjeneratën e ardhshme eyeRobot sigurisht që do të përdor këtë qasje krejt të ndryshme. 4) Dy sensorë me hapësirë për ndjekjen e murit - Siç u diskutua më herët problemet u shfaqën kur përpiqeshim të murizonim me vetëm një anë me sensorin përballë, kështu që ishte e nevojshme të lëviznim robotin midis leximeve për të arritur pika të ndryshme referimi. Dy sensorë me një distancë midis tyre do të thjeshtonin murin në masë të madhe.5) Më shumë sensorë - Edhe pse kjo do të kishte kushtuar më shumë para, ishte e vështirë të përpiqesh të kodosh këtë robot me kaq pak dritare në botën jashtë procesorit. Do ta kishte bërë kodin e navigimit shumë më të fuqishëm me një grup sonar më të plotë (por sigurisht që sensorët kushtojnë para, të cilat nuk i kisha në atë kohë).

Hapi 9: Përfundim

Përfundim
Përfundim

Përfundim: iRobot dëshmoi një platformë ideale prototipimi për të eksperimentuar me konceptin e një kallami të bardhë robotik. Nga rezultatet e këtij prototipi është e qartë se një robot i këtij lloji është vërtet i zbatueshëm. Shpresoj të zhvilloj një robot të gjeneratës së dytë nga mësimet që kam mësuar nga përdorimi i Roomba Creat. Në versionet e ardhshme të eyeRobot unë imagjinoj një pajisje të aftë për të bërë më shumë sesa thjesht drejtimin e një personi në korridor, më tepër një robot që mund të vihet në duart e të verbërve për t’u përdorur në jetën e përditshme. Me këtë robot, përdoruesi thjesht do të fliste destinacionin e tij dhe roboti do t'i udhëzonte atje pa përpjekje të vetëdijshme nga përdoruesi. Ky robot do të ishte mjaft i lehtë dhe kompakt që të ngjitej lehtë nëpër shkallë dhe të futet në dollap. Ky robot do të jetë në gjendje të bëjë navigacion global përveç atij lokal, duke qenë në gjendje të udhëzojë përdoruesin nga fillimi në destinacion pa njohuritë ose përvojën paraprake të përdoruesve. Kjo aftësi do të shkonte përtej edhe qenit udhëzues, me GPS dhe sensorë më të avancuar që lejonin të verbërit të lundrojnë lirshëm nëpër botë, Nathaniel Barshay, (Hyri nga Stephen Barshay) (Falenderime të veçanta për Jack Hitt për Roomba Creat)

Hapi 10: Ndërtimi dhe Kodi

Ndërtimi dhe Kodi
Ndërtimi dhe Kodi

Disa fjalë të jashtme për ndërtimin: Kuverta e bërë nga një copë akrilike e prerë në një rreth me një hapje në pjesën e pasme për të lejuar aksesin elektronik, dhe pastaj vidhet në vrimat e montimit pranë gjirit të ngarkesave. Bordi i prototipit është i dehur në vrimën e vidave në fund të gjirit. Zbasic është montuar me një kllapa L me të njëjtat vida si kuvertë. Çdo sonar është i dehur në një copë akrilike, e cila nga ana tjetër është e bashkangjitur në një kllapa L të bashkangjitur në kuvertë (kllapat L janë të përkulura 10 gradë prapa për të dhënë një pamje më të mirë). Pista për sensorin linear është e dehur pikërisht në kuvertë dhe tenxhereja rrëshqitëse është montuar me kllapa L pranë saj. Një përshkrim më teknik i ndërtimit të sensorit linear dhe shufrës së kontrollit mund të gjendet në hapin 4.

Kodi: Unë kam bashkangjitur versionin e plotë të kodit të robotëve. Gjatë një ore unë jam përpjekur ta pastroj atë nga tre ose katër gjenerata të kodit që ishin në dosje, duhet të jetë mjaft e lehtë për tu ndjekur tani. Nëse keni IDE ZBasic duhet të jetë e lehtë për tu parë, nëse jo përdorni fletore duke filluar me skedarin main.bas dhe duke kaluar nëpër skedarët e tjerë.bas.

Recommended: