Я пишу программу для чтения данных из rosbag напрямую, без воспроизведения в ros2. Пример кода приведен ниже. Целью этого кода является то, что он проверяет наличие ros2 topi c и получает только сообщение в этой топике c. Я не могу получить данные из сумки. При печати консоль печатает шестнадцатеричные значения.
auto read_only_storage = factory.open_read_only(bag_file_path, storage_id);
while(read_only_storage->has_next())
{
auto msg = read_only_storage->read_next();
if(msg->topic_name == topic)
{
cout << msg->serialized_data<<endl;
}
}
Любая помощь в этом отношении была бы полезна.