Índice:
- Etapa 1: O que é programação orientada a eventos?
- Etapa 2: Fluxo lógico de programação orientada a eventos
- Etapa 3: criador do evento
- Etapa 4: Processador de eventos
Vídeo: Programação orientada a eventos em FTC: 4 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:36
Este ano, nossa equipe fez um grande trabalho de desenvolvimento de software orientado a eventos para nosso robô. Esses programas permitiram que a equipe desenvolvesse com precisão programas autônomos e até mesmo eventos tele-op repetíveis. Como o trabalho de software que ele exige é complexo, decidimos compartilhar o conhecimento que adquirimos no desenvolvimento de código orientado a eventos para robôs FTC.
Etapa 1: O que é programação orientada a eventos?
Em termos gerais, a programação orientada a eventos, de acordo com a Techopedia, é o desenvolvimento de programas que respondem à entrada do usuário. Nesse sentido, muitos programas são considerados orientados a eventos, incluindo o programa tele-op de uma equipe, que depende de entradas de um controlador operado por humanos para realizar qualquer ação. No entanto, em termos do trabalho que nossa equipe tem feito, a programação orientada a eventos trata da criação de software a partir de várias entradas; em outras palavras, documentamos eventos com base nas entradas de controladores e sensores, então podemos enfileirar esses eventos e usar o arquivo para executar novamente o evento registrado.
Este método de desenvolvimento de programas para nosso robô tem várias vantagens:
- Isso nos permite criar programas autônomos precisos. Como estamos criando o software em tempo real durante o evento, os valores do sensor coletados e usados serão muito precisos, pois vêm diretamente do evento original.
- Isso nos permite criar programas autônomos rapidamente. Fazer programas autônomos é tão simples quanto registrar uma série de eventos e ajustar o evento conforme necessário.
- Isso nos permite criar processos automáticos para tele-op. Para ações repetidas em tele-op, a programação orientada a eventos nos permite registrar essas ações e atribuir o evento a um botão durante os períodos de jogos controlados pelo motorista. Esses eventos automatizados podem ser influenciados por sensores para permitir sua execução precisa.
Etapa 2: Fluxo lógico de programação orientada a eventos
O seguinte descreve o fluxo lógico de um programa orientado a eventos: vermelho representa a criação de um evento e azul representa a chamada do evento. Para criar um evento, uma sequência de entradas é obtida por meio da ação do robô e registrada como eventos; esses eventos são gravados em um arquivo. Para chamar um evento, esse arquivo é lido e as entradas são enviadas a um processador de eventos para transformar o código do arquivo em ação de robô.
Etapa 3: criador do evento
Os criadores de eventos são usados para documentar ações ou “eventos” com base em uma variedade de sensores e botões. À medida que o robô realiza ações em campo, uma classe criadora de eventos está criando eventos para cada uma dessas ações em paralelo, referenciando o evento classificado em uma classe de eventos. Depois de ser criado, o evento é colocado em uma fila de eventos na classe de eventos: o primeiro evento ocupa o primeiro lugar, então o segundo evento toma o primeiro lugar e empurra quaisquer eventos abaixo dele, e isso continua até que o programa pare. Quando o programa é interrompido, os eventos vão para um arquivo de formato legível, como um arquivo JSON. Este arquivo pode ser usado para melhorar melhor as rotinas autônomas.
O código de exemplo acima configura os parâmetros para o evento, que neste caso é uma volta usando um sensor IMU. Em seguida, colocamos o evento na fila de eventos. Por fim, truncamos o evento, o que basicamente redefine o evento para que possamos usá-lo para enfileirar eventos futuros.
Etapa 4: Processador de eventos
As classes de eventos pegam o arquivo legível por humanos produzido na classe do criador do evento e fazem tudo o que cada evento enfileirado diz para fazer, chamando os métodos descritos em uma classe do processador de eventos. A classe do processador de evento então informa ao robô qual evento repetir. Quer se trate de um simples evento de "avanço" ou um evento complexo cheio de distâncias, curvas e strafes, o processador irá repetir qualquer evento dado a ele. Este processo é muito útil durante o modo autônomo, uma vez que uma equipe pode gravar sensores e ações de Tele-Op antes de combinar, então simplesmente reproduzir os eventos em modo autônomo. Este processo é denominado Memory Replay. Isso permite que um programa autônomo seja 100% configurável por meio de um único arquivo. Depois que o criador e o processador do evento são estabelecidos, uma equipe pode simplesmente alterar as rotinas autônomas por meio do arquivo legível por humanos.
O exemplo acima começa primeiro verificando o arquivo JSON para um evento e, em seguida, verificando esse evento usando uma instrução case para ver que tipo de evento é, neste caso, uma volta usando um sensor IMU. Uma vez que pode dizer que é uma vez usando o evento IMU, ele então lida com o processamento do evento, o que geralmente envolve a execução do código de origem do evento usando variáveis do evento, transmitidas para replicar o evento que foi feito antes.
Recomendado:
Programação Orientada a Objetos: Criando Objetos Aprendizado / Método / Técnica de Ensino Usando o Perfurador de Formas: 5 Passos
Programação Orientada a Objetos: Criando Objetos de Aprendizagem / Método / Técnica de Ensino Usando Shape Puncher: Método de aprendizagem / ensino para alunos iniciantes em programação orientada a objetos. Esta é uma forma de permitir que eles visualizem e vejam o processo de criação de objetos a partir de classes.Parte: 1. EkTools soco grande de 2 polegadas; formas sólidas são as melhores. Pedaço de papel ou c
Eventos do Google Agenda para ESP8266: 10 etapas
Eventos do Google Calendar para ESP8266: Neste tutorial, explicarei como importar dados de eventos do Google Calendar no Arduino IDE para a placa ESP8266. Irei importar o horário de término e o horário de início do meu treinamento do Google Calendar e imprimi-los no monitor serial do IDE do Arduino
Programação Orientada a Objetos: Criando Objetos Aprendizagem / Método / Técnica de Ensino com Tesouras: 5 Passos
Programação Orientada a Objetos: Criando Objetos. Aprendizagem / Método / Técnica de Ensino com Tesouras: Método de aprendizagem / ensino para alunos iniciantes em Programação Orientada a Objetos. Esta é uma forma de permitir que eles visualizem e vejam o processo de criação de objetos a partir de classes. Peças: 1. Tesouras (qualquer tipo serve). 2. Pedaço de papel ou cartolina. 3. Marcador
Notificações de eventos em tempo real usando NodeMCU (Arduino), Google Firebase e Laravel: 4 etapas (com imagens)
Notificações de eventos em tempo real usando NodeMCU (Arduino), Google Firebase e Laravel: Você já quis ser notificado quando uma ação fosse realizada em seu site, mas o e-mail não fosse adequado? Quer ouvir um som ou um sino sempre que fizer uma venda? Ou há necessidade de sua atenção imediata devido a uma emergência
Lanterna do projetor de eventos: 5 etapas (com imagens)
Lanterna do Projetor de Eventos: Todo mundo adora as festas de fim de ano! Mas, às vezes, sua casa pode não ter imagens festivas suficientes. Mas, essa é uma questão facilmente corrigível. Ao iluminar esta máquina de aumento do espírito natalino, você pode adicionar algumas imagens festivas a qualquer festa, celebração ou