Mundarija:
- 1-qadam: Voqealarga asoslangan dasturlash nima?
- 2-qadam: Voqealarga asoslangan dasturlashning mantiqiy oqimi
- 3 -qadam: Voqealar yaratuvchisi
- 4 -qadam: Voqealar protsessori
Video: FTC-da voqealarga asoslangan dasturlash: 4 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:25
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
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 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 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:
Z80-MBC2 Atmega32a dasturlash: 6 qadam
Z80-MBC2 Atmega32a-ni dasturlash: z80-MBC2-ni ishlatishdan oldin, uni qurgandan so'ng, siz Atmeg32-ni dasturlashingiz kerak. Ushbu ko'rsatma sizga kodni yuklash uchun arzon arduino mini -ni dasturchi sifatida ishlatishni ko'rsatadi
Oson cheksiz oynali kub yasang - 3D bosib chiqarish va dasturlash yo'q: 15 qadam (rasmlar bilan)
Oson cheksiz ko'zgu kubini yasang | 3D bosib chiqarish va dasturlash yo'q: hamma yaxshi cheksiz kubni yaxshi ko'radi, lekin ularni yasash qiyin bo'lganga o'xshaydi. Bu ko'rsatma uchun mening maqsadim-buni qanday qilishni bosqichma-bosqich ko'rsatish. Nafaqat bu, balki men sizga ko'rsatma berib, siz buni qila olasiz
Arduino Uno yordamida DIY dasturlash kabeli - Baofeng UV -9R Plus: 6 qadam (rasmlar bilan)
Arduino Uno-Baofeng UV-9R Plus yordamida DIY dasturiy kabel Seriya konvertori. [DISCLAIMER] Men hech qanday zarar uchun javobgarlikni o'z zimmamga olmayman
ATmega328 ni Arduino IDE bilan 8 MGts kristall yordamida dasturlash: 4 qadam
8MHz kristalli Arduino IDE bilan ATmega328 -ni dasturlash: Men bu ko'rsatmada Armeino IDE va Arduino UNO -dan foydalanib, ATmega328P IC (Arudino UNO -da mavjud bo'lgan mikrokontroller) ni dasturlash bo'yicha bosqichma -bosqich ko'rsatma beraman. maxsus Arduino, sizning loyihalaringizni amalga oshirish uchun
Arduino Mega 2560 Core -ni qanday dasturlash mumkin?: 3 qadam
Arduino Mega 2560 Core -ni qanday dasturlash mumkin?: Men ebaydan Arduino mega -kartasini topdim. Bu Arduino mega 2560 ning kichikroq versiyasi va u Arduino mega yadrosi deb ataladi … Lekin bitta muammo bor edi! U usb -ga ulanishni o'z ichiga olmaydi va unchalik ko'p emas