Daftar Isi:

Pemrograman Berbasis Acara di FTC: 4 Langkah
Pemrograman Berbasis Acara di FTC: 4 Langkah

Video: Pemrograman Berbasis Acara di FTC: 4 Langkah

Video: Pemrograman Berbasis Acara di FTC: 4 Langkah
Video: APLIKASI ABSENSI SISIWA BERBASIS WEB - Free sorce code 2024, Juli
Anonim
Pemrograman Berbasis Acara di FTC
Pemrograman Berbasis Acara di FTC

Tahun ini, tim kami telah melakukan banyak pekerjaan dengan pengembangan perangkat lunak berbasis peristiwa untuk robot kami. Program-program ini telah memungkinkan tim untuk secara akurat mengembangkan program otonom dan bahkan acara tele-op yang berulang. Karena pekerjaan perangkat lunak yang dibutuhkannya rumit, kami memutuskan untuk berbagi pengetahuan yang kami peroleh dalam mengembangkan kode yang digerakkan oleh peristiwa untuk robot FTC.

Langkah 1: Apa itu Pemrograman Berbasis Peristiwa?

Secara umum, pemrograman berbasis peristiwa, menurut Techopedia, adalah pengembangan program yang merespons input pengguna. Dalam pengertian ini, banyak program dianggap sebagai event-driven, termasuk program tele-op tim, yang bergantung pada input dari pengontrol yang dijalankan manusia untuk melakukan tindakan apa pun. Namun, dalam hal pekerjaan yang telah dilakukan tim kami, pemrograman berbasis peristiwa adalah tentang membuat perangkat lunak dari berbagai masukan; dengan kata lain, kami mendokumentasikan peristiwa berdasarkan input pengontrol dan sensor, kemudian kami dapat mengantrekan peristiwa ini dan menggunakan file untuk menjalankan kembali peristiwa yang direkam.

Metode pengembangan program untuk robot kami ini memiliki beberapa keunggulan:

  • Ini memungkinkan kami untuk membuat program otonom yang akurat. Karena kami membuat perangkat lunak secara real-time saat menjalani acara, nilai sensor yang dikumpulkan dan digunakan akan sangat akurat, karena berasal langsung dari acara asli.
  • Ini memungkinkan kami untuk membuat program otonom dengan cepat. Membuat program mandiri semudah merekam rangkaian acara dan menyesuaikan acara seperlunya.
  • Hal ini memungkinkan kita untuk membuat proses otomatis untuk tele-op. Untuk tindakan berulang dalam tele-op, pemrograman yang digerakkan oleh peristiwa memungkinkan kita untuk merekam tindakan ini dan menetapkan peristiwa tersebut ke tombol selama periode pertandingan yang dikendalikan oleh pengemudi. Peristiwa otomatis ini dapat dipengaruhi oleh sensor untuk memungkinkan eksekusi yang akurat.

Langkah 2: Alur Logika Pemrograman Berbasis Peristiwa

Alur Logika Pemrograman Berbasis Peristiwa
Alur Logika Pemrograman Berbasis Peristiwa

Berikut ini menggambarkan alur logis dari program yang digerakkan oleh peristiwa: merah menggambarkan pembuatan suatu peristiwa, dan biru menggambarkan pemanggilan peristiwa tersebut. Untuk membuat acara, urutan input diambil melalui aksi robot dan dicatat sebagai acara; peristiwa ini ditulis ke file. Untuk memanggil suatu peristiwa, file itu dibaca, dan input dikirim ke pemroses peristiwa untuk mengubah kode file menjadi tindakan robot.

Langkah 3: Pembuat Acara

Pembuat Acara
Pembuat Acara
Pembuat Acara
Pembuat Acara

Pembuat acara digunakan untuk mendokumentasikan tindakan atau "peristiwa" berdasarkan berbagai sensor dan tombol. Saat robot melakukan tindakan di lapangan, kelas pembuat peristiwa membuat peristiwa untuk setiap tindakan tersebut secara paralel, merujuk peristiwa yang diklasifikasikan dalam kelas peristiwa. Setelah dibuat, acara dimasukkan ke dalam antrian acara di kelas acara: acara pertama mengambil tempat teratas, kemudian acara kedua mengambil tempat teratas dan menekan acara apa pun di bawahnya, dan ini berlanjut hingga program berhenti. Saat program dihentikan, acara akan keluar ke file format yang dapat dibaca manusia, seperti file JSON. File ini dapat digunakan untuk meningkatkan rutinitas otonom dengan lebih baik.

Contoh kode di atas mengatur parameter untuk acara, yang dalam hal ini adalah belokan menggunakan sensor IMU. Kami kemudian mengantri acara ke dalam antrian acara. Terakhir, kami memotong acara, yang pada dasarnya mengatur ulang acara sehingga kami dapat menggunakannya untuk mengantre acara mendatang.

Langkah 4: Pemroses Acara

Pemroses Acara
Pemroses Acara
Pemroses Acara
Pemroses Acara

Kelas peristiwa mengambil file yang dapat dibaca manusia yang dihasilkan di kelas pembuat peristiwa dan melakukan apa pun yang diperintahkan oleh setiap peristiwa yang antri untuk dilakukan dengan memanggil metode yang diuraikan dalam kelas pemroses peristiwa. Kelas pemroses peristiwa kemudian memberi tahu robot peristiwa apa yang akan diputar ulang. Baik itu event "drive forward" sederhana atau event kompleks yang penuh dengan jarak, belokan, dan strafe, prosesor akan memutar ulang setiap event yang diberikan padanya. Proses ini sangat berguna selama otonom, karena tim dapat merekam sensor dan tindakan Tele-Op sebelum mencocokkan, lalu memutar ulang peristiwa secara otonom. Proses ini disebut Memory Replay. Ini memungkinkan program otonom 100% dapat dikonfigurasi melalui satu file. Setelah pembuat acara dan prosesor dibuat, tim dapat dengan mudah mengubah rutinitas otonom melalui file yang dapat dibaca manusia.

Contoh di atas pertama-tama dimulai dengan memeriksa file JSON untuk suatu peristiwa, dan kemudian memeriksa peristiwa itu menggunakan pernyataan kasus untuk melihat jenis peristiwanya, dalam hal ini giliran menggunakan sensor IMU. Setelah ia dapat mengetahui bahwa itu adalah giliran menggunakan acara IMU, ia kemudian berurusan dengan pemrosesan acara, yang biasanya melibatkan menjalankan kode bahwa acara tersebut berasal dari menggunakan variabel dari acara tersebut, diteruskan untuk mereplikasi acara yang dilakukan sebelumnya.

Direkomendasikan: