Cov txheej txheem:

Programación Conducida Por El Acontecimiento En FTC: 4 Kauj Ruam
Programación Conducida Por El Acontecimiento En FTC: 4 Kauj Ruam

Video: Programación Conducida Por El Acontecimiento En FTC: 4 Kauj Ruam

Video: Programación Conducida Por El Acontecimiento En FTC: 4 Kauj Ruam
Video: De razones y pasiones, nuevo programa conducido por Eduardo Lucita en BTV 2024, Lub Xya hli ntuj
Anonim
Cov Kev Pab Cuam Tshuam los ntawm El Acontecimiento En FTC
Cov Kev Pab Cuam Tshuam los ntawm El Acontecimiento En FTC

Este año, nuestro equipo ha hecho una gran cantidad de trabajo con el desarrollo de software dirigido por eventos para nuestro neeg hlau. Estos programas han permitido al equipo desarrollar con precisión programas autónomos e incluso eventos tele-OP rov ua dua. Como el trabajo de software que requiere es complejo, decidimos compartir el conocimiento que hemos ganado en el desarrollo de código impulsado por eventos para los robots de FTC.

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

En términos generales, la programación dirigida por eventos, según Techopedia, es el desarrollo de programas que responden a las entradas del usuario. En este sentido, muchos programas se consideran dirigidas por eventos, incluido el programa tele-OP, que se basa en entradas de un control manejado por un humano para llevar a cabo cualquier acción. Ua txhaum txoj cai, 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 en otras palabras, documentamos eventos basados en las entradas de controladores y sensores, entonces podemos poner en cola estos eventos y utilizar el archivo para volver a ejecutar el evento grabado.

Este método de desarrollo de programas para nuestro neeg hlau tiene varias ventajas:

  • Nos permite crear programas autónomos precisos. Dado que estamos creando el software en tiempo tiag mientras se qee yam ntawm cov xwm txheej, los valores del sensor recogidos y utilizados serán muy precisos, ya que provienen directamente del evento thawj.
  • Nos permite crear programas autónomos rápidamente. Hacer programas autónomos es tan sencillo como grabar una serie de eventos y ajustar el evento según hiav txwv necesario.
  • Nos permite crear procesos automáticos para la tele-op. Para acciones repetidas en tele-OP, la programación dirigida por eventos nos permite registrar estas acciones y asignar el evento un un botón durante los periodos en cual el conductor está manejando el neeg hlau. Estos eventos automatizados pueden ser influenciados por sensores para permitir una ejecución precisa.

Kauj Ruam 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 muestra el flujo lógico de un programa controlado por eventos: el rojo sawv cev rau la creación de un evento y el azul representa la llamada del evento. Para crear un evento, se toma una secuencia de entradas a través de la acción del neeg hlau y se registerran como eventos; estos eventos se escriben en un archivo. Para llamar un un evento, se lee el archivo y las entradas se envían a un procesador de eventos para convertir el código de archivo en una acción del neeg hlau.

Kauj Ruam 3: Creador De Eventos

Creador tsib Eventos
Creador tsib Eventos
Creador tsib Eventos
Creador tsib Eventos

Los creadores de eventos se utilizan para documentar acciones o "eventos" basados en una variedad de sensores y botones. Lub medida que el neeg hlau realiza acciones en el campo, una clase de creador de eventos está creando eventos para cada una de esas acciones en paralelo, haciendo referencias al evento clasificado en una clase de evento. Después de ser creado, el evento se pone en una cola de eventos en la clase de eventos: el primer evento toma el punto superior, luego el segundo evento toma el punto superior y empuja hacia abajo los eventos debajo de él, y esto continúa hasta que el programa se detiene. Cuando se detiene el programa, los eventos se van a un archivo de formato legible por humanos, como un archivo JSON. Este archivo se puede utilizar para mejorar las rutinas autónomas.

El código de ejemplo anterior configura los parámetros para el evento, que en este caso es un giro utilizando un sensor IMU. Ib qho txuas ntxiv, colamos el evento en la cola de eventos. Los ntawm imoltimo, truncamos el evento, que esencialmente está restableciendo el evento para que podamos usarlo para poner en cola los eventos futuros.

Kauj Ruam 4: Tus Txheej Txheem De Eventos

Procesador tsib Eventos
Procesador tsib Eventos
Procesador tsib Eventos
Procesador tsib Eventos

Las clases de eventos toma el archivo nyeem tau los ntawm el ser humanos producido en la clase de creador de eventos y hacen lo que cada evento en cola le dice que haga llamando los los métodos descritos en una clase de procesador de eventos. Ib qho txuas ntxiv, la clase de procesador de eventos indica al robot cual evento repite. Si se trata de yooj yim evento de "conducir derecho" o un evento complejo lleno de distancias, giros y strafes, el procesador reproducirá cualquier evento que se le haya dado. Este proceso es muy iltil durante la autonomía, ya que un equipo puede grabar sensores y acciones tele-OP antes del partido, luego simplemente reproducir los eventos en autónomo. Este proceso se llama repetición de memoria. Esto permite que un programa autónomo hiav txwv 100% teeb tsa tau través de un solo archivo. Una vez que se establece el creador y el procesador del evento, un equipo puede simplemente cambiar las rutinas autónomas a través del archivo legible por el ser humano.

El ejemplo anterior comienza primero comprobando el archivo JSON de un evento y, txuas ntxiv txuas ntxiv, suav nrog kev tshwm sim siv tau zoo ib yam instrucción del caso para ver qué tipo de evento es, en este caso, un giro usando el sensor IMU. Una vez que deduce que es un giro usando un evento IMU, a continuación, se procesa el evento, que normalmente implica la ejecución del código del evento con variables del evento que se pasa para replicar el evento que se realizó anteriormente.

Pom zoo: