Spisu treści:
- Krok 1: Co to jest programowanie sterowane zdarzeniami?
- Krok 2: Przepływ logiczny programowania sterowanego zdarzeniami
- Krok 3: Kreator wydarzeń
- Krok 4: Procesor zdarzeń
Wideo: Programowanie sterowane zdarzeniami w FTC: 4 kroki
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:29
W tym roku nasz zespół wykonał wiele pracy przy opracowywaniu oprogramowania sterowanego zdarzeniami dla naszego robota. Programy te pozwoliły zespołowi na dokładne opracowanie programów autonomicznych, a nawet powtarzalnych zdarzeń teleoperacji. Ponieważ oprogramowanie, którego wymaga, jest złożone, postanowiliśmy podzielić się wiedzą, którą zdobyliśmy na temat tworzenia kodu sterowanego zdarzeniami dla robotów FTC.
Krok 1: Co to jest programowanie sterowane zdarzeniami?
Ogólnie rzecz biorąc, według Techopedii programowanie sterowane zdarzeniami to tworzenie programów, które reagują na dane wprowadzane przez użytkownika. W tym sensie wiele programów jest uważanych za sterowane zdarzeniami, w tym program teleoperacji zespołu, który polega na danych wejściowych z kontrolera prowadzonego przez człowieka w celu przeprowadzenia dowolnej akcji. Jednak w zakresie pracy, którą wykonuje nasz zespół, programowanie sterowane zdarzeniami polega na tworzeniu oprogramowania z różnych danych wejściowych; innymi słowy, dokumentujemy zdarzenia na podstawie wejść kontrolerów i czujników, następnie możemy te zdarzenia kolejkować i wykorzystać plik do ponownego uruchomienia zarejestrowanego zdarzenia.
Ta metoda tworzenia programów dla naszego robota ma kilka zalet:
- Pozwala nam tworzyć dokładne programy autonomiczne. Ponieważ tworzymy oprogramowanie w czasie rzeczywistym podczas trwania wydarzenia, zebrane i wykorzystane wartości czujników będą bardzo dokładne, ponieważ pochodzą bezpośrednio z oryginalnego wydarzenia.
- Pozwala nam na szybkie tworzenie programów autonomicznych. Tworzenie programów autonomicznych jest tak proste, jak rejestrowanie serii zdarzeń i dostosowywanie zdarzenia w razie potrzeby.
- Pozwala nam tworzyć automatyczne procesy dla tele-op. W przypadku powtarzających się działań w trybie tele-op, programowanie sterowane zdarzeniami pozwala nam rejestrować te działania i przypisywać zdarzenie do przycisku podczas kontrolowanych przez kierowcę okresów meczów. Na te zautomatyzowane zdarzenia mogą wpływać czujniki, aby umożliwić ich dokładne wykonanie.
Krok 2: Przepływ logiczny programowania sterowanego zdarzeniami
Poniżej przedstawiono logiczny przepływ programu sterowanego zdarzeniami: czerwony przedstawia tworzenie zdarzenia, a niebieski przedstawia wywołanie zdarzenia. W celu utworzenia zdarzenia sekwencja danych wejściowych jest pobierana przez działanie robota i rejestrowana jako zdarzenia; te zdarzenia są zapisywane do pliku. W przypadku wywołania zdarzenia plik jest odczytywany, a dane wejściowe są wysyłane do procesora zdarzeń w celu przekształcenia kodu pliku w działanie robota.
Krok 3: Kreator wydarzeń
Kreatory zdarzeń służą do dokumentowania akcji lub „zdarzeń” na podstawie różnych czujników i przycisków. Ponieważ robot wykonuje akcje w terenie, klasa twórcy zdarzeń tworzy równolegle zdarzenia dla każdej z tych akcji, odwołując się do zdarzenia sklasyfikowanego w klasie zdarzenia. Po utworzeniu zdarzenie jest umieszczane w kolejce zdarzeń w klasie zdarzeń: pierwsze zdarzenie zajmuje pierwsze miejsce, drugie zdarzenie zajmuje pierwsze miejsce i spycha wszystkie zdarzenia pod nim i trwa do momentu zatrzymania programu. Po zatrzymaniu programu zdarzenia są przesyłane do pliku w formacie czytelnym dla człowieka, takiego jak plik JSON. Ten plik może służyć do lepszego ulepszania procedur autonomicznych.
Powyższy przykładowy kod ustawia parametry zdarzenia, które w tym przypadku jest obrotem przy użyciu czujnika IMU. Następnie umieszczamy zdarzenie w kolejce zdarzeń. Na koniec obcinamy zdarzenie, co zasadniczo resetuje zdarzenie, abyśmy mogli użyć go do kolejkowania przyszłych zdarzeń.
Krok 4: Procesor zdarzeń
Klasy zdarzeń pobierają plik czytelny dla człowieka utworzony w klasie twórcy zdarzeń i robią to, co nakazuje każdemu z kolejek zdarzeń, wywołując metody opisane w klasie procesora zdarzeń. Następnie klasa procesora zdarzeń informuje robota, jakie zdarzenie ma powtórzyć. Niezależnie od tego, czy jest to proste zdarzenie „napędu do przodu”, czy złożone zdarzenie pełne odległości, zakrętów i okrążeń, procesor odtworzy każde dane mu zdarzenie. Ten proces jest bardzo przydatny w trybie autonomicznym, ponieważ zespół może rejestrować czujniki i działania Tele-Op przed dopasowaniem, a następnie po prostu odtwarzać zdarzenia w trybie autonomicznym. Ten proces nazywa się odtwarzaniem pamięci. Dzięki temu autonomiczny program może być w 100% konfigurowalny za pomocą jednego pliku. Po ustanowieniu twórcy i procesora zdarzenia zespół może po prostu zmienić autonomiczne procedury za pomocą pliku czytelnego dla człowieka.
Powyższy przykład zaczyna się od sprawdzenia pliku JSON pod kątem zdarzenia, a następnie sprawdzenia tego zdarzenia za pomocą instrukcji case, aby zobaczyć, jakie to jest zdarzenie, w tym przypadku zwrot za pomocą czujnika IMU. Gdy będzie mógł stwierdzić, że jest to kolej przy użyciu zdarzenia IMU, zajmuje się przetwarzaniem zdarzenia, co zwykle obejmuje uruchomienie kodu, z którego pochodzi zdarzenie, przy użyciu zmiennych ze zdarzenia, przekazanych w celu zreplikowania zdarzenia, które zostało wykonane wcześniej.
Zalecana:
Światło RGB sterowane przez Bluetooth: 3 kroki
Światło RGB sterowane przez Bluetooth: Czy były chwile, kiedy chciałeś zmienić kolor i jasność światła w domu za pomocą zaledwie kilku dotknięć telefonu? Dobra wiadomość jest taka - można to łatwo zrobić za pomocą mikrokontrolera obsługującego technologię Bluetooth, takiego jak Ameba RTL8722 firmy Realtek. Oto jestem
Transform-a-Car: zdalnie sterowane do samodzielnego sterowania: 4 kroki
Transform-a-Car: Remote Controlled to Self Controlled: To jest hack na samochodzie RC ze zepsutym pilotem. Na wyprzedażach garażowych można znaleźć wiele
Światło RGB sterowane przez Bluetooth z aplikacją na Androida: 4 kroki
Światło RGB sterowane przez Bluetooth Z aplikacją na Androida: Witajcie twórcy, dzisiaj nauczymy się tworzyć listwę RGB sterowaną przez Bluetooth, którą można sterować z naszego smartfona. Podstawową ideą tego projektu jest stworzenie światła tła/biurka, które dodaje ciepła oczom widza. Tak, to światło
Pierwsze kroki z Esp 8266 Esp-01 z Arduino IDE - Instalowanie płytek Esp w Arduino Ide i programowanie Esp: 4 kroki
Pierwsze kroki z Esp 8266 Esp-01 z Arduino IDE | Instalowanie płyt Esp w Arduino Ide i programowanie Esp: W tej instrukcji dowiemy się, jak zainstalować płyty esp8266 w Arduino IDE oraz jak zaprogramować esp-01 i przesłać w nim kod. Ponieważ płyty esp są tak popularne, pomyślałem o naprawieniu instrukcji dla to i większość ludzi boryka się z problemem
Serwo sterowane joystickiem za pomocą Arduino (z programowaniem): 4 kroki
Serwo sterowane joystickiem za pomocą Arduino (z programowaniem): W tym samouczku stworzymy serwo sterujące joystickiem za pomocą Arduino Uno. Serwo będzie poruszało się zgodnie z ruchem joysticka