Isi kandungan:

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, Julai
Anonim
Image
Image

Ini akan menjadi rangkaian artikel mengenai membuat lengan robot dikendalikan dengan ROS (Robotic Operating System) dan MoveIt. Sekiranya anda menceburkan diri dalam robotik, ROS adalah rangka kerja hebat yang akan membantu anda membina robot yang lebih baik dengan lebih pantas. Ini membolehkan anda menggunakan semula pakej untuk sistem robot yang berbeza (penglihatan komputer, kinematik, perancangan jalan, SLAM, dll) yang dibuat oleh orang lain. ROS hebat, tetapi sayangnya ia mempunyai keluk pembelajaran yang curam.

Oleh itu, tutorial ini adalah panduan langkah demi langkah untuk membuat lengan robot pertama anda dengan perancangan gerakan, yang ditujukan untuk peringkat pemula dan menengah. Saya menganggap anda tidak mempunyai pengetahuan mengenai ROS, tetapi mempunyai beberapa pengetahuan asas mengenai kemahiran pengaturcaraan Linux dan Python, Arduino.

Langkah 1: Siapkan Persekitaran Anda

Persekitaran saya untuk pembangunan adalah Ubuntu 16.04 LTS yang berjalan di Virtual Box (mesin hos Windows 10). Sekiranya anda ingin menjalankan Ubuntu di VM, tidak mengapa, saya dapat mengesahkan ROS Kinetic berfungsi, walaupun dengan beberapa kebiasaan (terutamanya pecutan 3D dan sokongan USB). Sekiranya anda mempunyai pemasangan Ubuntu biasa, ia akan berfungsi lebih baik.

Catatan: Anda boleh memasang ROS pada Raspberry Pi, tetapi malangnya ia tidak cukup kuat untuk menjalankan simulasi di Rviz, apalagi Gazebo.

1) Pasang ROS Kinetic. Ikuti panduan ini mengenai cara memasang ROS Kinetic di Ubuntu 16.04.

2) Pasang MoveIt. Menggerakkannya! adalah pakej untuk ROS untuk manipulasi mudah alih, iaitu senjata robot.

3) Periksa sama ada semuanya berfungsi. Lari

roslaunch panda_moveit_config demo.launch rviz_tutorial: = benar

jika anda mahu, baca tutorial asas bergerak

4) Anda juga perlu memasang pakej urdf_tutorial, kami akan menggunakannya untuk memvisualisasikan kerja kami yang sedang berjalan.

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

Langkah 2: Buat Fail Urdf

Buat Fail Urdf
Buat Fail Urdf
Buat Fail Urdf
Buat Fail Urdf

Sekiranya anda mengikuti tutorial langkah cepat MoveIt, anda seharusnya telah membuat ruang kerja catkin di direktori rumah anda (nama ruang kerja mungkin berbeza, lalai dari tutorial bergerak adalah ws_moveit). Pergi ke ~ ws_moveit / src dan klon repo github saya di sana.

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

Sekiranya anda menggunakan lengan robot yang sama seperti yang saya lakukan atau hanya ingin berlatih, anda boleh membiarkan fail urdf tidak berubah, jika tidak, anda perlu mengubahnya agar sesuai dengan model lengan yang anda miliki.

Berikut adalah penjelasan ringkas mengenai fail urdf, melihat contoh saya dan model robot di rviz akan membantu anda untuk memahaminya dengan lebih baik dan memohon untuk menulis fail urdf anda sendiri

pautan adalah bahagian robot, seperti pergelangan tangan atau platform. Mereka mempunyai sifat berikut:

digunakan untuk perwakilan visual dalam rviz dan gazebo. Menggunakan jerat berkualiti tinggi

digunakan untuk pemeriksaan perlanggaran semasa merancang jalan. Disarankan untuk menggunakan jaring berkualiti rendah, tetapi demi tutorial saya menggunakan yang sama seperti visual.

sendi di urdf adalah hubungan antara pautan yang menerangkan bagaimana kedudukannya saling berkaitan dan bagaimana mereka bergerak. Mereka mempunyai sifat berikut:

arah putaran sendi (sepanjang paksi x, y atau z)

tahap minimum dan maksimum sendi dalam radian. Hanya berlaku untuk sendi jenis "putar" (sambungan "berterusan" tidak mempunyai had, kerana mereka, berputar secara berterusan)

kedudukan sendi berhubung dengan asal

menerangkan dua pautan yang dihubungkan dengan sendi

Sekiranya anda menggunakan lengan robot yang sama seperti saya, anda perlu menyalin jejak lengan 3D ke folder pakej urdf_tutorial. Lakukan dengan arahan ini

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

Sekiranya anda menggunakan jaring anda sendiri, pastikan ia berpusat di sekitar asal (xyz 000 dalam perisian pemodelan 3D kegemaran anda) sebelum anda mengeksportnya ke format stl binari (!).

Sekarang anda boleh melancarkan rviz untuk memvisualisasikan hasilnya dengan arahan ini

roslaunch urdf_tutorial display.launch model: = arm.urdf

(lancarkan dari folder dengan fail urdf yang baru anda buat)

Periksa sendi dan pautannya, pastikan ia berputar dan diposisikan dengan tepat seperti yang sepatutnya. Sekiranya semuanya baik-baik saja, teruskan ke langkah seterusnya.

Langkah 3: Buat Konfigurasi Robot Dengan Pembantu Penyediaan MoveIt

Buat Konfigurasi Robot Dengan Pembantu Penyediaan MoveIt
Buat Konfigurasi Robot Dengan Pembantu Penyediaan MoveIt

Sekarang apabila fail urdf anda sudah siap, inilah masanya untuk menukarnya ke pakej konfigurasi robot.

Lancarkan MoveIt Setup Assistant dengan arahan berikut

roslaunch moveit_setup_assistant setup_assistant.launch

Prosesnya dijelaskan dengan baik dalam tutorial rasmi MoveIt, yang anda dapati di sini

Setelah anda membuat pakej konfigurasi, pergi ke folder ruang kerja catkin anda dan jalankan

catkin buat

untuk membina pakej. Sekarang anda boleh melancarkannya dengan arahan berikut

roslaunch my_arm_xacro demo.launch rviz_tutorial: = true

di mana anda perlu menukar "my_arm_xacro" ke nama pakej anda.

Langkah 4: Selesai

Selesai!
Selesai!
Selesai!
Selesai!

Sekiranya anda berjaya melancarkan pakej, anda akan melihat model robot anda dengan penanda interaktif. Anda akan dapat mengawalnya dalam simulasi, menggunakan penanda dan kemudian tekan "Rancang dan laksanakan" untuk penyelesai kinematik untuk mencari jalan yang betul ke keadaan yang diingini.

Itulah langkah pertama, kami membuat model lengan robot kami dan dapat memanfaatkan kekuatan ROS untuk mengira dan melaksanakan gerakan dalam simulasi! Langkah seterusnya - lakukan dengan robot sebenar, untuk itu kita perlu menulis pengawal robot ringkas …

Disyorkan: