ROS على Raspberry Pi: استخدام rosbag لحفظ بيانات الموضوع

مساء الخير أيها القراء!
هذه المقالة هي سلسلة غير عادية . يمكن اعتباره إضافة مفيدة للمقال . هنا سأتحدث عن أداة مفيدة في ROS مثل rosbag. الذين يهتمون ، من فضلك ، تحت القط.

ما هو روزباغ؟


يسمح لك rosbag بحفظ البيانات المنشورة في مواضيع ROS إلى ملفات خاصة بملحق الحقيبة. ثم يمكن تشغيل هذه الملفات باستخدام نفس rosbag ؛ سيتم نشر البيانات في نفس المواضيع التي تم نشرها فيها في البداية. وهذا يسمح ، على سبيل المثال ، بمحاكاة استلام البيانات من أجهزة الاستشعار في حالة عدم وجودها.

كتابة البيانات من الموضوع إلى ملف الحقيبة


على سبيل المثال ، سوف نسجل البيانات من كاميرا Raspberry Pi. إذا تذكرنا المقالة حيث تلقينا دفق الفيديو من الكاميرا ونشرناها في الموضوع image_raw. الآن سنستخدم فقط عقدة ROS نفسها لتلقي البيانات للتسجيل. سنقوم بتسجيل دفق الفيديو من الموضوع image_raw إلى ملف rosbag raspicam_image_raw.bag ، ثم تشغيله ، وتلقي الدفق الأصلي دون استخدام الكاميرا.

لذا ، ابدأ العقدة raspi_cam_ros:

rosrun raspi_can_ros capture

إظهار قائمة المواضيع النشطة:

rostopic list

من بين المواضيع سيكون موضوعنا image_raw. الآن سنستخدم rosbag لتسجيل الموضوع:

rosbag record /image_raw -o raspicam_image_raw

سنقوم بتسجيل بضع دقائق من دفق الفيديو. من الأفضل عدم كتابة تدفقات طويلة جدًا ، حيث تحتل ملفات الأكياس مكانًا لائقًا في الذاكرة. على سبيل المثال ، تسجيلي في دقيقة ونصف استغرق 90 ميغابايت.
أولاً ، دعنا نرى ما يحتويه ملف حقيبتنا:

rosbag info < >

path:        2016-05-07-13-00-23.bag
version:     2.0
duration:    55.1s
start:       May 07 2016 15:00:24.86 (1462626024.86)
end:         May 07 2016 15:01:19.96 (1462626079.96)
size:        89.7 MB
messages:    102
compression: none [102/102 chunks]
types:       sensor_msgs/Image [060021388200f6f0f447d0fcd9c64743]
topics:      /image_raw   102 msgs    : sensor_msgs/Image


اختراق بيانات ملف الحقيبة


الآن أوقف العقدة وقم بتشغيل السجل:

rosbag play raspicam_image_raw.bag -r 1 --loop

نعرض البيانات من موضوع image_raw في نافذة rqt_image_view:

rosrun rqt_image_view rqt_image_view

يمكن مشاهدة تسجيل ملف الحقيبة على Raspberry Pi 2 في الفيديو.



لدى فريق rosbag play أيضًا العديد من الخيارات المفيدة:
  • -r FACTOR يحدد عامل السرعة (يتم ضرب معدل الإطار في هذه القيمة)
  • -hz = HZ يحدد معدل الإطارات بالهرتز (الافتراضي هو 100)
  • - حلقات حلقة من خلال التشغيل ("ترجيع" إلى البداية عندما تصل إلى نهاية التسجيل)

هناك أداة خاصة rqt_bag للتسجيل والعمل مع ملفات الحقيبة. على الصفحة الرسمية ، يمكنك معرفة المزيد عن هذه الأداة المساعدة.
في الوقت الحالي ، هذا كل شيء عن rosbag. أعتقد أنك ستجد العديد من الاستخدامات لأداة rosbag. هذه أداة قوية إلى حد ما ومن الصعب الاستغناء عنها عند استخدام ROS بالكامل.
حظا سعيدا في مشاريعك باستخدام ROS!

Source: https://habr.com/ru/post/ar393811/


All Articles