Съдържание:

Програмиране, управлявано от събития в FTC: 4 стъпки
Програмиране, управлявано от събития в FTC: 4 стъпки

Видео: Програмиране, управлявано от събития в FTC: 4 стъпки

Видео: Програмиране, управлявано от събития в FTC: 4 стъпки
Видео: Видео SEO - лекция от семинара E-manager 2024, Ноември
Anonim
Програмиране, управлявано от събития в FTC
Програмиране, управлявано от събития в FTC

Тази година екипът ни свърши голяма работа с разработването на софтуер за нашия робот, управляван от събития. Тези програми позволиха на екипа да разработи точно автономни програми и дори повтарящи се телеоперационни събития. Тъй като софтуерната работа, която изисква, е сложна, решихме да споделим знанията, които сме придобили при разработването на управляван от събития код за FTC роботи.

Стъпка 1: Какво е програмиране, управлявано от събития?

Най-общо, програмирането, управлявано от събития, според Techopedia, е разработването на програми, които реагират на въвеждане от потребителя. В този смисъл много програми се считат за управлявани от събития, включително телеоперационна програма на екип, която разчита на данни от ръководен от човека контролер за извършване на каквото и да е действие. От гледна точка на работата, която екипът ни върши, програмирането, управлявано от събития, е свързано със създаването на софтуер от различни входни данни; с други думи, документираме събития въз основа на входовете на контролери и сензори, след което можем да поставим тези събития в опашка и да използваме файла, за да повторим записаното събитие.

Този метод за разработване на програми за нашия робот има няколко предимства:

  • Тя ни позволява да създаваме точни автономни програми. Тъй като създаваме софтуера в реално време, докато преживяваме събитието, събраните и използвани стойности на сензора ще бъдат много точни, тъй като идват директно от първоначалното събитие.
  • Тя ни позволява бързо да създаваме автономни програми. Създаването на автономни програми е толкова просто, колкото записването на поредица от събития и коригирането на събитието, ако е необходимо.
  • Тя ни позволява да създаваме автоматични процеси за телеоперация. За повтарящи се действия в телеоперацията, програмирането, управлявано от събития, ни позволява да записваме тези действия и да присвояваме събитието на бутон по време на контролираните от водача периоди на мачове. Тези автоматизирани събития могат да бъдат повлияни от сензори, за да се даде възможност за точното им изпълнение.

Стъпка 2: Логичен поток на програмиране, управлявано от събития

Логичен поток на програмиране, управлявано от събития
Логичен поток на програмиране, управлявано от събития

Следното изобразява логическия поток на програма, управлявана от събития: червеното изобразява създаването на събитие, а синьото изобразява извикването на събитието. За създаване на събитие, последователност от входове се приема чрез действие на робота и се записва като събития; тези събития се записват във файл. За извикване на събитие този файл се чете и входовете се изпращат към процесор на събития, за да превърнат кода на файла в действие на робот.

Стъпка 3: Създател на събития

Създател на събития
Създател на събития
Създател на събития
Създател на събития

Създателите на събития се използват за документиране на действия или „събития“въз основа на различни сензори и бутони. Докато роботът извършва действия на полето, класът създател на събития създава паралелно събития за всяко едно от тези действия, препращайки към събитието, класифицирано в клас на събитие. След като бъде създадено, събитието се поставя в опашка от събития в класа на събитията: първото събитие заема първо място, след това второто събитие заема най -горното място и избутва всички събития под него и това продължава, докато програмата спре. Когато програмата е спряна, събитията излизат във формат за четене от човека, например JSON файл. Този файл може да се използва за по -добро подобряване на автономните процедури.

Примерният код по -горе задава параметрите за събитието, което в този случай е завой с помощта на IMU сензор. След това поставяме събитието в опашка в опашката за събития. И накрая, съкращаваме събитието, което по същество нулира събитието, така че да можем да го използваме за поставяне на бъдещи събития на опашка.

Стъпка 4: Процесор за събития

Процесор за събития
Процесор за събития
Процесор за събития
Процесор за събития

Класовете на събития вземат файла, който може да се чете от човека, създаден в класа за създаване на събития, и прави всичко, което всяко събитие, наредено в опашката, му каже да прави, като извиква методи, описани в класа на процесора на събития. След това класът на процесора на събития казва на робота какво събитие да преиграе. Независимо дали става въпрос за просто събитие „задвижване напред“или сложно събитие, пълно с разстояния, завои и премеждия, процесорът ще възпроизведе всяко събитие, дадено му. Този процес е много полезен по време на автономна работа, тъй като екип може да записва сензори и Tele-Op действия преди да съвпадат, след което просто да преиграе събитията в автономно. Този процес се нарича Memory Replay. Това позволява на автономна програма да бъде 100% конфигурирана чрез един файл. След като създателят и процесорът на събитието бъдат установени, екип може просто да смени автономните процедури чрез четения от човека файл.

Примерът по -горе първо започва с проверка на JSON файла за събитие, след което проверява това събитие с помощта на оператор case, за да види какъв вид събитие е това, в този случай завой с помощта на IMU сензор. След като може да каже, че това е ред, използващ събитието IMU, той се занимава с обработка на събитието, което обикновено включва стартиране на кода, който събитието е дошло от използването на променливи от събитието, предадени за копиране на събитието, което е било направено преди.

Препоръчано: