Мазмуну:

FTCдеги окуяга негизделген программалоо: 4 кадам
FTCдеги окуяга негизделген программалоо: 4 кадам

Video: FTCдеги окуяга негизделген программалоо: 4 кадам

Video: FTCдеги окуяга негизделген программалоо: 4 кадам
Video: Москвада болгон окуя. (Чыныгы турмуштун негизинде тартылган) 2024, Июль
Anonim
FTCде окуяга негизделген программалоо
FTCде окуяга негизделген программалоо

Бул жылы биздин команда роботубуз үчүн окуяга негизделген программалык камсыздоону иштеп чыгуу менен көп иштерди аткарды. Бул программалар командага автономдуу программаларды так иштеп чыгууга, ал тургай кайталануучу телепортивдүү окуяларга мүмкүнчүлүк берди. Программалык камсыздоонун иши татаал болгондуктан, биз FTC роботтору үчүн окуяга негизделген кодду иштеп чыгуу боюнча алган билимибиз менен бөлүшүүнү чечтик.

1-кадам: Окуяга негизделген программалоо деген эмне?

Жалпысынан алганда, окуяга негизделген программалоо, Techopedia боюнча, колдонуучулардын киришине жооп берген программаларды иштеп чыгуу. Бул жагынан алганда, көптөгөн программалар окуяга негизделген деп эсептелет, анын ичинде кандайдыр бир иш-аракетти жүргүзүү үчүн адам башкарган контролердун киришине таянган команданын телеберүү программасы. Бирок, биздин команда аткарып жаткан иштерге карата, окуяга негизделген программалоо ар кандай киргизүүлөрдөн программалык камсыздоону түзүү жөнүндө; башкача айтканда, биз окуяларды контроллерлердин жана сенсорлордун негизинде документтештиребиз, андан кийин бул окуяларды кезекке коюп, файлды жазылган окуяны кайра иштетүү үчүн колдоно алабыз.

Биздин робот үчүн программаларды иштеп чыгуунун бул ыкмасы бир нече артыкчылыктарга ээ:

  • Бул так автономдуу программаларды түзүүгө мүмкүндүк берет. Биз программалык камсыздоону реалдуу убакытта түзүп жаткандыктан, иш-чара өтүп жаткандыктан, чогултулган жана колдонулган сенсор баалуулуктары абдан так болот, анткени алар түздөн-түз окуядан келип чыгат.
  • Бул бизге автономдуу программаларды тез түзүүгө мүмкүндүк берет. Автономдуу программаларды түзүү, бир катар окуяларды жазуу жана иш -чараны зарылдыгына жараша жөнгө салуу сыяктуу жөнөкөй.
  • Бул бизге теле-оп үчүн автоматтык процесстерди түзүүгө мүмкүндүк берет. Теле-опто кайталанган аракеттер үчүн, окуяга негизделген программалоо, бул аракеттерди жаздырууга жана матчтарды айдоочу көзөмөлдөгөн мезгилде окуяны бир баскычка дайындоого мүмкүнчүлүк берет. Бул автоматташтырылган окуяларга сенсорлор таасир этип, алардын так аткарылышына мүмкүндүк берет.

2-кадам: Окуяга негизделген программалоонун логикалык агымы

Окуяга негизделген программалоонун логикалык агымы
Окуяга негизделген программалоонун логикалык агымы

Төмөндө окуяга негизделген программанын логикалык агымы сүрөттөлөт: кызыл окуяны, ал эми көк окуяны чакырууну чагылдырат. Окуяны түзүү үчүн, кирүү тизмеги роботтун аракети аркылуу алынат жана окуя катары жазылат; бул окуялар файлга жазылат. Окуяны чакыруу үчүн, бул файл окулат жана кирүүлөр файл кодун роботтун аракетине айландыруу үчүн окуя процессоруна жөнөтүлөт.

3 -кадам: Окуя жаратуучу

Event Creator
Event Creator
Event Creator
Event Creator

Окуя жаратуучулар ар кандай сенсорлорго жана баскычтарга негизделген аракеттерди же "окуяларды" документтештирүү үчүн колдонулат. Робот талаада аракеттерди жасаганда, окуя жаратуучулардын классы окуялардын классында классификацияланган окуяга шилтеме кылып, ошол аракеттердин ар бирине параллелдүү окуяларды түзүүдө. Түзүлгөндөн кийин, окуя окуялар классындагы окуялардын кезегине коюлат: биринчи окуя биринчи орунду ээлейт, андан кийин экинчи окуя эң жогорку орунду ээлейт жана анын астындагы бардык окуяларды сүрүп салат жана бул программа токтогонго чейин уланат. Программа токтотулганда, окуялар JSON файлы сыяктуу адам окуй турган формат файлына өтөт. Бул файл автономдуу күн тартибин жакшыртуу үчүн колдонулушу мүмкүн.

Жогорудагы мисал коду иш -чаранын параметрлерин орнотот, бул учурда IMU сенсорун колдонуу кезеги. Биз андан кийин окуяны кезекке турабыз. Акыр -аягы, биз окуяны кыскартабыз, ал иш -чараны баштапкы абалга келтирет, ошону менен биз аны келечектеги окуяларга кезекке коюу үчүн колдоно алабыз.

4 -кадам: Окуя процессору

Окуя процессору
Окуя процессору
Окуя процессору
Окуя процессору

Окуя сабактары окуяларды жаратуучу класста өндүрүлгөн адам окуй турган файлды алат жана кезек күткөн ар бир окуяны процессор классында айтылган ыкмаларды чакыруу аркылуу айтат. Окуя процессору классы роботко кайсы окуяны кайра ойнотуу керектигин айтат. Жөнөкөй "алдыга жылуу" окуясы болобу же аралыктарга, бурулуштарга жана стафаларга толгон татаал окуя болобу, процессор ага берилген бардык окуяны кайра ойнотот. Бул процесс автономия учурунда абдан пайдалуу, анткени команда матчка чейин сенсорлорду жана Tele-Op аракеттерин жаздыра алат, андан кийин окуяларды автономдуу түрдө кайра ойнотот. Бул процесс Memory Replay деп аталат. Бул автономдуу программаны бир файл аркылуу 100% конфигурациялоого мүмкүндүк берет. Окуянын жаратуучусу жана процессору түзүлгөндөн кийин, команда жөн гана адам окуй турган файл аркылуу автономдуу тартиптерди өзгөртө алат.

Жогорудагы мисал адегенде окуя үчүн JSON файлын текшерүүдөн башталат, андан кийин окуяны текшерүү менен, бул кандай окуя экенин көрүү үчүн, бул учурда IMU сенсорун колдонуу менен башталат. Бул IMU иш -чарасын колдонуу кезеги экенин айткандан кийин, ал окуяны кайра иштетүү менен алектенет, бул адатта окуя мурунку болгон окуяны кайталоо үчүн берилген окуядан келген өзгөрмөлөрдү колдонуп келген кодду иштетүүнү камтыйт.

Сунушталууда: