» elettronica » Arduino »Robot che passano labirinti

Robot che passano labirinti




L'articolo mostra la creazione di un robot che viaggia lungo le linee e può attraversare i labirinti, dopo aver studiato il labirinto, può attraversarlo nel modo più breve. L'autore ha creato a lungo questo progetto, la fortuna lo ha superato per la terza volta.

Dimostrazione della macchina:


Materiali e strumenti:
- Arduino RBBB
- Micromotori 2 pezzi
- Staffe per motori a 2 pezzi
- Ruote 2 pezzi
- ruota a sfera
- Sensore di riflessione analogico
- Dadi con bulloni da 2 pezzi.
- macchinista
- Portabatterie 4 pezzi AAA
- Batterie (batterie ricaricabili) AAA 4 pezzi
- Caso
- Dadi, bulloni, rondelle
- fili di collegamento
- saldatura
- pinze
- saldatore
- cacciavite

Primo passo. Teoria.
L'autore aveva bisogno il robot, che a sua volta troverà una via d'uscita dal labirinto, dopo di che sarà in grado di ottimizzare il viaggio di ritorno. Durante la creazione di una macchina per labirinti, erano guidati dal metodo della mano sinistra. Per renderlo più chiaro, dovresti immaginare di essere in un labirinto e tenere sempre la mano sinistra sul muro. Dopo aver superato un determinato percorso, questo ti aiuterà a uscire dal labirinto se non è chiuso. Il robot può funzionare solo con labirinti aperti.

I principi del metodo per la mano sinistra sono abbastanza semplici:
- Se puoi girare a sinistra, gira a sinistra.
- Se è possibile spostarsi dritto, spostarsi dritto.
- Se puoi girare a destra, svolta a destra.
- Se sei in un vicolo cieco, gira di 180 gradi.

Inoltre, il robot deve prendere decisioni all'intersezione, ma se non si spegne alla curva, andrà dritto. Per costruire un percorso di ritorno migliore, ogni decisione viene scritta in memoria.
L = svolta a sinistra
R = svolta a destra
S = salta un turno
B = ruota di 180 gradi

Questo metodo è mostrato sotto in azione usando un semplice labirinto come esempio. Il robot ha coperto la distanza con i comandi LBLLBSR.
Robot che passano labirinti







Il percorso è uscito piuttosto lontano; deve essere trasformato in un SRR ottimale. Per fare ciò, viene determinato dove il robot ha girato nel modo sbagliato. Ovunque sia utilizzato il comando "B", il percorso sarà errato, poiché il robot si trovava in un vicolo cieco, quindi "B" dovrebbe essere sostituito con qualcos'altro. La prima mossa sbagliata fu LBL, il robot si girò e si girò, mentre era solo necessario seguire direttamente LBL = S. Quindi, viene costruito il percorso ideale LBL = S, LBS = R. Sulla base di tali sostituzioni, il robot costruisce un percorso corto ideale per se stesso.





Secondo passo Il telaio del robot.
L'acrilico con uno spessore di 0,8 mm è diventato la base per il telaio del robot; il taglio è stato eseguito da un laser secondo il disegno. Nell'archivio sotto l'articolo ci sarà un file di disegno di AutoCAD. Non è stato necessario utilizzare tale materiale, ma l'autore ha preso ciò che era disponibile.

Nella parte inferiore, sono realizzati fori per il montaggio di motori, schede, ruote e sensori. La parte superiore ha un grande foro per i fili.










Terzo passo Installazione di ruote.
L'autore ha attaccato entrambi i motori con bulloni. Inoltre, hanno semplicemente messo le ruote sul loro asse, allineando l'albero con il foro nella ruota.




Il quarto passo. Arduino.
A questo punto, l'autore ha prima seguito le istruzioni di assemblaggio per Arduino RBBB. Inoltre, ha tagliato parte della tavola per ridurne le dimensioni. Il connettore di alimentazione e lo stabilizzatore sono stati tagliati con le forbici per metallo. Successivamente, un connettore a 9 pin è stato saldato sul lato sinistro della scheda per contatti da 5 V a A0 per collegare un sensore ad esso. Un connettore a 4 pin è stato saldato sul lato destro della scheda per i contatti da D5 a D8 e un controller del motore verrà collegato ad esso. Per fornire energia, il connettore a 2 pin è stato saldato a 5 V e GND.








Fase cinque Controllore motore.
L'autore stesso ha sviluppato un circuito stampato per questo passaggio, il circuito in formato Eagle è allegato nell'archivio sotto l'articolo. Il primo motore era collegato ai pin M1-A e M1-B, il secondo a M2 e M2-B. Il primo ingresso del primo motore In 1A era collegato al 7 ° pin dell'Arduino. In 1B è stato collegato al pin 6 dell'Arduino. Al primo ingresso del secondo motore, In 2A è collegato al 5 ° pin di Arduino. Pin In 2B si collega al pin 8 di Arduino. L'alimentazione e la terra sono collegate all'alimentazione e alla terra di Arduino.








Step Six Sensori.
Questo elemento viene venduto sotto forma di una scheda di sensori, inizialmente ce ne sono otto, i due estremi sono stati eliminati dall'autore. Alla scheda è stato saldato un connettore a 9 pin, a cui verrà collegato un filo che conduce all'Arduino. Il sensore rileva una parte bianca e nera del labirinto usando il riflesso dalla superficie.




Settimo passo. Parte superiore.
Il telaio con la parte superiore del robot collegato da bulloni e rack. La batteria è stata fissata sulla parte superiore con velcro. I fili da lui furono posati attraverso il foro preparato. Durante il collegamento, l'autore ha deciso di non utilizzare le viti, ma di lasciare la batteria con velcro in modo che sarebbe più facile sostituire le batterie. Utilizzando l'interruttore sulla custodia della batteria, è stato eseguito un controllo delle prestazioni.








Passo otto Installazione di sensori.
I sensori erano imbullonati sul fondo della macchina. Il pin GND è collegato a GND Arduino. Successivamente, il pin Vcc è collegato all'Arduino 5V. Gli ADC Arduino 5-0 collegavano i pin dei sensori analogici 6-1.






Step Nine. Potenza.
Arduino ha appena saldato i fili della batteria. Accendere e spegnere il robot sarà un interruttore sulla batteria, quindi è stato deciso di utilizzare la saldatura. Questo completa il montaggio del robot.


Passo dieci La parte software.
Il programma ha diverse funzioni responsabili dell'algoritmo operativo. La funzione "mano sinistra" riceve letture dai sensori e controlla il robot secondo queste regole. La funzione di rotazione viene attivata prima che il robot noti una linea nera, avendo notato che sta viaggiando dritto. È inoltre integrata una funzione di ottimizzazione del percorso. Il programma può essere scaricato sotto l'articolo nell'archivio.


Video robot:


labirinto-solving-robot.rar [28.67 Kb] (download: 545)
5.5
5.5
5.5

Aggiungi un commento

    • sorrideresorrisiXaxabeneDONTKNOWyahoonea
      capozeroimbrogliaresìSì-sìaggressivosegreto
      scusaballaredance2dance3perdonoaiutobevande
      arrestoamicibuonogoodgoodfischiodeliquiolinguetta
      fumobattimanicraydeclarederisoriodon-t_mentionscaricare
      caloreadiratolaugh1mdaincontromoskingnegativo
      not_ipopcornpunireleggerespaventarespaventacerca
      schernirethank_youquestoto_clueumnikacutoconcordare
      cattivobeeeblack_eyeblum3arrossirevanterianoia
      censuratospiritosagginesecret2minacciarevittoriayusun_bespectacled
      ShokRespektlolPrevedbenvenutoKrutoyya_za
      ya_dobryiaiutantene_huliganne_othodiFludbandovicino

Ti consigliamo di leggere:

Passalo per lo smartphone ...