Satura rādītājs:
- 1. darbība: sastāvdaļas
- 2. darbība. Lietošana katrai sastāvdaļai
- 3. solis: projektēšana
- 4. solis: spēlēšanas stratēģija
- 5. solis: programmēšana
Video: Arduino Sumo robots: 5 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:56
Pirms sākam
Kas ir sumo robots?
Tas ir paškontrolējams robots ar noteiktiem izmēriem un īpašībām, tas ir veidots arī naidīgās formās, kas ļauj tam piedalīties konkursos un sacensībās kopā ar citiem robotiem.
Nosaukums “sumo” cēlies no kāda sena japāņu sporta veida, kurā divi pretinieki cīnās riņķī, katrs cenšoties no tā izstumt otru pretinieku, un tas ir jādara robotiem arī sumo robotikas sacensībās, kur divi gredzenā ievietoti roboti un viens otrs mēģina izstumt pretinieku.
Ideja:
Izveidojiet robotu ar noteiktām specifikācijām un samērīgu ar šīs sacensības (Sumo) likumiem. Šim robotam jābūt precīzos izmēros, lai cīnītos un izdzīvotu, lai nekādā veidā netiktu izslēgts.
Tātad, apskatīsim Sumo robotu sacensību likumus:
Es paskaidrošu dažas svarīgas lomas, kas jums jāapsver, veidojot savu SUMO, tas arī varētu jums palīdzēt iedomāties un inovēt savu ideju, neiedziļinoties sīkumos.
1. Izmēri: maksimālais platums 20 cm, maksimālais garums 20 cm, augstums nav norādīts.
2. Forma: robota forma pēc sacensību sākuma var būt mainīga, bet bez neatdalāmām daļām, lai saglabātu vienu centrālo objektu.
3. Svars: nepārsniedz 3 kg.
4. Robotam jābūt paškontrolējošam.
1. darbība: sastāvdaļas
1 Arduino Ano3
2 līdzstrāvas motors
1 L298N Dual H tilts Arduino
1 ultraskaņas sensors
2 IR TCRT5000
1 akumulators 9v
AA baterija 4 * 1,5 V gab. + Akumulatora nodalījums
4 robotu riteņi
džemperu vadi
2. darbība. Lietošana katrai sastāvdaļai
Tagad mums ir nepieciešamās sastāvdaļas, tāpēc sīkāk izpētīsim, kam tās tiek izmantotas.
1- Arduino Ano3
Tā ir galvenā plate, kas kontrolē visas daļas un savieno to kopā
2- līdzstrāvas motors
Kas palīdz robotam manevrēt un pārvietoties KONKURSAS gredzenā
4- L298N Dual H tilts Arduino
Tas ir mazs panelis, kas nodrošina pastāvīgu spriegumu motoriem, kā arī Arduino plāksnes atbalstu ar labu kustības un sprieguma kontroli.
5- ultraskaņas sensors
Ultraskaņas sensoru izmanto, lai atrastu pretinieka robotu, un tas parasti tiek novietots robota augšpusē.
6- IR TCRT5000
Kā jau minējām, konkursa gredzens ir veidots noteiktā izmērā un tam ir divas krāsas, pildījums ir melns un rāmis ir balts. Konkursa dalībniekam nevajadzētu iziet. Tāpēc mēs izmantojam IR sensoru, lai pārliecinātos, ka robots netiks ārā no gredzena. Šim sensoram ir iespēja atšķirt gredzena krāsas).
7- Baterija 9v
Tas atbalsta galveno plati (Arduino) ar svarīgo spriegumu.
8- AA baterija 4 * 1,5 V gab. + Akumulatora nodalījums
Tas atbalsta abus motorus (līdzstrāvas motoru) ar svarīgo spriegumu, un tas ir jāatdala, lai nodrošinātu visu riteņu spēku.
9- Jumper vadi
3. solis: projektēšana
Esmu izveidojis divus sumo robotu dizainus, izmantojot Google 3D skici, jo man patīk izveidot savu robotu papīra modeļus, pirms es izgriezu detaļas no akrila uz lāzera griezēja. Lai pārbaudītu, vai visas detaļas pareizi saderēs, ir svarīgi, lai papīra modeļi būtu drukāti ar precīzu zīmējumu izmēru.
Un es ņemu vērā to, ka es konkrēti mēra konkurences likumus, tāpēc mēģiniet domāt radošāk un veidot savu modeli.
Lai būtu jutīgāks pret iesniegto robota svaru vai pēc tam ievietojiet baterijas robota priekšpusē ar priekšējo vairogu 45 grādu leņķī pret robota formu.
Lejupielādējiet dizainu 1 no šejienes
Lejupielādējiet dizainu 2 no šejienes
Varat arī lejupielādēt papīra modeļa veidni
Atveriet PDF failu, izmantojot Adobe Acrobat Reader (ieteicamā programmatūra)
4. solis: spēlēšanas stratēģija
Kā jau iepriekš minējām, robotam ir jābūt savai spējai kontrolēt to pašam, tāpēc tas dod mums iespēju to ieprogrammēt vairāk nekā vienā veidā, atkarībā no tā, kā vēlaties, lai robots spēlē uz gredzena tāpat kā jebkurš pretinieks. tiešām gribu uzvarēt spēli.
Atskaņošanas stratēģija (1):
· Mēs nepārtraukti veidosim robotu ap sevi.
· Rotācijas laikā robots nepārtraukti mēra attālumu.
· Ja izmērītais pretinieka attālums ir mazāks par (piemēram, 10 cm), tas nozīmē, ka pretinieks atrodas tieši robota priekšā.
· Robotam jāpārtrauc rotācija un pēc tam jāsāk uzbrukums (ar pilnu spēku ātri virzīties uz priekšu).
· Robotam vienmēr jānoņem IR sensoru rādījumi, lai pārliecinātos, ka neesam šķērsojuši gredzena robežu.
· Ja lasīšana par IR klātbūtni baltā krāsā, tai jāpārvieto robots tieši pretējā sensora virzienā (piemēram: ja priekšējais sensors, kas norādīja uz robota balto krāsu, pārvietojas atpakaļ)!
Atskaņošanas stratēģija (2):
· Startā robots mēra priekšā esošo attālumu.
· Robots pārvietojas atpakaļ tādā pašā izmērītajā attālumā.
· Robots pārstāj griezties un pēc tam pēkšņi sāk uzbrukt (virzieties uz priekšu ar pilnu spēku).
· Pretinieka piestiprināšanas gadījumā robotam jāpagriežas par 45 grādiem, lai izdzīvotu, ja izkristu no gredzena.
· Robotam vienmēr jānoņem IR sensoru rādījumi, lai pārliecinātos, ka neesam šķērsojuši gredzena robežu.
· Ja lasīšana par IR klātbūtni ir baltā krāsā, tai jāpārvieto robots tieši pretējā sensora virzienā (piemēram: ja priekšējais sensors, kas norādīja uz robota balto krāsu, pārvietojas atpakaļ)!
5. solis: programmēšana
lūdzu, pārbaudiet ķēdi un kodu
* Atjauninājums 26.03.2019
Vispirms lejupielādējiet šeit ultraskaņas bibliotēku un instalējiet to:
github.com/ErickSimoes/Ultrasonic/blob/mas…
/*
autors Ahmeds Azouzs
www.instructables.com/id/How-to-Make-Ardu…
Vispirms lejupielādējiet lib no šejienes
github.com/ErickSimoes/Ultrasonic/blob/ma…
*/
#iekļaut ultraskaņu.h
Ultraskaņas ultraskaņa (4, 3);
const int IN1 = 5;
const int IN2 = 6; const int IN3 = 9; const int IN4 = 10; #define IR_sensor_front A0 // priekšējais sensors #define IR_sensor_back A1 // aizmugurējais sensons int distance;
anulēts iestatījums ()
{Sērijas sākums (9600); kavēšanās (5000); // kā uz sumo compat lomas} void loop () {int IR_front = analogRead (IR_sensor_front); int IR_back = analogRead (IR_sensor_back); attālums = ultraskaņas.lasījums (); ROTATE (200); // start rotete if (distance <20) {Stop (); while (attālums 650 || IR_back> 650) {break;} kavēšanās (10); } ja (IR_front <650) // <650 nozīmē baltu līniju {Stop (); kavēšanās (50); ATPAKAĻ (255); kavēšanās (500); } ja (IR_back <650) // {Stop (); kavēšanās (50); Uz priekšu (255); kavēšanās (500); } /* ----------- atkļūdošana ---------------- Serial.print (ultrasonic. Ranging (CM)); Sērijas.println ("cm"); Serial.println ("IR priekšpuse:"); Serial.println (IR_front); Serial.println ("IR atpakaļ:"); Serial.println (IR_back); */
} //--------------------------------------------
void FORWARD (int Speed) {// Ja mēs vēlamies ļaut motoram virzīties uz priekšu, // vienkārši anulējiet šo daļu cilpas sadaļā. analogWrite (IN1, ātrums); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, ātrums); } // -------------------------------------------- void BACKWARD (int Speed) {// Kad mēs vēlamies ļaut motoram virzīties uz priekšu, // vienkārši anulējiet šo daļu cilpas sadaļā. analogWrite (IN1, 0); analogWrite (IN2, ātrums); analogWrite (IN3, ātrums); analogWrite (IN4, 0); } // -------------------------------------------- void ROTATE (int Speed) {// Kad mēs vēlamies ļaut motoram griezties, // vienkārši anulējiet šo daļu cilpas sadaļā. analogWrite (IN1, ātrums); analogWrite (IN2, 0); analogWrite (IN3, ātrums); analogWrite (IN4, 0); } // -------------------------------------------- void Stop () {// Kad mēs vēlamies apturēt motoru, // vienkārši anulējiet šo daļu cilpas sadaļā. analogWrite (IN1, 0); analogWrite (IN2, 0); analogWrite (IN3, 0); analogWrite (IN4, 0); }
Ieteicams:
Arduino - Labirinta risināšanas robots (MicroMouse) Sienas robots: 6 soļi (ar attēliem)
Arduino | Labirinta risināšanas robots (MicroMouse) Sienas sekojošais robots: Laipni lūdzam, es esmu Īzāks, un šis ir mans pirmais robots "Striker v1.0". Šis robots tika izstrādāts, lai atrisinātu vienkāršu labirintu. Sacensībās mums bija divi labirinti un robots spēja tos identificēt. Jebkuras citas izmaiņas labirintā var prasīt izmaiņas
5 vienā Arduino robots - Seko man - Rinda seko - Sumo - Zīmējums - Izvairīšanās no šķēršļiem: 6 soļi
5 vienā Arduino robots | Seko man | Rinda seko | Sumo | Zīmējums | Izvairīšanās no šķēršļiem: šajā robota vadības panelī ir mikrokontrolleris ATmega328P un motora draiveris L293D. Protams, tas neatšķiras no Arduino Uno plates, taču tas ir noderīgāk, jo motora darbināšanai nav vajadzīgs cits vairogs! Tas ir brīvs no lēciena
Robots Mini Sumo: 5 soļi
Robots Mini Sumo: sākotnēji jums ir jābūt visiem nepieciešamajiem materiāliem, lai sāktu montēt sumo robotu. Šim nolūkam jums ir jābūt šādām ierīcēm: 1 PIC 16F877A 2 kvarca kristāls 4 MHz 4 kondensatori 22pF 2 digitālais QTR-1RC līnijas sensors 1 Bluetooth režīms HC -05 1 Ultra
Līdzsvarojošais robots / 3 riteņu robots / STEM robots: 8 soļi
Līdzsvarojošais robots / trīs riteņu robots / STEM robots: mēs esam izveidojuši kombinētu balansēšanas un trīsriteņu robotu, kas paredzēts lietošanai skolās un pēc skolas izglītības programmās. Robota pamatā ir Arduino Uno, pielāgots vairogs (visas konstrukcijas detaļas ir iekļautas), litija jonu akumulators (viss atbilst
Sviesta robots: Arduino robots ar eksistenciālu krīzi: 6 soļi (ar attēliem)
Sviesta robots: Arduino robots ar eksistenciālu krīzi: šī projekta pamatā ir animācijas sērija "Riks un Mortijs". Vienā no epizodēm Riks izgatavo robotu, kura vienīgais mērķis ir atnest sviestu. Kā studentiem no Bruface (Briseles Inženieru fakultāte) mums ir uzdevums mecha