ROS 101: Pengenalan Sistem Operasi Robot

chmood



Clearpath Robotika membawa kita serangkaian tutorial baru di ROS!
Β Β Β  Karena kita praktis tinggal di Robot Sistem Operasi (ROS), kami pikir sudah waktunya untuk berbagi beberapa tips tentang cara untuk memulai dengan ROS. Kami akan menjawab pertanyaan-pertanyaan seperti di mana saya mulai? Bagaimana saya memulai? Apa terminologi yang harus saya memoles? Mengawasi keluar untuk ini ROS 101 blog seri yang berkelanjutan yang akan memberikan Anda dengan atas ke bawah pandangan ROS yang akan fokus pada memperkenalkan konsep dasar sederhana, bersih dan pada kecepatan yang wajar. Panduan ini dimaksudkan sebagai dasar bagi pengguna baru, yang kemudian dapat digunakan untuk melompat ke mendalam data pada wiki.ros.org. Jika Anda benar-benar terbiasa dengan ROS, Linux, atau keduanya, ini adalah tempat untuk Anda!

ROS Cheat Sheet
Lembar ROS cheat ini diisi dengan tips dan trik untuk membantu Anda memulai dan untuk terus menggunakan sekali Anda seorang ROS pengguna benar. Versi ini ditulis untuk ROS Hydro Medusa. Download Lembar ROS cheat di sini.

Apa ROS?
ROS (Robot Operating System) adalah sistem BSD-lisensi untuk mengendalikan komponen robot dari PC. Sebuah sistem ROS terdiri dari jumlah node yang independen, yang masing-masing berkomunikasi dengan node lain menggunakan mempublikasikan / berlangganan Model messaging. Sebagai contoh, seorang sopir sensor tertentu mungkin dilaksanakan sebagai simpul, yang menerbitkan data sensor dalam aliran pesan. Pesan-pesan ini dapat dikonsumsi oleh sejumlah node lain, termasuk filter, penebang, dan juga sistem-tingkat yang lebih tinggi seperti bimbingan, merintis jalan, dll

Mengapa ROS?
Perhatikan bahwa node dalam ROS tidak harus berada di sistem yang sama (beberapa komputer) atau bahkan dari arsitektur yang sama! Anda bisa memiliki Arduino pesan penerbitan, laptop berlangganan mereka, dan Android motor telepon mengemudi. Hal ini membuat ROS benar-benar fleksibel dan mudah beradaptasi dengan kebutuhan pengguna. ROS juga open source, dipelihara oleh banyak orang.

Konsep umum
Mari kita lihat sistem ROS dari pandangan tingkat yang sangat tinggi. Tidak perlu khawatir bagaimana salah satu karya berikut, kita akan menutupi nanti.
ROS dimulai dengan ROS Guru. Master memungkinkan semua potongan ROS lain dari perangkat lunak (Node) untuk menemukan dan berbicara satu sama lain. Dengan begitu, kita tidak harus pernah secara khusus menyatakan "Kirim sensor ini data ke komputer yang di 127.0.0.1. Kita hanya bisa mengatakan Node 1 untuk mengirim pesan ke Node 2.




Gambar 1

Bagaimana Nodes melakukan ini? Dengan menerbitkan dan berlangganan Topik.

Katakanlah kita memiliki kamera di Robot kami. Kami ingin dapat melihat gambar dari kamera, baik pada Robot itu sendiri, dan di laptop lain.

Dalam contoh kita, kita memiliki Node Kamera yang menangani komunikasi dengan kamera, sebuah Node Image Processing pada robot yang memproses data gambar, dan Gambar Tampilan Node yang menampilkan gambar di layar. Untuk mulai dengan, semua Nodes telah terdaftar Guru. Pikirkan Guru sebagai tabel di mana semua node pergi untuk menemukan di mana tepatnya untuk mengirim pesan
.



Gambar 2
Dalam mendaftar dengan ROS Guru, Node Kamera menyatakan bahwa itu akan Publikasikan Topic disebut / image_data (misalnya). Kedua Nodes lainnya mendaftar bahwa mereka Berlangganan Topik / image_data.
Ini, setelah Node Kamera menerima beberapa data dari Kamera, ia akan mengirimkan pesan / image_data langsung ke dua node lainnya. (Melalui apa yang pada dasarnya TCP / IP
)



Gambar 3

Sekarang Anda mungkin berpikir, bagaimana jika saya ingin Image Processing Node untuk meminta data dari Node Kamera pada waktu tertentu? Untuk melakukan hal ini, ROS mengimplementasikan Jasa.

Sebuah Node dapat mendaftar layanan tertentu dengan ROS Guru, seperti register pesan tersebut. Dalam contoh di bawah, Image Processing Node permintaan pertama / image_data, Node Kamera mengumpulkan data dari kamera, dan kemudian mengirimkan balasan
.


Gambar 4
Kami akan memiliki tutorial lain "ROS 101 - Praktis Contoh" minggu depan Thank's T.I Sniper



Komentar