[Documentation] [TitleIndex] [WordIndex

Veri Kaydı ve Kayıtlı Veri Oynatma

Veri Kaydetme (.bag Dosyası Oluşturma)

Bu kısımda, çalışmakta olan ROS sistemindeki konularda geçen verilerin nasıl kaydedileceği açıklanmıştır. Bu konu verileri ‘bag’ dosyasında tutulur. Kayıt aşamaları aşağıda sıralandığı gibidir.

Terminal 1:

Terminal 2:

Terminal 3:

Konu listesi aşağıdaki şekildeki gibidir.

-- published_subscribed_topics

Yayınlanan konuların listesi, yalnızca yayınlanan mesajlar kaydedildiği için veri kaydı dosyasına kaydedilebilecek tek mesaj türleridir. Konu “/ turtle1 / cmd_vel”, turtlesim işlemi tarafından alınan “teleop_turtle” tarafından yayınlanan komut mesajdır. Mesajlar ise “/ turtle1 / color_sensor” ve “/ turtle1 / pose” turtlesim tarafından yayınlanan çıktı mesajlarıdır. Şimdi bu konular üzerinde akışı sağlanan (published) mesajların kayıtları tutulabilir.Yeni bir terminalde aşağıdaki kodların yazılması gerekir.

Bu işlemlerle açılan geçici “bagfiles” kütüphanesine “rosbag record” komutu ile (-a opsiyonuyla ) yayın yapılan konular kaydedilir.

Bag Kayıt Dosyalarını İnceleme ve Oynatma

“rosbag record” komutu ile kayıt tutulan bag dosyaları “rosbag play” ve “rosbag info” komutları ile incelenir. Bununla ilgili örnek kodlar aşağıda verilmiştir.

-- rosbag_logs

-- kayit_oynatma

Alt Veri Küme (Subset of Data) Kaydını Alma

Komplike bir sistem çalıştırılırken, yayınlanan konu sayısı yüzleri bulabilir. Kamera görüntü sistemleri gibi bazı konular yüksek veri yayınlama potansiyeli olan konulardır. Bu gibi sistemlerin kayıtları tutulurken, bu kayıtları tek bir bag dosyası içinde tutmak pek de pratik bir uygulama olmayacaktır.Bu noktada “rosbag record” komutu, kaydı tutulacak konunun seçilebilmesini mümkün kılar. Bu sayede kullanıcı, sadece ilgilendiği konu hakkındaki verileri bag dosyasına kaydedecektir.

Örneğin, herhangi bir turtlesim düğümünden çıkıldıktan sonra, klavye kontrol launch dosyası yeniden çalıştırılırsa, daha önceki klavye verilerinin (kaydı tutulan) kullanılarak aynı hareket işlemlerini klavyeden yeniden yapmak yükümlülüğünden kurtulunmuş olacaktır. Bu noktada teleop_key komutunun kaydının tutulduğu bag dosyasından sadece bu hareket komutunu yeniden oynatmak için “rosbag record” kullanılır.Kullanımı aşağıdaki gibidir.

Komutta yer alan –O argümanı, rosbag record komutunun subset.bag adındaki dosyanın kaydını çağırdığını ve konunun sadece bu kayıttaki iki konuyu takip edeceğini belirtir. Turtle’ın birkaç saniye hareket ettirilmesi sonucu elde edilen subset.bag kaydı aşağıdaki şekildeki gibi olacaktır.

-- record_rosbag

(!) Please ask about problems and questions regarding this tutorial on answers.ros.org. Don't forget to include in your question the link to this page, the versions of your OS & ROS, and also add appropriate tags.

Veri Kaydı ve Kayıtlı Veri Oynatma

Description: Bu aşamada ROS sistemi içindeki veri akış kaydının “.bag” dosyasına nasıl tutulacağı ve bu verilerin çalışan bir sistemde nasıl oynatılacağı açıklanmaktadır.

Tutorial Level:


2019-10-12 13:12