Mundarija:

FTC-da voqealarga asoslangan dasturlash: 4 qadam
FTC-da voqealarga asoslangan dasturlash: 4 qadam

Video: FTC-da voqealarga asoslangan dasturlash: 4 qadam

Video: FTC-da voqealarga asoslangan dasturlash: 4 qadam
Video: Уловить подлинность: съемки в раю 2024, Noyabr
Anonim
FTCda voqealarga asoslangan dasturlash
FTCda voqealarga asoslangan dasturlash

Bu yil bizning jamoamiz robotimiz uchun voqealarga asoslangan dasturiy ta'minotni ishlab chiqish bo'yicha katta ishlarni amalga oshirdi. Bu dasturlar jamoaga avtonom dasturlarni va hatto takrorlanadigan tele-op voqealarni aniq ishlab chiqishga imkon berdi. Dasturiy ta'minot ishi murakkab bo'lganligi sababli, biz FTC robotlari uchun voqealarga asoslangan kodni ishlab chiqish bo'yicha olgan bilimlarimiz bilan bo'lishishga qaror qildik.

1-qadam: Voqealarga asoslangan dasturlash nima?

Umuman olganda, voqealarga asoslangan dasturlash, Techopedia ma'lumotlariga ko'ra, foydalanuvchi kiritgan ma'lumotlarga javob beradigan dasturlarni ishlab chiqishdir. Shu ma'noda, ko'plab dasturlar voqealarga asoslangan deb hisoblanadi, shu jumladan, har qanday harakatni bajarish uchun inson boshqaradigan boshqaruvchining ma'lumotlariga asoslangan jamoaning tele-op dasturi. Biroq, bizning jamoamiz bajargan ish nuqtai nazaridan, voqealarga asoslangan dasturlash-bu turli xil kirishlar bo'yicha dasturiy ta'minot yaratish; Boshqacha qilib aytganda, biz voqea -hodisalarni tekshirgichlar va datchiklarning kirishiga asoslangan holda hujjatlashtiramiz, keyin biz ushbu hodisalarni navbatga qo'yishimiz va yozilgan hodisani qayta ishga tushirish uchun faylni ishlatishimiz mumkin.

Robotimiz uchun dasturlarni ishlab chiqishning bu usuli bir qancha afzalliklarga ega:

  • Bu bizga aniq avtonom dasturlarni yaratishga imkon beradi. Hodisa paytida biz dasturiy ta'minotni real vaqtda yaratayotganimiz sababli, yig'ilgan va ishlatilgan sensor qiymatlari juda aniq bo'ladi, chunki ular to'g'ridan-to'g'ri asl voqeadan kelib chiqadi.
  • Bu bizga avtonom dasturlarni tezda yaratishga imkon beradi. Avtonom dasturlarni tuzish oddiy voqealar ketma -ketligini yozib olish va kerak bo'lganda voqeani to'g'rilashdir.
  • Bu bizga tele-op uchun avtomatik jarayonlarni yaratishga imkon beradi. Takroriy harakatlar uchun, voqealarga asoslangan dasturlash, bu harakatlarni yozib olish va haydovchilar tomonidan boshqariladigan o'yinlar paytida voqeani tugmachaga belgilash imkonini beradi. Bu avtomatlashtirilgan hodisalarga sensorlar ta'sir ko'rsatishi mumkin, bu ularni aniq bajarilishiga imkon beradi.

2-qadam: Voqealarga asoslangan dasturlashning mantiqiy oqimi

Voqealarga asoslangan dasturlashning mantiqiy oqimi
Voqealarga asoslangan dasturlashning mantiqiy oqimi

Quyida voqealarga asoslangan dasturning mantiqiy oqimi tasvirlangan: qizil voqea, ko'k esa voqeaning chaqiruvini tasvirlaydi. Voqeani yaratish uchun kirishlar ketma -ketligi robot harakati orqali qabul qilinadi va voqea sifatida yoziladi; bu hodisalar faylga yoziladi. Voqeani chaqirish uchun bu fayl o'qiladi va fayl kodini robot harakatiga aylantirish uchun kirishlar voqea protsessoriga yuboriladi.

3 -qadam: Voqealar yaratuvchisi

Voqealar yaratuvchisi
Voqealar yaratuvchisi
Voqealar yaratuvchisi
Voqealar yaratuvchisi

Voqealar yaratuvchilari har xil datchiklar va tugmalar asosida harakatlar yoki "hodisalarni" hujjatlashtirish uchun ishlatiladi. Robot maydonda harakatlar qilar ekan, voqealar yaratuvchilari klassi har bir voqea uchun parallel ravishda hodisalar yaratadi va voqealar sinfida tasniflangan hodisaga ishora qiladi. Yaratilgandan so'ng, voqea voqealar sinfidagi voqealar qatoriga qo'yiladi: birinchi voqea birinchi o'rinni egallaydi, keyin ikkinchi voqea yuqori o'rinni egallaydi va uning ostidagi har qanday hodisalarni pastga suradi va bu dastur to'xtaguncha davom etadi. Dastur to'xtatilgach, voqealar JSON fayli kabi odam o'qiy oladigan formatdagi faylga o'tadi. Bu fayl avtonom tartiblarni yaxshilash uchun ishlatilishi mumkin.

Yuqoridagi misol kodi voqea parametrlarini o'rnatadi, bu holda IMU sensori yordamida burilish bo'ladi. Keyin biz voqeani tadbirlar navbatiga qo'yamiz. Nihoyat, biz voqeani qisqartiramiz, bu voqeani asl holatiga qaytaradi, shunda biz undan kelajakdagi voqealarni navbatda turish uchun foydalanishimiz mumkin.

4 -qadam: Voqealar protsessori

Voqealar protsessori
Voqealar protsessori
Voqealar protsessori
Voqealar protsessori

Voqealar darslari voqealar yaratuvchisi sinfida o'qiladigan odam o'qiy oladigan faylni oladi va navbatdagi har bir voqea protsessor sinfida ko'rsatilgan usullarni chaqirish orqali aytilganini bajaradi. Voqealar protsessorlari klassi robotga qanday hodisani takrorlash kerakligini aytadi. Bu oddiy "oldinga siljish" hodisasi bo'ladimi yoki masofalar, burilishlar va chiziqlar bilan to'la murakkab hodisa bo'ladimi, protsessor unga berilgan har qanday hodisani takrorlaydi. Bu jarayon avtonom davrda juda foydalidir, chunki jamoa sensorlar va Tele-op harakatlarini o'yin oldidan yozib olishi mumkin, keyin esa voqealarni avtonom rejimda takrorlash mumkin. Bu jarayon "Xotirani qayta ijro etish" deb nomlanadi. Bu avtonom dasturni bitta fayl orqali 100% sozlash imkonini beradi. Voqealar yaratuvchisi va protsessori o'rnatilgandan so'ng, jamoa oddiy o'qiy oladigan fayl orqali avtomatik rejimlarni o'zgartirishi mumkin.

Yuqoridagi misol, birinchi navbatda, voqea uchun JSON faylini tekshirishdan boshlanadi, so'ngra voqea qanday ekanligini ko'rish uchun voqea bayoni yordamida tekshiriladi, bu holda IMU sensori yordamida burilish. O'IH hodisasi navbatda ekanligini aytsa, u voqeani qayta ishlash bilan shug'ullanadi, bu odatda voqeadan oldingi o'zgaruvchilardan foydalanib sodir bo'lgan kodni ishga tushirishni o'z ichiga oladi.

Tavsiya: