Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial Internet of Things >> Teknologi Internet of Things

ROS2 + DDS:Mainkan Lagi

Pengujian di dunia nyata diperlukan – dan seringkali mahal – bagian dari pembuatan sistem terdistribusi dan otonom. Pengujian dirancang untuk menempatkan sistem melalui banyak skenario berbeda dan pengumpulan data waktu nyata dapat menciptakan nilai yang bertahan lama dari pengujian ini.

Pikirkan tentang pengujian jalan kendaraan (semi-)otonom yang mencakup GPS, kamera, LiDAR, RADAR, akselerometer, giroskop, kompas, speedometer, sinyal kontrol, ditambah pemetaan dan lingkungan data. Itu *banyak* data…dan sangat mahal untuk didapatkan. Bukankah lebih baik jika semua data ini dapat direkam untuk diputar ulang sesuai permintaan, seolah-olah pengujian yang sebenarnya sedang berjalan? Bagaimana jika Anda dapat membangun perpustakaan digital dari setiap sesi pengujian dan dapat memodifikasinya saat pemutaran – sehingga menciptakan skenario pengujian yang lebih berulang?

Tahukah Anda bahwa perekaman dan pemutaran dengan bandwidth tinggi/kapasitas tinggi telah tersedia untuk pengguna DDS selama bertahun-tahun dengan Layanan Perekaman RTI? Contoh kasus penggunaan untuk Layanan Perekaman RTI akan terus menerus (24/7) merekam semua data sistem selama penyebaran lapangan yang diperpanjang, seperti uji coba di laut kapal Angkatan Laut. Bandwidth dan kapasitas perekaman hampir tidak terbatas karena sifat DDS yang terdistribusi – beberapa layanan Recording Service dapat diluncurkan untuk mengimbangi banjir data.

Ekosistem ROS memiliki layanan perekamannya sendiri yang disebut Rosbag, tetapi hingga tulisan ini dibuat, Rosbag baru saja dirilis untuk ROS2. Untungnya ROS2 menggunakan DDS sebagai kerangka konektivitas yang mendasarinya sehingga seharusnya mudah menggunakan Layanan Perekaman RTI yang telah terbukti di lapangan untuk merekam data bandwidth tinggi dari ROS2 untuk diputar ulang kapan saja.

Mari kita wujudkan...

Konfigurasi Perekam

Layanan Perekaman RTI dapat dikonfigurasi oleh file XML untuk merekam semua atau topik yang dipilih, dengan pengaturan QoS apa pun yang diperlukan. Dalam contoh ini, saya akan menyiapkan untuk merekam topik dengan bandwidth sedang (data ROS2 LiDAR), lalu memutarnya kembali ke ROS2 – semuanya dari perangkat DDS murni.

Layanan Perekaman RTI biasanya akan melakukan deserialize data untuk perekaman ke dalam kolom database konvensional. Data ROS2 LiDAR memiliki banyak titik per sampel, jadi dalam contoh ini saya akan menginstruksikan perekam untuk tidak menghapus serial data dan merekamnya sebagai satu kolom dalam database. Sisa file XML memberi tahu perekam topik dan tipe data mana yang akan direkam, dan di mana harus menyimpan data.

Ini terdapat dalam file XML yang saya buat, bernama “ros2_record.xml”:

 xsi:noNamespaceSchemaLocation="http://community.rti.com/schema/5.3.1/rti_record.xsd"> 




benar
0




ros2_replay_example.dat
benar




0

RTIDDS_DESERIALIZEMODE_NEVER




rt/velodyne_points
*





domain0


ros-rt







domain0






PointCloud2.xml



salah
sensor_msgs::msg::dds_::PointCloud2_

sensor_msgs::msg::dds_::PointCloud2_


rt/velodyne_points



2147483647



.







Untuk meluncurkan Layanan Perekaman RTI menggunakan file XML di atas, saya menggunakan perintah berikut (dijalankan dari direktori yang sama dengan file XML di atas):

rtirecord -cfgFile ros2_record.xml -cfgName simple_example

Ini meluncurkan layanan perekaman yang akan berlangganan data LiDAR dan terus merekamnya hingga saya menutup program. Hasil akhirnya adalah file database SQLite bernama “ros2_replay_example.dat_0_0”

Angka ditambahkan ke nama file untuk membedakan antara sesi perekaman (angka pertama) dan file database mana yang berurutan (file secara otomatis dibatasi ke file yang dapat dipilih pengguna size; jika terlalu besar, file akan ditutup dan file lain dibuka untuk menampung data periode berikutnya. Ini mencegah file database menjadi terlalu besar).

Konfigurasi Pemutar Ulang

Sekarang saya telah merekam data LiDAR ROS2, mari kita lihat apakah data tersebut dapat diputar kembali ke ROS2.

Seperti yang disebutkan dalam artikel blog sebelumnya (Panduan Lapangan untuk Interoperabilitas dan Ketika Ekosistem Menggabungkan), ROS2 memerlukan beberapa pengaturan untuk memastikan kompatibilitas. Dalam contoh ini, pengiriman informasi kode jenis selama penemuan telah ditekan agar kompatibel dengan konfigurasi default rilis "Bouncy Bolson" ROS2, tetapi penyesuaian ini juga dapat dilakukan di ROS2 jika menjalankan rmw_connext_cpp sebagai lapisan RMW.

Setelan ini– bersama dengan topik, domain, dan informasi file – ditempatkan di file XML lain:

 
xsi:noNamespaceSchemaLocation="http://community.rti.com/schema/5.3.1/rti_replay.xsd">






anotasi>
Contoh layanan pemutaran ulang


1
AUTO
5




ros2_replay_example.dat_0_0
salah



0


0
0










PointCloud2.xml



salah
sensor_msgs::msg::dds_::PointCloud2_

sensor_msgs::msg::dds_::PointCloud2_

rt/velodyne_points


2147483647


.







*
*
*
*





Untuk memutar ulang d

[1] [2] 下一页

Teknologi Internet of Things

  1. Buka Perangkat Lunak DDS vs. RTI DDS
  2. MQTT dan DDS:Komunikasi Mesin ke Mesin di IoT
  3. Connext DDS dan IoT Industri:5 Hal Teratas yang Perlu Diketahui
  4. Revolusi Industri Keempat
  5. Tetap patuh pada data di IoT
  6. Apa yang Saya Lakukan dengan Data?!
  7. Demokratisasi IoT
  8. 5 Tren Konektivitas
  9. 10 Platform IIoT Teratas
  10. Masa Depan Pusat Data