Daftar Isi:

Lengan Robot ROS MoveIt: 4 Langkah
Lengan Robot ROS MoveIt: 4 Langkah

Video: Lengan Robot ROS MoveIt: 4 Langkah

Video: Lengan Robot ROS MoveIt: 4 Langkah
Video: Introduction to MoveIt with Rviz 2024, Juli
Anonim
Image
Image

Ini akan menjadi serangkaian artikel tentang membuat lengan robot yang dikendalikan dengan ROS (Sistem Operasi Robot) dan MoveIt. Jika Anda menyukai robotika, ROS adalah kerangka kerja hebat yang akan membantu Anda membangun robot yang lebih baik dengan lebih cepat. Ini memungkinkan Anda untuk menggunakan kembali paket untuk sistem robot yang berbeda (visi komputer, kinematika, perencanaan jalur, SLAM, dll) yang dibuat orang lain. ROS bagus, tapi sayangnya memiliki kurva belajar yang curam.

Jadi tutorial ini adalah panduan langkah demi langkah untuk membuat lengan robot pertama Anda dengan perencanaan gerak, yang ditujukan untuk tingkat pemula dan menengah atas. Saya berasumsi Anda tidak memiliki pengetahuan tentang ROS, tetapi memiliki pengetahuan dasar Linux dan Python, keterampilan pemrograman Arduino.

Langkah 1: Persiapkan Lingkungan Anda

Lingkungan saya untuk pengembangan adalah Ubuntu 16.04 LTS yang berjalan di Kotak Virtual (mesin Host Windows 10). Jika Anda ingin menjalankan Ubuntu di VM tidak masalah, saya dapat mengonfirmasi bahwa ROS Kinetic berfungsi, meskipun dengan beberapa keanehan (terutama akselerasi 3D dan dukungan USB). Jika Anda memiliki instalasi Ubuntu biasa, itu akan bekerja lebih baik.

Catatan: Anda dapat menginstal ROS di Raspberry Pi, tetapi sayangnya tidak cukup kuat untuk menjalankan simulasi di Rviz, apalagi Gazebo.

1) Instal ROS Kinetic. Ikuti panduan ini tentang cara menginstal ROS Kinetic di Ubuntu 16.04.

2) Instal MoveIt. Pindahkan! adalah paket untuk ROS untuk manipulasi seluler, yaitu lengan robot.

3) Periksa apakah semuanya berfungsi. Lari

roslaunch panda_moveit_config demo.launch rviz_tutorial:=true

jika Anda mau, ikuti tutorial dasar moveit

4) Anda juga perlu menginstal paket urdf_tutorial, kami akan menggunakannya untuk memvisualisasikan pekerjaan kami yang sedang berlangsung.

sudo apt-get install ros-kinetic-urdf-tutorial

Langkah 2: Buat File Urdf

Buat File Urdf
Buat File Urdf
Buat File Urdf
Buat File Urdf

Jika Anda mengikuti tutorial memulai cepat MoveIt, Anda seharusnya membuat ruang kerja catkin di direktori home Anda (nama ruang kerja mungkin berbeda, default dari tutorial moveit adalah ws_moveit). Buka ~ws_moveit/src dan klon repo github saya di sana.

github.com/AIWintermuteAI/ros-moveit-arm.git

Jika Anda menggunakan lengan robot yang sama seperti yang saya lakukan atau hanya ingin berlatih, Anda dapat membiarkan file urdf tidak berubah, jika tidak, Anda harus mengubahnya agar sesuai dengan model lengan yang Anda miliki.

Berikut penjelasan singkat tentang file urdf, melihat contoh saya dan model robot di rviz akan membantu Anda memahaminya dengan lebih baik dan mengajukan permohonan untuk menulis file urdf Anda sendiri

link adalah bagian dari robot, seperti pergelangan tangan atau platform. Mereka memiliki properti berikut:

digunakan untuk representasi visual di rviz dan gazebo. Menggunakan jerat berkualitas tinggi

digunakan untuk pemeriksaan tabrakan selama perencanaan jalur. Direkomendasikan untuk menggunakan jerat berkualitas rendah, tetapi untuk tutorial saya menggunakan yang sama seperti untuk visual.

sendi di urdf adalah koneksi antara tautan yang menggambarkan bagaimana posisinya dalam kaitannya satu sama lain dan bagaimana mereka bergerak. Mereka memiliki properti berikut:

arah rotasi sambungan (sepanjang sumbu x, y atau z)

derajat minimum dan maksimum sambungan dalam radian. Hanya berlaku untuk sambungan tipe "revolute" (sambungan "kontinu" tidak memiliki batas, karena sambungan tersebut berputar terus menerus)

posisi sendi dalam kaitannya dengan asal

menggambarkan dua tautan mana yang terhubung dengan sambungan

Jika Anda menggunakan lengan robot yang sama seperti saya, Anda harus menyalin jerat 3D dari lengan tersebut ke folder paket urdf_tutorial. Lakukan dengan perintah ini

sudo cp /opt/ros/kinetic/share/urdf_tutorial/meshes/

Jika Anda menggunakan jerat Anda sendiri, pastikan mereka berada di tengah sekitar asal (xyz 000 dalam perangkat lunak pemodelan 3D favorit Anda) sebelum Anda mengekspornya ke format stl biner(!).

Sekarang Anda dapat meluncurkan rviz untuk memvisualisasikan hasilnya dengan perintah ini

roslaunch urdf_tutorial display.launch model:=arm.urdf

(luncurkan dari folder dengan file urdf yang baru saja Anda buat)

Periksa sambungan dan tautannya, pastikan mereka berputar dan diposisikan persis seperti yang seharusnya. Jika semuanya baik-baik saja, lanjutkan ke langkah berikutnya.

Langkah 3: Buat Konfigurasi Robot Dengan MoveIt Setup Assistant

Buat Konfigurasi Robot Dengan Asisten Pengaturan MoveIt
Buat Konfigurasi Robot Dengan Asisten Pengaturan MoveIt

Sekarang ketika file urdf Anda sudah siap saatnya untuk mengubahnya menjadi paket konfigurasi robot.

Luncurkan MoveIt Setup Assistant dengan perintah berikut

roslaunch moveit_setup_assistant setup_assistant.launch

Prosesnya dijelaskan dengan sangat baik dalam tutorial resmi MoveIt, yang dapat Anda temukan di sini

Setelah Anda membuat paket konfigurasi, buka folder ruang kerja catkin Anda dan jalankan

buatan catkin

untuk membangun paket. Sekarang Anda dapat meluncurkannya dengan perintah berikut

roslaunch my_arm_xacro demo.launch rviz_tutorial:=true

di mana Anda perlu mengubah "my_arm_xacro" menjadi nama paket Anda.

Langkah 4: Selesai

Selesai!
Selesai!
Selesai!
Selesai!

Jika Anda berhasil meluncurkan paket, Anda akan melihat model robot Anda dengan penanda interaktif. Anda akan dapat mengontrolnya dalam simulasi, menggunakan spidol dan kemudian tekan "Rencanakan dan jalankan" untuk pemecah kinematik untuk menemukan jalur yang benar ke keadaan yang diinginkan.

Itu adalah langkah pertama, kami membuat model lengan robot kami dan dapat memanen kekuatan ROS untuk menghitung dan mengeksekusi gerakan dalam simulasi! Langkah selanjutnya - lakukan dengan robot sungguhan, untuk itu kita perlu menulis pengontrol robot sederhana…

Direkomendasikan: