Cuprins:

Programare Conducida Por El Acontecimiento En FTC: 4 Steps
Programare Conducida Por El Acontecimiento En FTC: 4 Steps

Video: Programare Conducida Por El Acontecimiento En FTC: 4 Steps

Video: Programare Conducida Por El Acontecimiento En FTC: 4 Steps
Video: Committee on Judiciary and Public Safety - 02/08/23 2024, Noiembrie
Anonim
Programare Conducida Por El Acontecimiento En FTC
Programare Conducida Por El Acontecimiento En FTC

Este anul acesta, echipa noastră a făcut o cantitate mare de lucru cu dezvoltarea software-ului dirijat prin evenimente pentru robotul nostru. Aceste programe au permis echipelor să dezvolte cu precizie programe autonome și chiar evenimente tele-OP repetabile. Como el trabajo de software que requiere es complejo, decidimos share el conocimiento que hemos ganado en el desarrollo de código impulsado por eventos para los robots de FTC.

Pasul 1: ¿Qué Es La Programación Dirigida Por Eventos?

În termeni generali, programarea dirijată prin evenimente, conform Techopedia, este dezvoltarea programelor care răspund la intrările utilizatorului. În acest sens, multe programe se consideră dirijate prin evenimente, incluzând programul tele-OP, care se bazează în intrări de un control manejat pentru un om pentru a duce la orice acțiune. Sin embargo, en términos del trabajo que nuestro equipo ha estado haciendo, la programación dirigida por eventos se trata de crear software a partir de diversas entradas; în alte cuvinte, documentează evenimente bazate în intrările de controlori și senzori, atunci putem pune în cola aceste evenimente și utilizați arhivul pentru a reveni la executarea evenimentului grabat.

Acest metodă de dezvoltare a programelor pentru robotul nostru are mai multe ventaje:

  • Ne permite să creăm programe autonome precise. Dado that we are created the software in time real while somete to the event, the values of sensor recogidos and used will be very precise, ya that provienen direct del event original.
  • Ne permite să creăm programe automate rapid. Hacer programas autónomos is tan sencillo as grabar una series of events and ajustar the event according sea necesar.
  • Ne permite să creăm procese automate pentru tele-op. Pentru acțiuni repetate în tele-OP, programarea dirijată pentru evenimente ne permite înregistrarea sunt acțiuni și atribuirea evenimentului la un buton în timpul perioadelor în care conductor este manevrarea robotului. Aceste evenimente automatizate pot fi influențate de senzori pentru a permite o execuție precisă.

Pasul 2: Flujo Lógico De La Programación Dirigida Por Eventos

Flujo Lógico De La Programación Dirigida Por Eventos
Flujo Lógico De La Programación Dirigida Por Eventos

A continuación se sample el flujo lógico de un programa controlado por eventos: el rojo reprezintă creația unui eveniment și el azul reprezintă la chemarea evenimentului. Pentru a crea un eveniment, se ia o secvență de intrări prin intermediul acțiunii robotului și se înregistrează ca evenimente; aceste evenimente se vor scrie într-un arhiv. Pentru llamar la un eveniment, se va vizualiza arhivul și intrările se vor întoarce la un procesator de evenimente pentru a transforma codul de arhivă într-o acțiune a robotului.

Pasul 3: Creador De Eventos

Creador De Eventos
Creador De Eventos
Creador De Eventos
Creador De Eventos

Los creadores de eventos se utilizan for documentar acciones o "eventos" basados in una variedad de senzores y botones. A măsură care robotul realizează acțiuni în câmpul, o clasă de creador de evenimente este creând evenimente pentru fiecare dintre acțiuni în paralel, făcând referințe la eveniment clasificat într-o clasă de eveniment. După ce a fost creat, evenimentul se pune într-o colă de evenimente în clasa de evenimente: primul eveniment ia punctul superior, apoi al doilea eveniment ia punctul superior și empuja spre abajo los eventos debajo de él, y esto continúa hasta que el programa se detiene. Când se detine programul, evenimentele se vor face într-un arhivă de format lizibil pentru oameni, ca și un arhivă JSON. Acest arhiv se poate utiliza pentru îmbunătățirea rutinelor autonome.

El code de ejemplo anterior configura los parámetros for the event, that in this case is un giro using a sensor IMU. A continuarea, colamăm evenimentul în cola de evenimente. Por último, truncamos el evento, que esencialmente está restableciendo el event for that podamos uselo for poner in cola los events futuros.

Pasul 4: Procesor de evenimente

Procesador De Eventos
Procesador De Eventos
Procesador De Eventos
Procesador De Eventos

Las clases de eventos toma el archivo legible por el ser humanos producido in the class de creador de eventos y hacen lo que cada evento en cola le dice that haga llamando a los métodos descritos într-o clasă de procesator de evenimente. A continuarea, clasa de procesator de evenimente indică robotul ca eveniment repite. Dacă se tratează de un simplu eveniment de "conducător drept" sau un eveniment complet lleno de distanțe, giros y strafes, el procesador reproduce orice eveniment care se va da. Acest proces este foarte util în timpul autonomiei, că un echipament poate grabar senzori și acțiuni tele-OP înainte de partid, apoi doar să reproducă evenimentele în autonom. Este procesul se va repeta de memorie. Acest lucru permite ca un program autonom sea 100% configurabil printr-un singur arhiv. O dată când se stabilește creatorul și procesorul evenimentului, un echipament poate schimba simplu rutinele autonome prin intermediul arhivului lizibil pentru serul uman.

El ejemplo anterior comienza primero comprobando el archivo JSON de un evento y, a continuación, comprobando ese evento utilizând o instrucțiune a cazului pentru ce tip de eveniment este, în acest caz, un gir folosind senzorul IMU. O dată când se deduce că este un turneu folosind un eveniment IMU, a continuare, se procesa evenimentul, care în mod normal implică execuția codului evenimentului cu variabile ale evenimentului care se trece pentru replicarea evenimentului care se realizează anterior.

Recomandat: