Buzz, bahasa pemrograman untuk segerombolan drone yang mengatur sendiri



Ada sesuatu yang memukau di kawanan serangga, kawanan burung dan sekawanan ikan. Banyak makhluk hidup berperilaku bersama sebagai satu organisme hidup. Pada saat yang sama, para ilmuwan menjelaskan bahwa dalam situasi seperti itu, setiap komponen makhluk hidup dari keseluruhan kawanan membangun perilakunya, hanya berfokus pada tetangganya.

Tema yang sama telah menarik minat warga Kanada asal Italia, Pintsiroli Carlo ( Carlo Pinciroli ), yang sejak 2007 terlibat dalam penelitian di bidang pengelolaan sejumlah besar robot semi-otonom . Dia  dan rekan-rekannya berbicara tentang pencapaian terbaru di bidang ini - bahasa pemrograman untuk segerombolan robot Buzz. Pengembangan ini dilakukan oleh para ilmuwan dari Laboratorium Politeknik MIST dari Canadian Institute École Polytechnique de Montréal dan rekan-rekan asing mereka.

Memprogram robot seluler adalah tugas yang agak rumit. Tugas mengendalikan perilaku seluruh kawanan, dan bahkan dalam lingkungan yang berubah, ketika robot harus membuat keputusan tentang tindakan mereka, bahkan lebih sulit. Ada dua pendekatan untuk itu - dari bawah ke atas, dan dari atas ke bawah.

Pendekatan bottom-up menunjukkan bahwa programmer perlu bekerja dengan semua detail dan nuansa perilaku robot, mulai dari sistem pergerakan dan orientasi mereka. Pendekatan top-down melibatkan pengaturan tugas di tingkat tinggi, di mana perincian perilaku robot dihitung berdasarkan algoritma yang telah disiapkan sebelumnya.

gambar
Segerombolan robot dari proyekMcLurkin , peneliti lain di bidang ini

Para penulis bahasa Buzz menggambarkannya sebagai pewaris sintaksis pada JavaScript, Python, dan Lua yang sekarang umum. Ini dilakukan untuk mengurangi ambang masuk ke dalam bahasa. Mereka mencoba membuatnya sehingga programmer memiliki pilihan pendekatan - ia dapat memilih apakah akan bekerja dari bawah ke atas atau dari atas ke bawah.

Bahasa diperkaya dengan desain khusus untuk bekerja dengan segerombolan robot. Misalnya, segerombolan memungkinkan Anda untuk membagi robot ke dalam kelompok, yang masing-masing akan memiliki tugasnya sendiri. Desain tetangga memungkinkan Anda untuk bekerja dengan interaksi robot tetangga satu sama lain dan meniru perilaku hewan di sekolah nyata.

Ada konstruksi lain - misalnya, virtual stigmergy (virtual stigmergy), yang memberi robot perintah untuk mengirimkan ke semua orang dan mengingat informasi dalam bentuk set pasangan kunci-nilai. Ini dinamai mekanisme interaksi serangga tidak langsung terkoordinasi, yang pertama kali diamati pada rayap. Ketika salah satu dari mereka mengubah keadaan lingkungan, yang lain merasakan perubahan ini, dan itu berfungsi sebagai insentif bagi mereka untuk menentukan tindakan mereka selanjutnya.

Carlo Pinziroli juga menciptakan ARGoS selama kegiatan penelitiannya . - Sebuah program untuk mensimulasikan pekerjaan sejumlah besar robot. Program ini digunakan oleh beberapa lembaga dan tim peneliti independen yang bekerja di arah yang sama. Video tersebut memperlihatkan demonstrasi interaksi gerombolan robot virtual di lingkungan virtual ARGoS, yang meniru karya para penembak Spiri (proyek crowdfunding yang saat ini sedang dalam tahap melepaskan produk jadi).

Video menunjukkan bagaimana segerombolan robot memecahkan masalah menemukan dua target yang berbeda dan membagi segerombolan menjadi dua bagian sesuai dengan target yang ditemukan. Mereka melakukan ini dalam tiga tahap.



Pada yang pertama, robot mendapatkan ketinggian tertentu. Pada saat yang sama, robot yang telah bertambah tinggi menginformasikan semua tetangga mereka tentang pencapaian tujuan menengah ini (stigmatik virtual). Pada tahap kedua, robot melakukan pencarian visual untuk objek, berputar di sekitar sumbu vertikal.

Pada tahap ketiga, robot yang menemukan objek yang diinginkan menginformasikan tetangga tentang keberhasilan, dan berbagi dengan mereka informasi tentang warna objek dan jarak ke sana. Robot-robot yang, setelah melakukan revolusi penuh, belum melihat objek pencarian, berdasarkan informasi yang diterima dari tetangga, memutuskan mana dari dua kelompok yang akan bergabung.

Tahap keempat adalah pembagian gerombolan menjadi dua. Robot yang menemukan objek dan robot yang menerima informasi tentang objek dari tetangga mereka dibagi menjadi dua kelompok.

Para penulis artikel menyatakan harapan bahwa Buzz akan memungkinkan semua orang yang tertarik pada robotika untuk mewujudkan ide-ide mereka dengan cara yang cukup sederhana, dan juga akan memajukan masalah pemrograman segerombolan robot ke tingkat berikutnya. Menurut informasi mereka, sekarang tidak ada platform standar yang memungkinkan peneliti membandingkan pencapaian mereka, membagikannya, dan menggunakan prestasi orang lain di bidang ini.

Buzz gratis, kode sumbernya terbuka dan didistribusikan di bawah lisensi MIT.

Source: https://habr.com/ru/post/id382755/


All Articles