Talaan ng mga Nilalaman:

Hawking Bot: 5 Hakbang
Hawking Bot: 5 Hakbang

Video: Hawking Bot: 5 Hakbang

Video: Hawking Bot: 5 Hakbang
Video: Stephen Hawking Warns Against AI 2024, Hulyo
Anonim
Image
Image
Buuin ang Iyong Hawking Bot
Buuin ang Iyong Hawking Bot

Ang Hawking Bot ay isang Lego MINDSTORMS EV3 Project na inspirasyon ng yumaong Stephen Hawking. Si Stephen Hawking ay may magandang pagkamapagpatawa kaya't sigurado akong aaprubahan niya ang proyektong ito. Ang Hawking Bot ay maaaring mag-navigate sa kanyang paraan sa paligid ng mga hadlang at tumugon sa mga paggalaw at pagkatapos ay binibigkas ang isa sa mga sikat na soundbite at paggalaw ni Stephen Hawking sa direksyon ng gumagalaw na bagay. Gumagamit ito ng ultrasonic sensor na kung saan ay ang pag-scan ng kapaligiran nito sa isang paggalaw ng ulo.

Hakbang 1: Buuin ang Iyong Hawking Bot

Ang lahat ng kinakailangang mga piraso ay nasa pangunahing EV3 Lego MINDSTORMS na itinakda na may pagbubukod sa ultrasonic sensor (ang kanyang mga mata) na kung saan ay kailangang bumili ng hiwalay.

Hakbang 2:

Larawan
Larawan

Ang code para sa Hawking Bot ay nakasulat lahat sa sawa 3. Ang isang bootable na file ng imahe upang magpatakbo ng sawa sa loob ng isang Debian Linux na kapaligiran sa Hawking Bot ay maaaring ma-download mula sa ev3dev website. Ang code upang patakbuhin ang Hawking Bot ay maaaring ma-download mula dito. Ang lahat ng code ay nilalaman sa loob ng isang file ng klase upang maaari mong gamitin ang mga mayroon nang mga pamamaraan o kahit na baguhin ang mga ito kung nais mo.

Mangyaring panoorin ang video na ito na may detalyadong mga tagubilin sa kung paano i-set up ang Debian Linux at Python3 sa iyong robot. Bagaman partikular ito para sa isang pag-setup ng Mac magiging kapaki-pakinabang pa rin upang makakuha ng isang pangkalahatang pag-unawa sa proseso. Isinasagawa ito. Ang ultrasonic sensor ay minsan ay hindi maaasahan at nangangailangan ito ng mas matalinong code upang makita ang mga 'outliers'. Nais kong makita ang mga kontribusyon mula sa iba upang gawing mas mabisa ang code at mas mababa sa error.

Hakbang 3: Gumawa ng Iyong Sariling Hawking Soundbites

OK ngayon nais mong magkaroon ng ilang mga tanyag na sipi o ilang simpleng binibigkas lamang mula kay Prof Hawking. Mayroong tonelada ng mga video kung saan maririnig mo siyang nag-uusap at pagkatapos ay may mga lektura na kung saan ay isang kayamanan ng karunungan at kapaki-pakinabang na kagat ng tunog.

Kailangan mo ng isang programa tulad ng Audacity na gumagana sa maraming mga platform upang piliin at gupitin ang iyong mga paboritong soundbite.

I-save ang iyong soundbite bilang isang wav mono file bilang SH6, SH7,… SH11, SH12 at iba pa.

Sa ibaba makikita mo ang ilang mga sample na aking nilikha ayon sa pamamaraan sa itaas.

Hakbang 4: Mga Tip at Trick

Mga Tip at Trick
Mga Tip at Trick
Mga Tip at Trick
Mga Tip at Trick

Ang Hawking Bot ay may kasamang module ng self-check upang matiyak na nakakonekta ang lahat ng mga kable at sapat ang lakas ng baterya. Madali na maganap ang maluwag, nawawala o kahit nasirang mga koneksyon. Kaya't ang modyul na ito ay lubhang kapaki-pakinabang. Sinusuri lamang ng pamamaraang 'checkConnection' kung mayroong isang koneksyon sa kuryente. Dapat mo pa ring tiyakin na ang mga motor ay konektado sa tamang port.

Ang paggalaw ng ulo ng swiping ay mahalaga para sa Hawking Bot upang i-scan ang lupain nito at hanapin ang pinakamahabang hindi nakaharang na landas sa unahan. Ang mga kable ay nangangailangan ng sapat na puwang upang mapaunlakan ang paggalaw ng ulo; samakatuwid ipinapayong itali ang mga ito tulad ng ipinakita sa litrato.

Ang Hawking Bot ay pinakamahusay na gumagana sa mga malalaking hadlang at sa isang patag at makinis na ibabaw. Ang mga carpet ay mas mahirap para sa mga motor at maaaring kailanganin mong ayusin ang mga setting upang ayusin ang pag-uugali para sa iba't ibang mga ibabaw.

Ang Hawking Bot ay hindi kailanman perpekto at ito ay isang prototype na makikinabang mula sa karagdagang mga pagpapabuti. Ang code ay ganap na nagkomento at dapat madali para sa iyo na mag-ehersisyo kung ano ang ginagawa ng iba't ibang mga pamamaraan. Ang iba't ibang mga piraso ay nai-puna sa #, kung aalisin mo ang # sa harap ng 'print' ipapakita sa iyo ng tumatakbo na programa ang iba't ibang mga pagbabasa at pagkalkula ng sensor.

Hakbang 5: Iminungkahing Mga Pagpapabuti, Mga Update at Mga Ideya sa Hinaharap

Ngayon na matagumpay mong nabuo ang iyong robot nais mong dalhin ito sa susunod na antas. Maaari mong pagbutihin ang pamamaraan ng MotionDetector. Sa ngayon palaging madalas nakakakuha ng maling pagbasa. Maaari mong makita ang aktwal na mga pagbasa sa pamamagitan ng pag-uncment ng disA at disB (sa ilalim ng block ng pamamaraan). Ang maling pagbasa ay karaniwang namumukod sa ibang mga pagbabasa upang maaari kang sumulat ng isang algorithm upang ihinto ang robot na tumutugon sa isang maling pagbasa.

Marahil nais mong kontrolin ang buong robot at i-remote control lamang ang iba't ibang mga pag-andar nito. Magagawa mo ito sa pamamagitan ng Bluetooth at magsulat ng isang Android programm upang makipag-usap sa robot. Gayunpaman, ang isang mas madaling diskarte ay upang makahanap ng isang lugar para sa infrared sensor upang makontrol ang Hawking Bot.

Paano ang tungkol sa pagkuha ng robot na malaman ang tungkol sa kapaligiran nito? Magagawa ito sa pamamagitan ng isang k-pinakamalapit na diskarte ng kapitbahay o posibleng isang neural network. Ang brick ng EV3 ay may limitadong kapangyarihan sa pagpoproseso kahit na sinusuportahan nito ang Numpy. Ang isang kahalili ay magiging isang BrickPi na magpapahintulot sa iyo na magpatakbo ng isang library ng AI tulad ng Tensorflow ngunit ang hangarin ng gabay na ito ay gamitin ang Lego EV3 MINDSTORMS kit nang hindi na kailangang bumili ng maraming mamahaling karagdagang mga piraso bukod sa ultrasonic sensor.

Gayunpaman, ang k-pinakamalapit na mga kapitbahay na muling pag-aralan ng diskarte sa pag-aaral ay dapat na gumana sa brick na EV3 at ito ang iminungkahing algorithm. Ipinauubaya ko sa iyo upang makahanap ng isang gumaganang pagpapatupad o makakita ng anumang mga problema:

Pag-aaral ng pagpapatibay para sa Hawkings Bot

Ang ideya ay ang 7 pagbasa ng USS ay naka-encode sa isang vector at ang huling 10 head swoop ay ginagamit upang lumikha ng isang sunud-sunod na vector ng 70 mga entry. Ang mga unang pagbasa ay hindi kumpleto sa gayon ay mapupuno ng mga zero. Ang bawat entry ay naglalaman ng halaga ng distansya mula sa USS. Ito ang state vector s. Pinapayagan ng system ang 1000 na mga entry. Pagkatapos noon ang pinakalumang entry ay papalitan at ang mga entry sa edad para sa bawat pares ng s-r ay mababawasan ng isa.

Ang bot ay hindi dapat lumapit sa 10 cm sa isang object. Lumilikha ito ng isang negatibong gantimpala. Para sa pagiging simple; magagandang aksyon ay gagantimpalaan ng isang 1 at masamang mga may isang 0. Epektibong lumilikha ito ng isang posibilidad para sa gantimpala para sa bawat kumbinasyon ng estado ng pagkilos. Gagamitin namin ang mga diskwentong gantimpala at patakarang matakaw sa epsilon.

Lumilikha ito ng 3 malalaking state –reward (s-r) na talahanayan para sa lahat ng tatlong mga aksyon na kanan, tuwid at kaliwa - maaaring posible na magkaroon ng mabilis at mabagal na bilis para sa bawat pagkilos. Magkakaroon kami pagkatapos ng 6 na mga pagkilos at 6 na mga talahanayan ng s-r.

Sa tuwing maitatala ang isang bagong estado ay ihinahambing ito sa mga talahanayan, ang distansya ng Euclidean (o katulad na sukat) ay ginagamit upang makahanap ng pinakamalapit na kapit-bahay. Hindi ito mairaranggo ngunit sa halip ang isang threshold t ay nakatakdang tanggapin ang estado na halos kapareho, patungan ang mayroon nang estado at i-update para sa pinakamataas na gantimpala at isagawa ang nauugnay na aksyon a. Kung hindi ito katulad (d> t) maglagay ng bagong s-r pares para sa bawat aksyon a. Kung mayroong isang kurbatang pagitan ng mga aksyon para sa s-r (lahat sila ay may parehong gantimpala) pumili ng sapalaran ngunit hindi ito karaniwan at maaaring matanggal.

t ay kailangang pang-eksperimentong natukoy, kung ang t ay masyadong maliit na magkatulad na mga estado ay hindi papansinin at ang bawat estado ay nakikita bilang natatangi. Napakalaki ng isang t nangangahulugan na kahit na hindi magkatulad na mga estado ay pinagbuklod na maaaring makaapekto sa kakayahang pumili ng magagandang kilos. Maaaring posible na gumamit ng mga pamamaraang pang-istatistika upang matukoy ang pinakamahusay na t.

Ang talahanayan ay ganito ang hitsura: No Entry No - State vector– gantimpala para sa aksyon 1 - gantimpala para sa aksyon 2 - gantimpala para sa aksyon 3.

Hulaan ko ang tunay na pagpapatupad ay magiging nakakalito ngunit dapat na wortth ang pagsisikap. Good luck!

Inirerekumendang: