Hold tæt på mig (digilent robotprojekt): 6 trin

Hold tæt på mig (digilent robotprojekt): 6 trin

Indholdsfortegnelse:

Anonim

Dette er vores første robotprojekt, vi gerne vil vise. Vores plan er at bygge en robot, der kan bevæge sig i et bestemt miljø. Formålet er at gøre seniorers liv lettere. Roboten skal være i stand til at bære små vigtige ting til bestemte punkter.

Det er den første version af projektet.

forsyninger:

Trin 1: Materialer

Vi brugte

-En chipKit Max32

- en roomba irobot

- et Pmod digitalt kompas HMC5883L

- en PmodWifi MRF24WG0MA

- 4 stk. PmodMAXSONAR Ultrasonic Range Finder LV-EZ1

- 4 stykker af n kanal mosfet

- 8 stk. 200 ohm modstand

- brødbræt

- nogle ledninger til at forbinde materialerne

og endelig er alle disse ting placeret i en plastik boks på toppen af ​​robotten

Trin 2: Grundlæggende teori

Kortlægning

Roboten håndterer miljøet i et Descartes koordinatsystem. Hvor robotten er placeret, er dette punkt (0,0) point. Vi forestiller os et gitternet til koordinatsystemet, og robotten skal være midt i et gitter. Et gitter er 35 cm, hvilket er robotens diameter. Vi kalder et gitter som en knude. Robotten kortlægger sin nabo knude og definerer, at det er gratis eller ej. Hvis det er gratis, registrerer robotten det og vælger en gratis knude fra sit miljø for at flytte der. Denne aktivitet fortsætter, indtil der ikke er nogen aktiveringsknude. Endelig kortlægges miljøet. Vi bygger en database fra noderne. En knude indeholder et par (x, y) og de tilgængelige nabo knudepunkter. Ifølge databasen kan vi søge mellem to punkter den korteste rute med heuristisk søgealgoritme (bredde først), og en af ​​dem bliver robotens position.

Trin 3: ChipKit modul

ChipKit er hovedmodulet, fordi det håndterer robotens bevægelse og behandler data fra sensorerne. Det bygger og opretholder databasen. Vi har brug for mere hukommelse til at opbygge databasen fra noder, end vi faktisk har. På grund af det for det første overfinerede vi bunken størrelse.

#define CHANGE_HEAP_SIZE (størrelse) __asm__ volatile (" t.globl _min_heap_size n t.equ _min_heap_size," #size " n")

CHANGE_HEAP_SIZE (0x5000); ekstern __attribute __ ((section ("linker_defined"))) char _heap; ekstern __attribute __ ((section ("linker_defined"))) char _min_heap_size;

Trin 4: Sensorer

En sensors måleområde er 15,24 cm - 6,45 m. Vi bruger 4 sensorer, og hvis vi får dem til at fungere samtidigt, vil de forvirre hinanden. Derfor bruger vi N chanel mosfet kredsløb.

Dataaradens proces:

- For det første ingen sensor får strøm, fordi alle mosfet er aktive høje.

- En af mosfet sætter lavt, så sensoren får strøm

- Ping han sensorens RX

- læs dataene

- MOSFET sat højt

Trin 5: Roomba Robot

Dette er den nemmeste del af projektet. Kommunikationen mellem robotten og chipKit er en seriel kommunikation. Dette bruger en RX og en TX-pin. Der er et batteri i roboten. Chippen får strøm fra batteriet. På billedet viser de fremhævede linjer de anvendelige stifter. Kommunikationen mellem robotten og chipKit er asynkron. Roboten kan kontrolleres med driftskoder. For eksempel hvis 137 opcode vil blive skrevet med de rigtige parametre vil robotten bevæge sig. Roomba-biblioteket indeholder disse opkoder.

Trin 6: Tilslutning af modulerne

Robotens batteri er forbundet med chipKits 5 V-udgang. En af robotternes jord er forbundet med fælles jorden. De 2 serielle kommunikationsstifter er forbundet til chipKit: Robots RX (pin 1) er forbundet til chipKit's TX1 (pin 18) og robotens TX (pin 2) til chipKit's RX1 (pint 19).

4 MaxSONARs jord er forbundet til fælles jorden. RX pinss er forbundet til 82, 79, 76, 73 pins. PWM-stifterne er forbundet til 81, 78, 75, 72 stifter. De 4 mosfet beviser makt til sonarerne. Gennemført MOSFET'erne kan vi slå ind og ud af sonarerne.

MOSFETs portstifterne er forbundet til 11, 8, 5, 2 stifter gennem 200 ohm 4 modstande. Mosfets kilde er forbundet med sonarens 5 V-stifter, og mosfetsens afløb forbinder til 5 V-batteriet.

Kompasset har SCL- og SDA-ben, som forbinder til chipKit 'SCL og SDA lignende stifter.