Maintainer: Martin Scheiber
This is a modified fork of the osrf/nodelet_rosbag as used within the CNS Flight Stack for recording data in rosbags using nodelets (direct transfer via memeory rather than TCP/IP) wherever possible (depending on the "sender").
This code was written by the Control of Networked System (CNS), University of Klagenfurt, Klagenfurt, Austria.
This software is made available to the public to use, licensed under the terms of the APACHE-2.0-License, the full terms of which are made available in the LICENSE
file.
If you use this software in an academic research setting, please cite the
corresponding academic paper and consult the LICENSE
file for a detailed explanation.
@article{cns_flightstack22,
title = {Flight Stack for Reproducible and Customizable Autonomy Applications in Research and Industry},
author = {Scheiber, Martin and Fornasier, Alessandro and Jung, Roland and Böhm, Christoph and Dhakate, Rohit and Stewart, Christian and Steinbrener, Jan and Weiss, Stephan and Brommer, Christian},
journal = {IEEE Robotics and Automation Letters},
volume = {7},
number = {4},
year = {2022},
doi = {10.1109/LRA.2022.3196117},
url = {https://ieeexplore.ieee.org/document/9849131},
pages = {11283--11290}
}
catkin build nodelet_rosbag
roslaunch nodelet_rosbag nodelet_rosbag.launch start_manager:=True # if you want to start the manager
roslaunch nodelet_rosbag nodelet_rosbag.launch nodelet_manager_name:=<manager_name> # if another manager already exists
The default parameters are setup for camera recordings, as nodelets have the most performance impact on images.
ROS parameter | description | default value |
---|---|---|
rosbag_path |
path to record the bagfile(s) to | ${HOME}/recordings |
rosbag_prefix |
prefix of the recorded file | cam |
rosbag_topics |
array of topics to record | [/mission_cam/image_raw] |
start_manager |
starts the nodelet manager | false |
nodelet_manager_name |
name of the ROS nodelet manager | nodelet_manager |
respawn |
autorespawn the manager and nodelet if they die or are killed | false |
Read the official document on running a nodelet.
roscore
source devel/setup.bash
rosrun nodelet nodelet manager __name:=nodelet_manager
Start the nodelet_rosbag
by specifying the rosbag_path
and a list of topics to record rosbag_topics
.
source devel/setup.bash
roslaunch nodelet_rosbag nodelet_rosbag.launch rosbag_path:=/tmp rosbag_topics:="[/mission_cam/image_raw,/mission_cam/image_rect,/mission_cam/rgb]"
Copyright (C) on changes 2021-2023 Christian Brommer, Roland Jung, Alessandro Fornasier, and Martin Scheiber, Control of Networked Systems, University of Klagenfurt, Austria. You can contact the authors at christian.brommer@aau.at, roland.jung@aau.at, alessandro.fornasier@aau.at, martin.scheiber@aau.at.