Përmbajtje:

Roboti që ecën vetë: 7 hapa
Roboti që ecën vetë: 7 hapa

Video: Roboti që ecën vetë: 7 hapa

Video: Roboti që ecën vetë: 7 hapa
Video: Семь роботов изменят сельское хозяйство ▶ СМОТРИТЕ СЕЙЧАС! 2024, Nëntor
Anonim
Robot që ecën vetë
Robot që ecën vetë

Çfarë kam bërë?

Bot Një bot që mund të stërvitet të ecë (të ecë përpara) në sipërfaqe të ndryshme. Boti përshkruan një krijesë të thjeshtë me 4 këmbë ‘pa gju’ e cila po përpiqet të ecë përpara. Ai e di se mund të orientojë secilën nga këmbët në 3 mënyra të mundshme vetëm. Tani duhet të gjejë hapat më të mirë të mundshëm që mund të ndërmarrë për të vazhduar lëvizjen. Meqenëse lëvizja e tij gjithashtu varet nga fërkimi me sipërfaqen, ne besojmë se për çdo sipërfaqe të ndryshme që ecën, do të ketë një sërë hapash të ndryshëm (jo domosdoshmërisht unikë, por ka shumë të ngjarë të ngjashëm) për të maksimizuar përpjekjen e tij për të ecur përpara.

Për çfarë përdoret?

Përdoret më së miri për të vizualizuar modelet e ecjes për një ROBOT AI.

Hapi 1: Diagrami i rrjedhës

Diagrami i rrjedhës
Diagrami i rrjedhës

Këtu është një ndarje e të gjithë projektit. Në përgjithësi projekti është në 2 pjesë elektronikë me strukturë mekanike të robotit dhe tjetri është algoritmi që funksionon mbi kompjuter dhe kodi që kalon mbi arduino.

Hapi 2: P CORBRSIT KRYESOR T IN PVRFSHIR:

Elektronikë

Arduino UNO (!)

Sensori tejzanor

Servo motorët

Modul Bluetooth

Kodimi

Arduino IDE

Teraterm

Fletore Jupyter

Q- algoritmi i të mësuarit

Hapi 3: MODULI V1:

MODULI V1
MODULI V1

Mësimi Përforcues: Duke përdorur ANN (Rrjeti Neural Artificial) ne planifikuam të stërvitim robotin tonë dhe dolëm me dy metoda të mundshme.

Kufizimet: Çdo këmbë (servo motor) është e detyruar të marrë vetëm 3 pozicione të mundshme 60, 90 & 120 gradë. Supozimet: Ne konsiderojmë se lëvizja e botëve do të përbëjë 4 gjendje (një gjendje është një orientim i caktuar i të katër servove), domethënë do të ketë 4 gjendje të ndryshme të robotit të cilat ne do t'i konsiderojmë si 4 hapa respektivisht duke na dhënë një cikël lëvizjeje, në të cilën boti do ta lëvizë disa distanca përpara. Ky cikël do të përsëritet pafundësisht për ta mbajtur botin në lëvizje.

Por problemi i vetëm ishte numri i përsëritjeve që duheshin vlerësuar - Ne kemi 3 orientime të mundshme për secilin motor dhe ka 4 motorë të ndryshëm duke e bërë atë 3^4 = 81 gjendje në të cilat roboti mund të ekzistojë në një hap ose gjendje të vetme. Duhet të bëjmë 4 hapa të ndryshëm për të përfunduar një lëvizje komplekse, që do të thotë 81^4 = 43, 046, 721 kombinime të mundshme që duhet të kontrollohen për efikasitet maksimal për një cikël lëvizjeje. Supozoni se duhen 5 sekonda për të trajnuar një shtet të vetëm, do të duheshin 6.8250 vjet për të përfunduar trajnimin!

Hapi 4: MODULI V2:

Algoritmi i Q-mësimit

Një algoritëm i mësimit të përforcimit të hershëm i zhvilluar për trajnimin e gjërave që kanë gjendje të kufizuar dhe gjetjen e rrugëve më të shkurtra. burimi:

Matematika e Algoritmit: Ekzistojnë 81 gjendje të mundshme për secilin hap në të cilin boti mund të jetë, ne i quajmë këto gjendje si numra nga 1 në 81 dhe tani ajo që duam të dimë është vlera e kalimit, që do të thotë ndryshimi i pozicionit të robotit (distanca e lëvizur) ndërsa lëviz nga një gjendje e rastësishme s1 në ndonjë gjendje tjetër s2 (s1, s2 nga ato 81 gjendje). Ne mund ta shohim atë si një matricë që ka 81 rreshta dhe 81 kolona, ku një element i matricës do të jetë i barabartë me vlerën e distancës nga e cila ka lëvizur, që korrespondon me numrin e rreshtit dhe kolonës. Këto vlera mund të jenë pozitive ose negative në varësi të veprimit të robotit me fjalë të vërteta. Tani do të gjejmë një lak të mbyllur të gjendjeve ku distanca që ai kalon është gjithmonë pozitive, Ne do të vlerësojmë vlerat e matricës 81x81 të cilat janë 81^2 = 6561, tani nëse na duhen 5 sekonda për t'i marrë këto vlera të ruajtura në matricë atëherë do të duhen 9.1125 orë vetëm për të bërë një tërësi matricë dhe pastaj një lak hapash për të maksimizuar efikasitetin e lëvizjes mund të kuptohet lehtë.

Hapi 5: PROBLEMET E PRFSHIRA -

  1. Për disa gjendje lëvizja e botit ishte shumë e pabarabartë dhe po ndikonte në vlerën e sensorit të ultrazërit, boti do të anonte dhe do të merrte distancën nga një mur i largët.
  2. Problemi i shkyçjes nga laptopi dhe rifillimi i arduino -s ishte ta bësh atë të stërvitet nga vlera 0 ishte shumë irritues.
  3. Shikimi i trenit robotik për 5 orë të vazhdueshëm ishte shumë shterues.

Hapi 6: MODULI A1 dhe A2:

  • Pjesa mekanike përfshin bordin e shasisë me katër servos të fiksuar në të. Ne përdorëm shkopinj akullore për të bërë këmbët.
  • Detyra jonë parimore - të mbajmë gjurmët e distancës së botit nga pozicioni i tij fillestar.
  • Qasja jonë e parë ishte përdorimi i sensorit xhiro dhe përdorimi i përshpejtimit të botit ndërsa lëviz për të nxjerrë shpejtësinë e tij dhe më pas pozicionin e tij.
  • Problem - Doli të ishte shumë e ndërlikuar për t'u zbatuar! Alternativë - Kufizuam lëvizjen e botit në 1 dimension dhe përdorëm sensorin tejzanor për të matur distancën nga një mur drejt përpara.
  • Moduli HC05-Bluetooth u përdor gjatë periudhës së trajnimit për të transmetuar shkallën e kalimit në distancë midis dy hapave në PC dhe atje të dhënat u ruajtën në një matricë.

Hapi 7: Lidhja me videot:

Lidhje me videot
Lidhje me videot

Hapat e foshnjës:

Stërvitje e stërvitjes:

Pothuajse drejtpërdrejt:

Video e robotit duke vallëzuar:

Videoja përfundimtare0:

Recommended: