LOGO ROBOWORKS

ROBOWORKS ALGORITMA MULTI-AGENT Robofleet

ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-PRODUCT

Spesifikasi

  • Nama Produk: ROBOWORKS
  • Versi: 20240501
  • Disediakan oleh: Wayne Liu & Janette Lin
  • Tarikh: 1 Boleh 2024

Maklumat Produk

ROBOWORKS ialah sistem berbilang ejen yang membolehkan pelaksanaan pelbagai algoritma untuk penyelarasan dan komunikasi robot.

Soalan Lazim

S: Apakah yang perlu saya lakukan jika robot tidak dapat menyambung ke Wifi secara automatik?

J: Jika robot gagal menyambung secara automatik, cuba cabut dan pasang semula kad rangkaian dan cuba sambung semula.

RINGKASAN

Dokumen ini menerangkan terutamanya penggunaan pakej fungsi pembentukan berbilang robot bernama wheeltec_multi.

Dokumen ini dibahagikan kepada empat bahagian:

  • Bahagian pertama adalah terutamanya mengenai pengenalan kaedah pembentukan berbilang robot;
  • bahagian kedua terutamanya menerangkan tetapan komunikasi berbilang mesin ROS, termasuk komunikasi berbilang mesin pembinaan ROS dan masalah yang mungkin dihadapi dalam proses komunikasi ROS;
  • bahagian ketiga terutamanya menerangkan langkah-langkah operasi penyegerakan masa berbilang mesin;
  • bahagian keempat menerangkan penggunaan khusus pakej fungsi pembentukan berbilang mesin.

Tujuan dokumen ini adalah pengenalan kepada sistem robotik berbilang ejen dan membolehkan pengguna memulakan projek pembentukan berbilang robot dengan cepat.

PENGENALAN KEPADA ALGORITMA MULTI-AGENT

Algoritma pembentukan pelbagai ejen

Pakej ROS ini membentangkan masalah tipikal berbilang ejen dalam kawalan kolaboratif semasa pemacu pembentukan. Tutorial ini meletakkan asas untuk pembangunan masa depan mengenai topik ini. Algoritma kawalan pembentukan merujuk kepada algoritma yang mengawal pelbagai agen untuk membentuk formasi khusus untuk melaksanakan tugas. Kolaborasi merujuk kepada kerjasama antara pelbagai ejen menggunakan hubungan kekangan tertentu untuk menyelesaikan tugas. Ambil pemacu pembentukan berbilang robot sebagai bekasampOleh itu, kerjasama bermakna berbilang robot membentuk formasi yang diingini bersama-sama. Intipatinya ialah hubungan matematik tertentu yang dipenuhi antara kedudukan setiap robot. Kaedah pembentukan terutamanya dibahagikan kepada kawalan pembentukan berpusat dan kawalan pembentukan teragih. Kaedah kawalan pembentukan berpusat terutamanya termasuk kaedah struktur maya, kaedah teori grafik, dan kaedah ramalan model. Kaedah kawalan pembentukan teragih terutamanya termasuk kaedah pemimpin-pengikut, kaedah berasaskan tingkah laku dan kaedah struktur maya.
Pakej ROS ini menggunakan kaedah ketua-pengikut dalam kaedah kawalan pembentukan teragih untuk melaksanakan pemacu pembentukan berbilang robot. Satu robot dalam formasi ditetapkan sebagai ketua, dan robot lain ditetapkan sebagai hamba untuk mengikuti pemimpin. Algoritma menggunakan trajektori pergerakan robot terkemuka untuk menetapkan koordinat untuk dijejaki oleh robot berikut dengan arah dan kelajuan tertentu. Dengan membetulkan sisihan kedudukan daripada koordinat penjejakan, pengikut akhirnya akan mengurangkan sisihan antara pengikut dan koordinat penjejakan yang dijangkakan kepada sifar untuk mencapai objektif pemacu pembentukan. Dengan cara ini, algoritma agak kurang rumit.

Algoritma mengelakkan halangan

Algoritma pengelakan halangan yang biasa ialah kaedah medan potensi buatan. Pergerakan robot dalam persekitaran fizikal dianggap sebagai pergerakan dalam medan daya buatan maya. Halangan terdekat dikenal pasti oleh LiDAR. Halangan menyediakan medan daya tolakan untuk menghasilkan tolakan kepada robot dan titik sasaran menyediakan medan graviti untuk menghasilkan daya graviti kepada robot. Dengan cara ini, ia mengawal pergerakan robot di bawah tindakan gabungan tolakan dan tarikan.
Pakej ROS ini adalah penambahbaikan berdasarkan kaedah medan potensi buatan. Pertama, algoritma pembentukan mengira halaju linear dan sudut pengikut Hamba. Kemudian ia menambah atau mengurangkan halaju linear dan sudut mengikut keperluan mengelakkan halangan. Apabila jarak antara pengikut Hamba dan halangan lebih dekat, daya tolakan halangan kepada pengikut Hamba lebih besar. Sementara itu, perubahan halaju linear dan variasi halaju sudut adalah lebih besar. Apabila halangan lebih dekat dengan hadapan pengikut Hamba, tolakan halangan kepada pengikut Hamba menjadi lebih besar (tolakan hadapan adalah yang paling besar dan tolakan sisi adalah yang paling kecil). Akibatnya, variasi halaju linear dan halaju sudut adalah lebih besar. Melalui kaedah medan potensi buatan, ia menambah baik penyelesaian apabila robot boleh berhenti bertindak balas di hadapan halangan. Ini bertujuan untuk mengelakkan halangan yang lebih baik.

PERSEDIAAN KOMUNIKASI PELBAGAI EJEN

Komunikasi berbilang ejen adalah salah satu langkah utama untuk melengkapkan pembentukan berbilang robot. Apabila kedudukan relatif beberapa robot tidak diketahui, robot perlu berkongsi maklumat antara satu sama lain melalui komunikasi untuk memudahkan penubuhan sambungan. Seni bina dan komunikasi rangkaian yang diedarkan ROS sangat berkuasa. Ia bukan sahaja mudah untuk komunikasi antara proses tetapi juga untuk komunikasi antara peranti yang berbeza. Melalui komunikasi rangkaian, semua nod boleh berjalan pada mana-mana komputer. Tugas utama seperti pemprosesan data selesai di bahagian hos. Mesin hamba bertanggungjawab untuk menerima data persekitaran yang dikumpul oleh pelbagai sensor. Hos di sini ialah pengurus yang menjalankan nod Induk dalam ROS. Rangka kerja komunikasi berbilang ejen semasa adalah melalui pengurus nod dan pengurus parameter untuk mengendalikan komunikasi antara berbilang robot.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (1)

Langkah-langkah untuk menyediakan komunikasi berbilang ejen

  • Sediakan Kawalan ROS dalam rangkaian yang sama
    • Terdapat 2 cara untuk menyediakan Kawalan ROS Master/Slave di bawah rangkaian yang sama.

Pilihan 1:

Hos Induk mencipta wifi tempatan dengan menjalankan pengurus nod Induk. Secara amnya, salah satu robot yang ditetapkan sebagai master mencipta rangkaian wifi ini. Robot atau mesin maya lain menyertai rangkaian wifi ini sebagai hamba.

Pilihan 2:

Rangkaian wi-fi tempatan disediakan oleh penghala pihak ketiga sebagai pusat penyampaian maklumat. Semua robot disambungkan ke penghala yang sama. Penghala juga boleh digunakan tanpa sambungan internet. Pilih salah satu robot sebagai induk dan jalankan pengurus nod Induk. Robot lain ditetapkan sebagai hamba dan menjalankan pengurus nod induk daripada induk.
Keputusan untuk memilih pilihan bergantung pada keperluan projek anda. Jika bilangan robot yang perlu berkomunikasi tidak pada jumlah yang besar, Pilihan 1 disyorkan kerana ia menjimatkan kos dan mudah disediakan. Apabila bilangan robot berada pada kuantiti yang banyak, Pilihan 2 disyorkan. Kekangan pada kuasa pengkomputeran kawalan induk ROS dan lebar jalur wifi atas kapal yang terhad boleh menyebabkan kelewatan dan gangguan rangkaian dengan mudah. Penghala boleh membetulkan isu ini dengan mudah. Sila ambil perhatian bahawa apabila melakukan komunikasi berbilang ejen, jika mesin maya digunakan sebagai hamba ROS, mod rangkaiannya perlu ditetapkan kepada mod jambatan.

Konfigurasikan pembolehubah persekitaran Master/Slave

Selepas semua induk ROS semuanya berada dalam rangkaian yang sama, pembolehubah persekitaran untuk komunikasi berbilang ejen perlu ditetapkan. Pembolehubah persekitaran ini dikonfigurasikan dalam fail .bashrc dalam direktori utama. Jalankan perintah gedit ~/.bashrc untuk melancarkannya. Sila ambil perhatian bahawa kedua-dua fail .bashrc tuan dan hamba dalam komunikasi berbilang ejen perlu dikonfigurasikan. Apa yang perlu diubah ialah alamat IP di penghujung fail. Dua baris ialah ROS_MASTER_URI dan ROS_HOSTNAME, seperti yang ditunjukkan dalam Rajah 2-1-4. ROS_MASTER_URI dan ROS_HOSTNAME hos ROS ialah kedua-dua IP tempatan. ROS_MASTER_URI dalam fail .bashrc hamba ROS perlu ditukar kepada alamat IP hos manakala ROS_HOSTNAME kekal sebagai alamat IP tempatan.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (2)

Komunikasi berbilang mesin ROS tidak dikekang oleh versi keluaran ROS. Dalam proses komunikasi berbilang mesin, seseorang harus mengetahui perkara berikut:

  1. Operasi program hamba ROS bergantung pada program induk ROS peranti induk ROS. Program induk ROS mesti dilancarkan terlebih dahulu pada peranti induk sebelum melaksanakan program hamba pada peranti hamba.
  2. Alamat IP mesin induk dan hamba dalam komunikasi berbilang mesin perlu berada dalam rangkaian yang sama. Ini bermakna alamat IP dan subnet mask berada di bawah rangkaian yang sama.
  3. ROS_HOSTNAME dalam fail konfigurasi persekitaran .bashrc tidak disyorkan untuk menggunakan localhost. Adalah disyorkan untuk menggunakan alamat IP tertentu.
  4. Sekiranya alamat IP hamba tidak ditetapkan dengan betul, peranti hamba masih boleh mengakses induk ROS tetapi tidak boleh memasukkan maklumat kawalan.
  5. Jika mesin maya mengambil bahagian dalam komunikasi berbilang ejen, mod rangkaiannya perlu ditetapkan kepada mod jambatan. IP statik tidak boleh dipilih untuk sambungan rangkaian.
  6. Komunikasi berbilang mesin tidak boleh view atau melanggan topik jenis data mesej yang tidak wujud secara tempatan.
  7. Anda boleh menggunakan demo simulasi Penyu Kecil untuk mengesahkan sama ada komunikasi antara robot berjaya:
    • a. Lari dari tuan
      • rescore #melancarkan perkhidmatan ROS
      • rostrum turtlesim_node #lancarkan antara muka penyu
    • b. Lari dari hamba
      • jalankan semula penyu turtle_teleop_key #lancarkan nod kawalan papan kekunci untuk penyu

Jika anda boleh memanipulasi pergerakan penyu dari papan kekunci pada hamba, ini bermakna komunikasi tuan/hamba telah berjaya diwujudkan.

Sambungan Wi-Fi automatik dalam ROS

Prosedur di bawah menerangkan cara untuk mengkonfigurasi robot untuk menyambung secara automatik ke rangkaian hos atau rangkaian penghala.

Persediaan sambungan Wi-Fi automatik untuk Jetson Nano

  1. Sambungkan Jetson Nano melalui alat jauh VNC atau terus ke skrin komputer. Klik pada ikon wifi di penjuru kanan sebelah atas kemudian klik "Edit Sambungan.."ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (3)
  2. Klik butang + dalam Sambungan Rangkaian:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (4)
  3. Di bawah tetingkap “Pilih Jenis Sambungan”, klik menu lungsur dan klik butang “Buat…”:ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (5)
  4. Dalam Panel Kawalan, klik pilihan Wifi. Masukkan nama Wi-Fi untuk disambungkan dalam medan "Nama Sambungan" dan SSID. Pilih "Pelanggan" dalam menu lungsur "Mod" dan pilih "wlan0" dalam menu lungsur turun "Peranti".ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (6)
  5. Dalam Panel Kawalan, klik pilihan "Umum" dan tandakan "Sambung secara automatik ke rangkaian ini...". Tetapkan keutamaan sambungan kepada 1 dalam pilihan "Keutamaan sambungan untuk pengaktifan automatik". Semak pilihan "Semua pengguna boleh menyambung ke rangkaian ini". Apabila pilihan ditetapkan kepada 0 dalam "Keutamaan sambungan untuk pengaktifan automatik" untuk wifi lain, ini bermakna ini adalah rangkaian wifi pilihan pada masa lalu.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (7)
  6. Klik pilihan "Keselamatan Wi-Fi" dalam Panel Kawalan. Pilih “WPA & WPA2 Personal” dalam medan “Security”. Kemudian masukkan kata laluan Wifi dalam medan “Kata Laluan”.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (8)

Nota: Jika robot tidak boleh menyambung secara automatik ke rangkaian wifi selepas but apabila keutamaan wifi ditetapkan kepada 0, ia mungkin disebabkan oleh masalah isyarat wifi yang lemah. Untuk mengelakkan masalah ini, anda boleh memilih untuk memadam semua pilihan wifi yang telah disambungkan pada masa lalu. Hanya simpan rangkaian wifi yang dibuat oleh hos atau penghala. Klik pilihan "Tetapan IPv4" dalam panel kawalan tetapan rangkaian. Pilih pilihan "Manual" dalam medan "Kaedah". Kemudian klik "Tambah", isikan alamat IP mesin hamba dalam medan "Alamat". Isikan "24" dalam medan "Netmask". Isikan segmen rangkaian IP dalam "Gateway". Tukar tiga digit terakhir segmen rangkaian IP kepada "1". Tujuan utama langkah ini adalah untuk membetulkan alamat IP. Selepas ini selesai buat kali pertama, alamat IP akan kekal tidak berubah apabila menyambung ke WIFI yang sama kemudiannya.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (9)

Selepas semua tetapan dikonfigurasikan, klik "simpan" untuk menyimpan tetapan. Selepas penjimatan berjaya, robot akan menyambung secara automatik ke rangkaian hos atau penghala apabila ia dihidupkan.

Nota:

  1. Alamat IP yang ditetapkan di sini perlu sama dengan alamat IP yang ditetapkan dalam fail .bashrc dalam Bahagian 2.1.
  2. Alamat IP tuan dan setiap hamba mestilah unik.
  3. Alamat IP tuan dan hamba perlu berada dalam segmen rangkaian yang sama.
  4. Anda mesti menunggu hos atau penghala menghantar isyarat WiFi sebelum robot hamba boleh dihidupkan dan menyambung secara automatik ke rangkaian WiFi.
  5. Selepas tetapan dikonfigurasikan, jika robot tidak dapat menyambung ke WiFi secara automatik apabila ia dihidupkan, sila palamkan dan cabut palam kad rangkaian dan cuba sambungkan semula.

Persediaan sambungan Wi-Fi automatik untuk Raspberry Pi

Prosedur untuk Raspberry Pi adalah sama seperti Jetson Nano.

Persediaan sambungan Wi-Fi automatik untuk Jetson TX1

Persediaan dalam Jetson TX1 hampir sama seperti dalam Jetson Nano dengan satu pengecualian Jetson TX1 harus memilih peranti "wlan1" dalam "Peranti" dalam panel kawalan tetapan rangkaian.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (10)

PERSEDIAAN PENYEGERAKAN BERbilang EJEN

Dalam projek pembentukan berbilang ejen, tetapan penyegerakan masa berbilang ejen merupakan langkah penting. Dalam proses pembentukan, banyak masalah akan berpunca kerana masa sistem tak segerak bagi setiap robot. Penyegerakan masa berbilang ejen terbahagi kepada dua situasi, iaitu situasi di mana kedua-dua robot tuan dan hamba disambungkan ke rangkaian dan situasi di mana kedua-duanya terputus sambungan daripada rangkaian.

Sambungan rangkaian tuan/hamba yang berjaya

Selepas komunikasi berbilang ejen dikonfigurasikan, jika mesin induk dan hamba berjaya menyambung ke rangkaian, ia akan menyegerakkan masa rangkaian secara automatik. Dalam kes ini, tiada tindakan lanjut diperlukan untuk mencapai penyegerakan masa.

Menyelesaikan masalah terputus sambungan rangkaian

Selepas komunikasi berbilang ejen dikonfigurasikan, jika peranti induk dan hamba tidak berjaya menyambung ke rangkaian, adalah perlu untuk menyegerakkan masa secara manual. Kami akan menggunakan arahan tarikh untuk melengkapkan tetapan masa.

Pertama, pasang alat terminator. Daripada alat terminator, gunakan alat pemisah tetingkap untuk meletakkan terminal kawalan induk dan hamba ke dalam tetingkap terminal yang sama (klik kanan untuk menetapkan tetingkap belah, dan log masuk ke mesin induk dan hamba melalui ssh dalam tetingkap yang berbeza) .

  • sudo apt-get install terminator # Muat turun terminator untuk membelah tetingkap terminal

Klik butang di bahagian atas sebelah kiri, pilih pilihan [Siaran kepada semua]/[Siarkan semua], dan masukkan arahan berikut. Kemudian gunakan alat terminator untuk menetapkan masa yang sama untuk tuan dan hamba.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (11)

  • sudo date -s “2022-01-30 15:15:00” # Persediaan masa manual

PAKEJ ROS MULTI-AGENT

Pengenalan Pakej ROS

Sediakan nama hamba

Dalam pakej fungsi wheeltec_multi, adalah perlu untuk menetapkan nama unik untuk setiap robot hamba untuk mengelakkan ralat. Untuk example, No. 1 untuk slave1 dan No. 2 untuk slave2, dsb. Tujuan menetapkan nama yang berbeza adalah untuk mengumpulkan nod yang sedang berjalan dan membezakannya dengan ruang nama yang berbeza. Untuk example, topik radar hamba 1 ialah/slave1/scan, dan nod LiDAR hamba 1 ialah/slave1/laser.

Sediakan koordinat hamba

Pakej wheeltec_multi boleh melaksanakan pembentukan tersuai. Apabila formasi berbeza diperlukan, cuma ubah suai koordinat robot hamba yang dikehendaki. Slave_x dan slave_y ialah koordinat x dan y hamba dengan tuan sebagai titik rujukan asal. Bahagian hadapan induk ialah arah positif bagi koordinat x, dan sebelah kiri ialah arah positif bagi koordinat y. Selepas tetapan selesai, hamba koordinat TF1 akan dikeluarkan sebagai koordinat hamba yang dijangkakan. Jika terdapat satu tuan dan dua hamba, formasi berikut boleh ditetapkan:

  1. Pembentukan mendatar: Anda boleh menetapkan koordinat hamba di sebelah kiri kepada slave_x:0, slave_y: 0.8, dan koordinat hamba di sebelah kanan kepada slave_x:0, slave_y:-0.8.
  2. Pembentukan lajur: Koordinat satu hamba boleh ditetapkan kepada: slave_x:-0.8, slave_y:0 ​​dan koordinat hamba yang lain boleh ditetapkan kepada: slave_x:-1.8, slave_y:0.
  3. Pembentukan segi tiga: Koordinat satu hamba boleh ditetapkan kepada: slave_x:-0.8, slave_y: 0.8 dan koordinat hamba lain boleh ditetapkan kepada: slave_x:-0.8, slave_y:-0.8.

Formasi lain boleh disesuaikan mengikut keperluan.

Nota:

  • Jarak yang disyorkan antara kedua-dua robot ditetapkan kepada 0.8, dan disyorkan supaya tidak lebih rendah daripada 0.6. Jarak antara hamba dan tuan disyorkan untuk ditetapkan di bawah 2.0. Semakin jauh ia dari tuan, semakin besar kelajuan linear hamba ketika tuannya membelok. Oleh kerana had kelajuan maksimum, kelajuan hamba akan menyimpang jika ia tidak memenuhi keperluan. Pembentukan robot akan menjadi huru-hara.

Inisialisasi kedudukan hamba

  1. Kedudukan awal hamba adalah pada koordinat yang dijangkakan secara lalai. Sebelum menjalankan program, letakkan sahaja robot hamba berhampiran dengan koordinat yang dijangkakan untuk melengkapkan permulaan. Fungsi ini dilaksanakan oleh nod pose_setter dalam fail bernama turn_on_wheeltec_robot.launch dalam pakej wheeltec_multi, seperti ditunjukkan dalam Rajah 4-1-3.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (12)

Jika pengguna ingin menyesuaikan kedudukan awal hamba, dia hanya perlu menetapkan nilai slave_x dan slave_y seperti yang ditunjukkan dalam Rajah 4-1-4 dalam wheeltec_slave.launch. Nilai slave_x dan slave_y akan dihantar ke turn_on_wheeltec_robot.launch dan diberikan kepada nod pose_setter. Hanya letakkan robot dalam kedudukan tersuai sebelum menjalankan program.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (13)

Konfigurasi Kedudukan

Dalam pembentukan pelbagai ejen, masalah pertama yang perlu diselesaikan ialah kedudukan tuan dan hamba. Tuan akan membina peta 2D terlebih dahulu. Selepas mencipta dan menyimpan peta, jalankan pakej navigasi 2D dan gunakan algoritma penentududukan Monte Carlo adaptif (kedudukan amcl) dalam pakej navigasi 2D untuk mengkonfigurasi kedudukan induk. Memandangkan tuan dan hamba berada dalam rangkaian yang sama dan berkongsi pengurus nod yang sama, tuan telah melancarkan peta daripada pakej navigasi 2D, semua hamba boleh menggunakan peta yang sama di bawah pengurus nod yang sama. Oleh itu, hamba tidak perlu membuat peta. Dalam wheeltec_slave.launch, jalankan Monte Carlo positioning (amcl positioning), hamba boleh mengkonfigurasi kedudukan mereka dengan menggunakan peta yang dibuat oleh master.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (14)

Bagaimana untuk mencipta formasi dan mengekalkan formasi

Dalam proses pergerakan pembentukan, pergerakan induk boleh dikawal oleh Rviz, papan kekunci, alat kawalan jauh, dan kaedah lain. Hamba mengira kelajuannya melalui nod slave_tf_listener untuk mengawal pergerakannya dan mencapai matlamat pembentukan. Nod slave_tf_listener mengehadkan kelajuan hamba untuk mengelakkan kelajuan yang berlebihan dengan pengiraan nod, yang akan menyebabkan satu siri kesan. Nilai khusus boleh diubah suai dalam wheeltec_slave.launch.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (15)

Parameter berkaitan algoritma pembentukan adalah seperti berikut: ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (16)

Maklumat mengelakkan halangan

Dalam pembentukan berbilang ejen, induk boleh menggunakan nod move_base untuk menyelesaikan pengelakan halangan. Walau bagaimanapun, permulaan hamba tidak menggunakan nod move_base. Pada ketika ini, nod multi_avoidance perlu dipanggil dalam program hamba. Nod pengelakan halangan didayakan secara lalai dalam pakej. Jika perlu, pengelakan boleh ditetapkan kepada "palsu" untuk melumpuhkan nod pengelakan halangan. ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (17)

Beberapa parameter berkaitan nod pengelakan halangan ditunjukkan dalam rajah di bawah, di mana jarak_selamat ialah had jarak selamat halangan, dan jarak_bahaya ialah had jarak berbahaya halangan. Apabila halangan berada dalam jarak selamat dan jarak bahaya, hamba menyesuaikan kedudukannya untuk mengelakkan halangan. Apabila halangan berada dalam bahaya, hamba akan menghalau dari halangan itu.ROBOWORKS-Robofleet-MULTI-AGENT-ALGORITHMS-FIG- (18)

Prosedur Operasi

Masukkan arahan pelaksanaan

Persediaan sebelum memulakan pembentukan pelbagai ejen:

  • Tuan dan hamba menyambung ke rangkaian yang sama dan menyediakan komunikasi berbilang ejen dengan betul
  • Tuan membina peta 2D terlebih dahulu dan menyimpannya
  • Induk diletakkan pada titik permulaan peta, dan hamba diletakkan berhampiran kedudukan permulaan (kedudukan pembentukan hamba lalai)
  • Selepas log masuk ke Jetson Nano/Raspberry Pi dari jauh, lakukan penyegerakan masa.

sudo date -s “2022-04-01 15:15:00”

  • Langkah 1: Buka peta 2D daripada induk.

roslaunch turn_on_wheeltec_robot navigation.launch

  • Langkah 2: Jalankan program pembentukan daripada semua hamba.

roslaunch wheeltec_multi wheeltec_slave.launch

  • Langkah 3: Buka nod kawalan papan kekunci daripada induk atau gunakan kayu bedik untuk mengawal jauh pergerakan induk.

lancarkan semula wheeltec_robot_rc keyboard_teleop.launch

  • Langkah 4: (Pilihan) Perhatikan pergerakan robot dari Rviz.

rviz

Nota: 

  1. Pastikan anda melengkapkan operasi penyegerakan masa sebelum melaksanakan program.
  2. Apabila mengawal induk pembentukan berbilang ejen, halaju sudut tidak boleh terlalu laju. Kelajuan linear yang disyorkan ialah 0.2m/s, darjah kelajuan sudut di bawah 0.3rad/s. Apabila tuan membuat pusingan, semakin jauh hamba dari tuan, semakin besar kelajuan linear diperlukan. Kerana had pada kelajuan linear dan kelajuan sudut dalam pakej, apabila kereta hamba tidak dapat mencapai kelajuan yang diperlukan, pembentukan akan menjadi huru-hara. Secara keseluruhannya, kelajuan linear yang berlebihan boleh merosakkan robot dengan mudah.
  3. Apabila bilangan hamba adalah lebih daripada satu, disebabkan oleh lebar jalur wifi on-board yang terhad bagi hos ROS, ia adalah mudah untuk menyebabkan kelewatan yang ketara dan terputus sambungan komunikasi berbilang ejen. Menggunakan penghala boleh menyelesaikan masalah ini dengan baik.
  4. Pokok TF pembentukan berbilang robot (2 hamba) ialah: rqt_tf_tree
  5. Gambar rajah perhubungan nod bagi pembentukan berbilang robot (2 hamba) ialah: rqt_graph

Dokumen / Sumber

ROBOWORKS ALGORITMA MULTI-AGENT Robofleet [pdf] Manual Pengguna
Algoritma Berbilang Ejen Robofleet, Robofleet, Algoritma Berbilang Ejen, Algoritma Ejen, Algoritma

Rujukan

Tinggalkan komen

Alamat e-mel anda tidak akan diterbitkan. Medan yang diperlukan ditanda *