Talaan ng mga Nilalaman:

Programación Conducida Por El Acontecimiento En FTC: 4 Hakbang
Programación Conducida Por El Acontecimiento En FTC: 4 Hakbang

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

Video: Programación Conducida Por El Acontecimiento En FTC: 4 Hakbang
Video: De razones y pasiones, nuevo programa conducido por Eduardo Lucita en BTV 2024, Nobyembre
Anonim
Programación Conducida Por El Acontecimiento En FTC
Programación Conducida Por 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 robot. Estos programas han permitido al equipo desarrollar con precisión programas autónomos e incluso eventos tele-OP repetibles. Ang software na ito ay kinakailangan upang magawa ang complejo, decidimos compartir el conocimiento que hemos ganado en el desarrollo de código impulsado por eventos para sa los robots de FTC.

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

En términos generales, la programación dirigida por eventos, segundo 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. 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; 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 robot tiene varias ventajas:

  • Hindi pinapahintulutan ang mga programang crear autasomos precisos. Dado que estamos creando el software en tiempo real mientras se somete even even, los valores del sensor recogidos y utilizados serán muy precisos, ya que provienen directamente del evento original.
  • Hindi pinahihintulutan ang mga programa ng crear autasomos rápidamente. Hacer programas autónomos es tan sencillo como grabar una serie de eventos y ajustar el evento según sea necesario.
  • Hindi pinapayagan ang mga crear procesos automáticos para sa tele-op. Para sa mga pag-uulit na repetidas sa tele-OP, ang programación dirigida por eventos nos permite registrar estas acciones y asignar el evento a un botón durante los periodos en cual el conductor está manejando el robot. Estos eventos automatizados pueden ser influenciados por sensores para permitir una ejecución precisa.

Hakbang 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

Isang pagpapatuloy na maaari mong mailagay sa loob ng isang programa na kontrolado ng mga kaganapan: ang rojo representa la creación de un evento y el azul representa la llamada del evento. Para sa pagsisikap, kahit na isang seguridad ng entradas a través de la acción del robot y se registran como eventos; estos eventos se escriben en un archivo. Para sa llamar a 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 robot.

Hakbang 3: Creador De Eventos

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

Los creadores de eventos se utilizan para sa documentar acciones o "eventos" basados en una variedad de sensores y botones. Isang medida que el robot 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. Sa pamamagitan ng detalyadong programa, los eventos se van a un archivo de formato readable por humanos, como un archivo JSON. Este archivo se puede utilizar para sa akin ang 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. Isang pagpapatuloy, colamos el evento en la cola de eventos. Por último, truncamos el evento, que esencialmente está restableciendo el evento para sa mga podamos usarlo para poner en cola los eventos futuros.

Hakbang 4: Procesador De Eventos

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

Las clases de eventos toma el archivo readible por el ser humanos producido en la clase de creador de eventos y hacen lo que cada evento en cola le dice que haga llamando a los métodos deskitos en una clase de procesador de eventos. Isang pagpapatuloy, la clase de procesador de eventos indica al robot cual evento repite. Si se trata de un simple 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 útil 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. Pinahihintulutan ng iyong programa ang dagat na 100% na mai-configure ang isang través de un solo archivo. Una sa lahat ng mga nilikha ng mga tagubilin sa lahat, 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, a Continuación, comprobando ese evento utilizando una instrucción del caso para ver qué tipo de evento es, en este caso, un giro usando el sensor IMU. Una upang maibawas ang mga ito sa unahan ng IMU, isang pagpapatuloy, upang magawa ang mga ito, ang normal na implikasyon ng mga ito upang maibalik ang lahat sa mga variable na kahit na ang mga pasahero ay gagamitin para sa realizó anteriormente.

Inirerekumendang: