Robotika

Bagaimana Merencanakan Robot Sederhana Menggunakan Linux

Bagaimana Merencanakan Robot Sederhana Menggunakan Linux
Setelah Anda menginstal ROS, Anda mungkin ingin membuat robot. Cara yang baik untuk berhasil dalam proyek ini adalah merencanakan apa yang ingin Anda lakukan. Dalam hal ini, ROS datang untuk menyelamatkan. Dengan ROS, Anda dapat mengatur apa yang telah Anda buat dan memvisualisasikan semuanya. Saat bekerja dengan robot, akan ada banyak skenario yang mungkin perlu Anda pertimbangkan. Robot harus berinteraksi dengan lingkungan, seperti menghindari sofa dan menemukan jalan kembali dari dapur. Robot juga harus memiliki lengan dan kaki jika kebutuhan Anda memerlukannya. Anda dapat mensimulasikan semua ini menggunakan ROS, dan untuk bagian pengkodean, Anda juga dapat mensimulasikan internal sistem Anda.

Bagaimana Anda Membangun Robot ROS?

Agar sistem bekerja dengan baik, dan agar Anda dapat mengikuti apa yang akan dilakukan perangkat dalam situasi tertentu, Anda memerlukan definisi standar untuk setiap bagian. Di ROS, komponen ini adalah node, layanan, dan topik. Singkatnya, Anda membuat satu simpul untuk setiap kebutuhan utama. Misalnya, gerak adalah satu simpul, penglihatan adalah simpul lain, dan perencanaan adalah simpul ketiga. Node berisi layanan yang dapat mengirim informasi ke node lain, dan layanan juga dapat menangani permintaan dan tanggapan. Sebuah topik dapat menyiarkan nilai ke banyak node lainnya. Memahami istilah-istilah ini dan bagaimana Anda harus menggunakannya adalah kunci pertama untuk menguasai pengembangan ROS2.

Tiru Navigasi dengan turtlesim

Saat memulai di ROS, Anda mungkin akan membeli robot yang berjalan atau berguling-guling di rumah Anda. Untuk melakukan ini, robot perlu melihat area yang dinavigasinya. Untuk melakukan ini, Anda dapat menggunakan aplikasi seperti peta untuk menguji perilaku robot Anda. Perancang di belakang Turtlebot telah membuat aplikasi, yang disebut turtlesim, yang dapat melakukan ini untuk Anda. Seperti semua bagian ROS2 lainnya, Anda dapat memulai alat ini dengan sub-perintah dari baris perintah. Anda kemudian memiliki aktivitas untuk fungsi yang berbeda. Bagian pertama adalah memulai jendela di mana Anda dapat melihat simulasi, dan ini disebut node.

$ ros2 jalankan turtlesim turtlesimnode

Sebuah jendela akan muncul dengan Turtle di tengah. Untuk mengontrol kura-kura dengan keyboard Anda, Anda harus menjalankan perintah kedua yang tetap terbuka dan terus menekan tombol tertentu. Ini adalah simpul kedua yang berkomunikasi dengan yang pertama.

$ ros2 jalankan turtlesim turtleteleopkey

Sekarang, Anda dapat memindahkan kura-kura dan melihat bagaimana ia bergerak. Anda mungkin juga mendapatkan kesalahan, seperti menabrak dinding. Kesalahan ini muncul di terminal tempat turtlesimnode berjalan. Ini adalah penggunaan modul simulasi yang paling sederhana. Anda juga dapat menjalankan bentuk yang diberikan, kotak disediakan, dan menambahkan lebih banyak kura-kura. Untuk menambahkan lebih banyak kura-kura, Anda dapat menggunakan perintah rqt.

Tentukan Layanan dengan rqt

Program rqt menyediakan layanan untuk simulasi. q adalah singkatan dari Qt, yang untuk menangani antarmuka. Dalam contoh ini, Anda menelurkan kura-kura baru.

$ rqt

Antarmuka rqt adalah daftar panjang layanan untuk simulasi yang Anda jalankan. Untuk membuat kura-kura baru, pilih menu tarik-turun 'spawn', beri nama baru kura-kura, dan klik 'panggil.' Anda akan segera melihat kura-kura baru di sebelah yang pertama. Jika Anda mengklik menu drop-down 'spawn', Anda juga akan melihat banyak entri baru yang terkait dengan kura-kura yang baru bertelur.

Anda juga dapat memetakan kembali perintah untuk menjalankan kura-kura baru. Perintah untuk melakukannya adalah sebagai berikut:

$ ros2 jalankan turtlesim turtleteleopkey -ros-args -remap turtle1/cmdvel:=turtle2/cmdvel

Atur nama 'turtle2,' sesuai dengan pilihan Anda sebelumnya.

Tampilan Lanjutan dengan Rviz

Untuk tampilan lebih lanjut dan 3D, gunakan rviz. Paket ini mensimulasikan semua node dalam desain Anda.

$ ros2 jalankan rviz2 rviz2

Di antarmuka grafis, Anda memiliki tiga panel, dengan tampilan di tengah. Anda dapat membangun lingkungan menggunakan panel 'Tampilan'. Anda dapat menambahkan dinding, kekuatan angin, dan sifat fisik lainnya. Ini juga tempat Anda menambahkan robot Anda.

Ketahuilah bahwa sebelum Anda mencapai titik ini, Anda perlu memahami cara menggunakan format URDF. Format URDF mendefinisikan robot, memungkinkan Anda untuk mengatur tubuh, lengan, kaki, dan, di atas segalanya, zona tabrakan. Zona tabrakan ada sehingga simulasi dapat memutuskan apakah robot telah bertabrakan.

Mempelajari tentang membuat robot dalam format URDF adalah proyek besar, jadi gunakan kode sumber terbuka yang ada untuk bereksperimen dengan emulator.

Simulasi Fisika dengan Gazebo

Di Gazebo, Anda dapat mensimulasikan fisika lingkungan di sekitar robot Anda. Gazebo adalah program pelengkap yang bekerja sama dengan baik dengan rviz. Dengan Gazebo, Anda dapat melihat apa yang sebenarnya terjadi; dengan rviz, Anda melacak apa yang dideteksi robot. Ketika perangkat lunak Anda mendeteksi dinding yang tidak ada, Gazebo akan menunjukkan kosong dan rviz akan menunjukkan di mana dalam kode Anda dinding itu dibuat.

Kesimpulan

Mensimulasikan robot Anda dan lingkungannya diperlukan untuk menemukan bug dan memberikan peningkatan yang diperlukan dalam pengoperasian robot Anda sebelum Anda meletakkannya di alam liar. Ini adalah proses membosankan yang berlanjut lama setelah Anda mulai menguji bot, baik di lingkungan yang terkendali maupun di kehidupan nyata. Dengan pengetahuan yang memadai tentang infrastruktur sistem internal robot Anda, Anda dapat memahami apa yang telah Anda lakukan dengan benar dan salah. Belajarlah dengan cepat untuk menghargai semua kesalahan yang Anda temukan, karena mereka dapat membuat sistem Anda lebih kuat dalam jangka panjang.

5 Game Arkade Terbaik untuk Linux
Saat ini, komputer adalah mesin serius yang digunakan untuk bermain game. Jika Anda tidak bisa mendapatkan skor tinggi baru, Anda akan tahu apa yang s...
Pertempuran Untuk Wesnoth 1.13.6 Pengembangan Dirilis
Pertempuran Untuk Westnoth 1.13.6 dirilis bulan lalu, adalah rilis pengembangan keenam dalam 1.13.x series dan memberikan sejumlah peningkatan, teruta...
Cara Menginstal League Of Legends di Ubuntu 14.04
Jika Anda adalah penggemar League of Legends, maka ini adalah kesempatan bagi Anda untuk menguji coba League of Legends. Perhatikan bahwa LOL didukung...