Sommario:
- Passaggio 1: cos'è la programmazione basata sugli eventi?
- Passaggio 2: flusso logico della programmazione guidata dagli eventi
- Passaggio 3: creatore di eventi
- Passaggio 4: processore di eventi
Video: Programmazione guidata dagli eventi in FTC: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:01
Quest'anno, il nostro team ha svolto un grande lavoro con lo sviluppo di software basato su eventi per il nostro robot. Questi programmi hanno permesso al team di sviluppare con precisione programmi autonomi e persino eventi tele-op ripetibili. Poiché il lavoro software richiesto è complesso, abbiamo deciso di condividere le conoscenze acquisite nello sviluppo di codice guidato dagli eventi per i robot FTC.
Passaggio 1: cos'è la programmazione basata sugli eventi?
In termini generali, la programmazione guidata dagli eventi, secondo Techopedia, è lo sviluppo di programmi che rispondono all'input dell'utente. In questo senso, molti programmi sono considerati guidati dagli eventi, incluso il programma tele-op di una squadra, che si basa sugli input di un controller gestito da umani per condurre qualsiasi azione. Tuttavia, in termini di lavoro svolto dal nostro team, la programmazione basata sugli eventi riguarda la creazione di software da vari input; in altre parole, documentiamo gli eventi in base agli input di controller e sensori, quindi possiamo mettere in coda questi eventi e utilizzare il file per eseguire nuovamente l'evento registrato.
Questo metodo di sviluppo dei programmi per il nostro robot ha diversi vantaggi:
- Ci permette di creare programmi autonomi accurati. Poiché stiamo creando il software in tempo reale durante l'evento, i valori del sensore raccolti e utilizzati saranno molto precisi, poiché provengono direttamente dall'evento originale.
- Ci permette di creare programmi autonomi velocemente. Fare programmi autonomi è semplice come registrare una serie di eventi e regolare l'evento se necessario.
- Ci permette di creare processi automatici per tele-op. Per le azioni ripetute in tele-op, la programmazione basata su eventi ci consente di registrare queste azioni e assegnare l'evento a un pulsante durante i periodi di partita controllati dal pilota. Questi eventi automatizzati possono essere influenzati da sensori per consentirne l'esecuzione accurata.
Passaggio 2: flusso logico della programmazione guidata dagli eventi
Quanto segue descrive il flusso logico di un programma basato su eventi: il rosso rappresenta la creazione di un evento e il blu rappresenta la chiamata dell'evento. Per creare un evento, una sequenza di input viene acquisita tramite l'azione del robot e registrata come eventi; questi eventi vengono scritti in un file. Per chiamare un evento, quel file viene letto e gli input vengono inviati a un processore di eventi per trasformare il codice del file in un'azione del robot.
Passaggio 3: creatore di eventi
I creatori di eventi vengono utilizzati per documentare azioni o "eventi" basati su una varietà di sensori e pulsanti. Mentre il robot esegue azioni sul campo, una classe di creatore di eventi crea eventi per ciascuna di tali azioni in parallelo, facendo riferimento all'evento classificato in una classe di eventi. Dopo essere stato creato, l'evento viene messo in una coda di eventi nella classe events: il primo evento prende il primo posto, quindi il secondo evento prende il primo posto e spinge verso il basso gli eventi sottostanti, e questo continua fino all'arresto del programma. Quando il programma viene interrotto, gli eventi vengono inviati a un file in formato leggibile dall'uomo, come un file JSON. Questo file può essere utilizzato per migliorare meglio le routine autonome.
Il codice di esempio sopra imposta i parametri per l'evento, che in questo caso è una svolta che utilizza un sensore IMU. Quindi accodiamo l'evento nella coda degli eventi. Infine, tronchiamo l'evento, che essenzialmente reimposta l'evento in modo da poterlo utilizzare per accodare eventi futuri.
Passaggio 4: processore di eventi
Le classi di eventi prendono il file leggibile prodotto nella classe creatore di eventi e fanno tutto ciò che ogni evento in coda gli dice di fare chiamando i metodi delineati in una classe del processore di eventi. La classe del processore di eventi indica quindi al robot quale evento riprodurre. Che si tratti di un semplice evento "drive forward" o di un evento complesso pieno di distanze, svolte e strafe, il processore riprodurrà qualsiasi evento assegnatogli. Questo processo è molto utile durante l'autonomia, poiché una squadra può registrare sensori e azioni Tele-Op prima di abbinare, quindi semplicemente riprodurre gli eventi in autonomia. Questo processo è chiamato Memory Replay. Ciò consente a un programma autonomo di essere configurabile al 100% tramite un unico file. Una volta stabiliti il creatore e il processore dell'evento, un team può semplicemente modificare le routine autonome attraverso il file leggibile dall'uomo.
L'esempio sopra inizia prima controllando il file JSON per un evento, quindi controllando quell'evento usando un'istruzione case per vedere che tipo di evento è, in questo caso una svolta usando un sensore IMU. Una volta che può dire che si tratta di un turno utilizzando l'evento IMU, si occupa quindi dell'elaborazione dell'evento, che di solito comporta l'esecuzione del codice da cui proviene l'evento utilizzando le variabili dell'evento, passate per replicare l'evento che è stato fatto prima.
Consigliato:
Voglio essere circondato dagli effetti visivi di iTunes!: 5 passaggi
Voglio essere circondato da iTunes Visual Effect!: iTunes Visual Effect è davvero fantastico. Mi piace vedere il mio effetto visivo di iTunes che ascolta musica. Nel frattempo, mi piace HOMESTAR sviluppato da SEGATOYS. HOMESTAR è un planetario domestico. Può proiettare il cielo stellato di 3 metri di diametro al
Antifurto fai-da-te per bici (attivato dagli urti): 5 passaggi (con immagini)
Antifurto per bici fai-da-te (attivato dagli urti): in questo progetto ti mostrerò come creare un semplice lucchetto per bici con allarme attivato dagli urti. Come suggerisce il nome, crea un suono di allarme quando la tua bici viene spostata con il permesso. Lungo la strada impareremo qualcosa sul piezoele
Dagli orologi al quarzo ai lampeggiatori a LED: 13 passaggi
Dagli orologi al quarto ai lampeggiatori a LED: il meccanismo dell'orologio in questi orologi al quarto non è davvero il migliore, tuttavia il circuito al quarto funziona molto tempo dopo che il resto dell'orologio si guasta. Quindi, ecco alcuni divertenti circuiti lampeggianti che puoi realizzare da questi circuiti. NOTA: NON UTILIZZARE LED CHIP. Controlla
Come interfacciare una matrice LED 8x8 guidata MAX7219 con il microcontrollore ATtiny85: 7 passaggi
Come interfacciare una matrice LED 8x8 guidata MAX7219 con il microcontrollore ATtiny85: Il controller MAX7219 è prodotto da Maxim Integrated è un driver di visualizzazione a catodo comune di ingresso/uscita seriale compatto che può interfacciare i microcontrollori a 64 LED singoli, display LED numerici a 7 segmenti fino a 8 cifre, display grafico a barre
Sì - No: una cassetta postale guidata da Arduino: 4 passaggi (con immagini)
Sì - No: una casella di posta guidata da Arduino: in questo progetto ti mostreremo come rendere la tua casella di posta più divertente e utile. Con questa casella di posta, se una lettera è nella tua posta, hai una bella luce che mostra se hai posta e puoi controllare questa casella di posta con bluetooth per automaticamente