Project Webots

Halaman ini berisi detail project penulisan teknis yang diterima untuk Google Season Dokumen.

Ringkasan proyek

Organisasi open source:
Webot
Penulis teknis:
Saluran ilusi ringan
Nama proyek:
Serial Tutorial Video untuk Webots (Integrasi dengan ROS2)
Durasi proyek:
Durasi standar (3 bulan)

Project description

Pembelajaran:

Rangkaian tutorial video ini akan memungkinkan pengguna baru untuk memulai Webots sebaik mungkin dan memberikan solusi langkah demi langkah yang jelas kepada pemirsa untuk mencapai simulasi tertentu.

Sasaran:

Pada akhir seri ini, pemirsa akan dapat membuat {i>node<i} ROS2 dasar dan berinteraksi dengan Webots serta mendapatkan kepercayaan untuk mengerjakan proyek lanjutan dalam robot seluler. Seri video ini juga akan memberikan penjelasan teoretis yang baik tentang beberapa konsep penting dalam bidang robotika.

Detail Serial Video:

  1. Penginstalan ROS 2 dan penyiapan repositori di Visual Studio Code. Ini termasuk instalasi {i>command wise<i} ROS2 dan dasar-dasar cara kerjanya. Kedua, juga akan mencakup penyiapan ruang kerja ROS pada kode VS dan fungsi tab dasar dalam kode VS.

  2. Contoh dasar ROS2 dan Webots. Beberapa contoh Webots ROS2 akan digunakan untuk melibatkan penonton dalam memahami keajaiban apa yang dapat dilakukan jika kita menggunakan ROS2 dengan Webots untuk simulasi. Ini juga akan mencakup teori dasar komunikasi antara ROS2 dan Webots.

  3. Menggunakan layanan ROS2 untuk berinteraksi dengan Webot. Pengajaran dasar-dasar layanan ROS yang menjelaskan perbedaan antara layanan di ROS dan ROS2. Kedua, menunjukkan tutorial bertahap untuk memanggil layanan dan mengaktifkan topik sensor untuk pembacaan dan aktuator untuk gerakan.

  4. Kontrol robot kustom dengan Penayang ROS2. Mempelajari cara memublikasikan pesan menggunakan penayang ROS2 ke Webots. Kita dapat menerapkan contoh pengendalian gerakan robot dengan memublikasikan output keyboard ke topik yang kemudian dapat digunakan oleh layanan ROS untuk gerakan di Webots.

  5. Dapatkan masukan dari robot dengan Subscriber ROS2. Dalam video ini, kami akan berlangganan pembacaan sensor sensor jarak dan menghentikan robot jika terjadi tabrakan. Jadi pada dasarnya, ini akan menjadi node untuk menghindari rintangan dengan pesan interaktif yang dipublikasikan.

  6. Robot Master(Publisher) Slave(Subscriber) dengan ROS2. Dalam video ini, kami akan mengontrol satu robot dengan Keyboard dan membuat robot lain melarikan diri dari robot manual. Mirip dengan skenario Pencuri dan Polisi :) [Ini akan menjadi kelanjutan dari 3,4,5 video]. Hal ini akan memungkinkan pelihat menguji komunikasi dan akan mendapatkan kekurangan dalam simulasi jika ada masalah dalam ROS.

  7. Menyiapkan Rviz (Menampilkan output sensor yang berbeda). Dalam video ini, kita akan menambahkan beberapa sensor lain dan memublikasikan datanya di Rviz. Di akhir video ini, penonton akan dapat menyiapkan Rviz (yaitu menambahkan sensor seperti Lidar, Kamera, dll.untuk visualisasi), menyimpan konfigurasi dan menyimpan konfigurasi yang disimpan di lain waktu.

  8. Video debug (Rostopic echo, Rostopic info, RQT_graph). Video ini akan menyertakan fungsi yang salah dari beberapa topik untuk membantu memahami teknik proses debug. Kami akan mengikuti proses melihat grafik RQT dan mengetahui topik mana yang bertanggung jawab atas masalah tersebut. Menggunakan rostopic echo untuk memeriksa apakah topik dipublikasikan dan di akhiri memeriksa info rostopic untuk mendapatkan masalah. Selesaikan masalah dan nikmati fungsinya secara normal.

  9. Video proses debug(rqt_console, rqt_gui) Dalam video ini, pesan Ros(info, debug, error, dll.) akan digunakan dalam node, dan penggunaan rqt_console akan dipelajari. Video ini juga akan diperluas agar dapat menggunakan rqt_gui untuk memublikasikan pesan contoh guna mendapatkan fungsi yang diperlukan. Hal ini dapat menjadi pendekatan alternatif untuk memperbaiki beberapa bug.

  10. Video topik lanjutan: Tentang integrasi library SLAM di lingkungan yang tidak diketahui (Toolbox SLAM atau LaMa) [Bagian 1] Video ini akan dimulai dengan teori dasar masalah SLAM. Setelah itu, kita akan menggunakan konsep yang diajarkan di atas infrastruktur untuk memahami inti dari proyek. Terakhir, kita akan memunculkan node yang diperlukan melalui terminal dan melihat output pemetaan di Rviz.

  11. Video topik lanjutan: Tentang integrasi library SLAM di lingkungan yang tidak diketahui (toolbox SLA atau LaMa) [Bagian 2] Sebagai kelanjutan dari video ke-10, dalam video ini, saya akan mengajarkan cara membuat file peluncuran untuk meluncurkan semua node secara bersama-sama dan memeriksa rqt_graph untuk memahami konsep yang tepat dalam framework ROS. Pada akhirnya, kita akan menyimpan peta yang dihasilkan oleh paket menggunakan server peta.

  12. Video topik lanjutan: Tentang integrasi OpenCV (deteksi tag AR, paket Ar_track_alvar) [Bagian 1] Video akan dimulai dengan apa yang dimaksud dengan tag AR dan signifikansinya dalam pelokalan menggunakan computer vision. Kemudian, kita akan melanjutkan cara kerja paket Alvar jalur AR. Hal ini akan membantu memberikan perspektif keseluruhan proyek. Terakhir, layanan akan dibuat untuk mengaktifkan streaming frame video dari Webots ke topik ROS.

  13. Video topik lanjutan: Tentang integrasi OpenCV (deteksi tag AR, paket Ar_track_alvar) [Bagian 2] Video ini merupakan kelanjutan dari video ke-12 yang menggunakan aliran gambar di atas oleh paket dan topik transformasi antara robot dan Tag AR akan dipublikasikan yang dapat dilihat di Rviz. Terakhir, saat kita menggerakkan robot, kita akan melihat tag yang berbeda ditempatkan dan posisinya berubah di Rviz dan di pesan rostopic.

Kesimpulan:

Proyek GSOD ini adalah paket mandiri untuk memungkinkan pemahaman dasar tentang integrasi ROS2 dengan Webots. Paket ini juga akan mencakup implementasi praktis dari konsep-konsep dalam ROS2 seperti topik, layanan, simpul, file peluncuran, penerbit, pelanggan, alat debug yang berbeda, dan penggunaan kode VS. Hal ini juga akan melibatkan project topik tingkat lanjut seperti SLAM dan OpenCV. Hal ini akan memberi penonton paradigma pekerjaan menyeluruh menggunakan ROS2 dan Webots.