Desain Robot Operating System

 

Desain

ROS

ROS di desain untuk menjadi open source, dengan maksud agar pengguna dapat memilih konfigurasi alat dan pustaka yang berinteraksi dengan inti ROS. Sehingga pengguna dapat menggeser tumpukan perangkat lunak mereka agar sesuai dengan robot dan area aplikasi mereka. Dengan demikian, sangat sedikit yang merupakan inti dari ROS, di luar struktur umum di mana program harus ada dan berkomunikasi. Di satu sisi, ROS adalah pipa yang mendasari di belakang node dan pesan yang lewat. Namun, pada kenyataannya, ROS bukan hanya pipa ledeng itu, tetapi seperangkat alat yang kaya dan matang, serangkaian kemampuan agnostik robot yang luas yang di sediakan oleh paket, dan ekosistem tambahan yang lebih besar untuk ROS.

Model grafik komputasi

Proses ROS di representasikan sebagai node dalam struktur grafik, di hubungkan oleh tepi yang disebut topik. Node ROS dapat menyampaikan pesan satu sama lain melalui topik, membuat panggilan layanan ke node lain, menyediakan layanan untuk node lain, atau mengatur atau mengambil data bersama dari database komunal yang di sebut server parameter. Sebuah proses yang di sebut ROS Master memungkinkan semua ini dengan mendaftarkan node ke dirinya sendiri, menyiapkan komunikasi node-to-node untuk topik, dan mengontrol pembaruan server parameter. Pesan dan panggilan layanan tidak melewati master, melainkan master mengatur komunikasi peer-to-peer antara semua proses node setelah mereka mendaftarkan diri dengan master. Arsitektur terdesentralisasi ini cocok untuk robot, yang sering kali terdiri dari subset perangkat keras komputer jaringan, dan dapat berkomunikasi dengan komputer off-board untuk komputasi atau perintah berat.

Node

Sebuah node mewakili satu proses yang menjalankan grafik ROS. Setiap node memiliki nama, yang didaftarkan dengan master ROS sebelum dapat mengambil tindakan lain. Beberapa node dengan nama yang berbeda dapat berada di bawah namespace yang berbeda, atau sebuah node dapat di definisikan sebagai anonim, dalam hal ini secara acak akan menghasilkan pengenal tambahan untuk di tambahkan ke nama yang di berikan. Node berada di pusat pemrograman ROS, karena sebagian besar kode klien ROS berbentuk node ROS yang mengambil tindakan berdasarkan informasi yang di terima dari node lain, mengirim informasi ke node lain, atau mengirim dan menerima permintaan tindakan ke dan dari node lain. node.

Topik

Topik di beri nama bus di mana node mengirim dan menerima pesan. Nama topik juga harus unik di dalam namespacenya. Untuk mengirim pesan ke suatu topik, sebuah node harus memublikasikan ke topik tersebut, sedangkan untuk menerima pesan harus berlangganan. Model publish/subscribe bersifat anonim. Tidak ada node yang mengetahui node mana yang mengirim atau menerima pada suatu topik, hanya node yang mengirim /menerima topik tersebut. Jenis pesan yang di sampaikan pada suatu topik sangat bervariasi dan dapat di tentukan oleh pengguna. Isi dari pesan ini dapat berupa data sensor, perintah kontrol motor, informasi keadaan, perintah aktuator, atau lainnya.

Jasa

Sebuah node juga dapat mengiklankan layanan. Layanan mewakili tindakan yang dapat di ambil oleh simpul yang akan memiliki satu hasil. Dengan demikian, layanan sering di gunakan untuk tindakan yang memiliki awal dan akhir yang di tentukan. Seperti menangkap gambar satu bingkai, daripada memproses perintah kecepatan ke motor roda atau data odometer dari enkoder roda. Node mengiklankan layanan dan layanan panggilan dari satu sama lain.

Server parameter

Server parameter adalah database bersama antara node yang memungkinkan akses komunal ke informasi statis atau semi-statis. Data yang tidak sering berubah dan dengan demikian akan jarang diakses. Seperti jarak antara dua titik tetap di lingkungan, atau berat robot. Adalah kandidat yang baik untuk penyimpanan di server parameter.

Tempat Kursus Ilmu Robotic : Sari Teknologi

Baca artikel lainnya : pelatihan robotic

Komentar