Robotik

Catkin ROS

Catkin ROS
Semasa menggunakan Sistem Pengoperasian Robotik, anda pada suatu ketika ingin mengembangkan perisian anda. Untuk versi ROS1 yang masih dalam penyelenggaraan sehingga tahun 2025, anda akan menggunakan Catkin untuk menyusun projek anda. Sekiranya anda tidak merancang untuk memprogramkan diri sendiri, perhatikan bahawa anda mungkin perlu menyusun perisian orang lain sehingga mempelajari asasnya berguna dalam apa jua keadaan. Sekiranya anda sudah berpindah ke ROS2, anda akan menggunakan colcon untuk melakukan perkara yang sama.

Apa itu Catkin?

Alat ini dikembangkan untuk ROS, sistem operasi robotik, oleh pasukan yang membina alat ROS. Ia mempunyai banyak alat untuk membina projek robotik anda. Menggunakannya adalah mustahak jika anda mengembangkan robot menggunakan ROS. Anda harus sedar bahawa terdapat beberapa generasi alat ini sejak beberapa tahun kebelakangan ini. Ini bermakna anda perlu memilih yang terbaru! Catkin dipasang dengan pengedaran suara ROS penuh; semua yang anda perlu jaga adalah konfigurasi. Anda perlu menetapkan persekitaran yang betul untuk menjalankan Catkin.

Menyiapkan direktori / persekitaran

Buat direktori dengan sub-direktori src / di dalamnya. MyRob / src. Contohnya adalah dari tutorial pemula.

catkin_make membuat senarai CMakel.txt dalam direktori src. Ini menunjukkan fail lain yang membentuk projek.

Seterusnya, anda ingin membuat pakej anda.

Pergi ke direktori src

catkin_createpkg
$ catkin_createpkg beginner_tutorials std_msgs ropy roscpp

Perhatikan kesalahan dalam arahan. Ini mewujudkan segalanya seolah-olah anda tidak tersilap. Anda boleh mendapatkan hasilnya dalam fail dengan grep.

$ grep -r ropy
ubuntu @ noetic: / rumah / ubuntu / catkin_ws / src / beginner_tutorials
$ grep -r ropy. ./ CMakeLists.txt: ropy
./ CMakeLists.txt: # CATKIN_DEPENDS ropy roscpp std_msgs
./ pakej.xml: ropy
./ pakej.xml: ropy
./ pakej.xml: ropy

Kompilasi seterusnya akan gagal. Anda kini mempunyai dua pilihan, edit fail atau hapus keseluruhan direktori. Skrip biasanya cepat jadi yang paling mudah adalah membuang dan menjalankan semula perintah create. Setelah anda menyelesaikan kesilapan tersebut, anda teruskan dengan membina bungkusan itu. Walau bagaimana pun, apabila anda telah memperbaikinya, pergi ke akar ruang kerja dan jalankan catkin_make sekali lagi. Semasa anda meneruskan mana-mana projek, anda akan selalu kembali ke akar ruang kerja untuk membuat keseluruhan projek. Ini hanya memastikan bahawa semuanya ada dengan betul, ada beberapa muslihat yang bijak sehingga anda tidak perlu menyusun semula keseluruhan projek setiap kali.

$ cd ~ catkin_ws / $ catkin_make

Sekiranya berjaya kali ini, anda baru sahaja membuat pakej pertama anda. Ingatlah untuk memperbaiki pakej anda.fail xml. Anda mungkin harus menetapkan nama anda dengan betul dan lesen. Terdapat lebih banyak tetapan, semuanya mudah difahami.

Projek kecil

Sekarang, lakukan lagi di direktori baru dan buat projek anda. Atau lebih baik lagi: untuk latihan, ambil projek dari GitHub, lihat ke mana ia pergi, dan kemudian mulailah mengubahnya mengikut keinginan anda. Untuk melakukan ini, anda boleh membuat ruang kerja untuk catkin dengan direktori src. Di direktori sumber, anda menyalin di direktori kod sumber. Dari contoh, di atas anda memerlukan dua langkah, klon direktori dan jalankan catkin_make.

$ cd / src
$ git klon https: // github.com / crkaushik93 / Go-Chase-It-RSEND-Projek-2.git
$ cd…
$ catkin_make

Untuk membuat pokok yang kurang dalam, anda boleh memindahkan setiap sub-direktori satu langkah tetapi ini adalah pilihan. Perintah terakhir akan mencari direktori src / dan mencari semua kod.

Memasang

Anda biasanya tidak memasang pakej pada sistem pembangunan sahaja. Walau bagaimanapun, anda menjalankan pemasangan untuk membuat persekitaran pemasangan dan persekitaran pembangunan. Perintah catkin_make membuat ini untuk anda. Semasa anda bergerak, anda harus mencari satu untuk pengembangan dan yang lain untuk ujian. Pemasangan langsung akan membuat direktori anda, termasuk skrip untuk menginisialisasi persekitaran.

$ catkin_make install


Anda tidak akan memasang fail pada sistem anda, hanya di direktori projek. Ini bagus kerana yang perlu anda lakukan adalah menjalankan persediaan dan memulakan ujian.

$ source devel / setup_bash

Atau ..

$ sumber install / setup_bash

Yang pertama adalah untuk anda menjalankan ujian dan mengetahui kesilapan apa yang telah anda masukkan dalam kod anda.

Hanya ROS?

Jadi, adakah ini hanya sah untuk ROS1? Ya, catkin ditujukan hanya pada perpustakaan ROS1. Satu perkara yang perlu diperhatikan adalah bahawa kebanyakan pekerjaan adalah cmake. Anda akan dapat menerjemahkan banyak amalan ke projek lain yang menggunakan CMake. Anda hanya perlu melakukan lebih banyak pekerjaan kerana Catkin telah mempermudahkan banyak tugas untuk anda. Untuk ROS2, banyak perkara serupa tetapi penyelesaiannya lebih halus dan mempunyai lebih banyak ciri untuk mengawal seberapa banyak anda menyusun setiap kali. Anda juga dapat memprogram di kedua-dua tahap ROS, ada jambatan antara keduanya!

Kesimpulannya

Catkin adalah sekumpulan alat yang sangat kuat dan serba boleh yang menjadikan kerja anda lebih mudah dan membolehkan anda terus berusaha mengembangkan kod robotik anda. Amalannya, walaupun merupakan kaedah terbaik untuk mempelajari lebih lanjut mengenai pengaturcaraan. Oleh itu, walaupun projek robot anda hanya untuk hak terdekat dan hak membual, anda boleh memanfaatkan pengetahuan untuk projek lain.

Permainan Terbaik untuk Dimainkan dengan Penjejakan Tangan
Oculus Quest baru-baru ini memperkenalkan idea hebat penjejakan tangan tanpa pengawal. Dengan jumlah permainan dan aktiviti yang semakin meningkat yan...
Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...