ros2bagsend
A tool that uses simple logic to send topics recorded in ros2 bag one cycle at a time (not a strict cycle). https://github.com/PINTO0309/simple-ros2-processing-tools
Kazam_screencast_00063_.mp4
1. Install ROS2
DISTRO=humble
sudo apt update && sudo apt install -y locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update && sudo apt install curl -y
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /usr/share/keyrings/ros-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
sudo apt update
sudo apt install -y \
ros-${DISTRO}-rosbag2 \
ros-${DISTRO}-vision-opencv \
ros-${DISTRO}-vision-msgs \
ros-${DISTRO}-image-pipeline
2. Install ros2bagsend
pip install ros2bagsend
3. Usage
-
Send topics in units of pseudo-frames
ros2bagsend --ros-args \ -p bag_file_path:='test.db3'
topic summary ######################################## topic_info.name0: /camera/aligned_depth_to_color/image_raw topic_info.name1: /camera/color/camera_info topic_info.name2: /camera/color/image_raw topic_info.name3: /zed2i/zed_node/depth/depth_registered topic_info.name4: /zed2i/zed_node/rgb/camera_info topic_info.name5: /zed2i/zed_node/rgb_raw/image_raw_color ###################################################### Press Enter to publish the next frame... (Interrupted by 'q' key) 1./zed2i/zed_node/rgb/camera_info: /zed2i/zed_node/rgb/camera_info time_stamp: 1703229424121013788 1./zed2i/zed_node/rgb_raw/image_raw_color: /zed2i/zed_node/rgb_raw/image_raw_color time_stamp: 1703229424128303140 Press Enter to publish the next frame... (Interrupted by 'q' key) 2./zed2i/zed_node/rgb/camera_info: /zed2i/zed_node/rgb/camera_info time_stamp: 1703229424128367120 2./zed2i/zed_node/depth/depth_registered: /zed2i/zed_node/depth/depth_registered time_stamp: 1703229424134155118 2./camera/color/camera_info: /camera/color/camera_info time_stamp: 1703229424138749661 2./camera/aligned_depth_to_color/image_raw: /camera/aligned_depth_to_color/image_raw time_stamp: 1703229424150239208 2./camera/color/image_raw: /camera/color/image_raw time_stamp: 1703229424154925667 Press Enter to publish the next frame... (Interrupted by 'q' key) 3./zed2i/zed_node/rgb/camera_info: /zed2i/zed_node/rgb/camera_info time_stamp: 1703229424184716213 3./zed2i/zed_node/rgb_raw/image_raw_color: /zed2i/zed_node/rgb_raw/image_raw_color time_stamp: 1703229424191219846 Press Enter to publish the next frame... (Interrupted by 'q' key) 4./zed2i/zed_node/rgb/camera_info: /zed2i/zed_node/rgb/camera_info time_stamp: 1703229424191263193 4./zed2i/zed_node/depth/depth_registered: /zed2i/zed_node/depth/depth_registered time_stamp: 1703229424195592537 4./camera/aligned_depth_to_color/image_raw: /camera/aligned_depth_to_color/image_raw time_stamp: 1703229424201049523 4./camera/color/camera_info: /camera/color/camera_info time_stamp: 1703229424201093864 4./camera/color/image_raw: /camera/color/image_raw time_stamp: 1703229424204340722 Press Enter to publish the next frame... (Interrupted by 'q' key) : :
-
Specifies frames to start or end transmission
frames
refers to the number of times a topic is sent, not the number of topics. In the example below, topics are sent in the range from frame 5 to frame 100, skipping up to frame 4. It is advisable to check in advance which frame range should be sent usingrqt
or similar.ros2bagsend --ros-args \ -p bag_file_path:='test.db3' \ -p start_frame_no:=5 \ -p end_frame_no:=100
-
Only analysis of statistical information is performed Analyze the list of topic names in the bag file and the number of assumed frames. It is also possible to specify
start_frame_no
andend_frame_no
. Ifstatistical_analysis_only
is specified, no topics are sent.ros2bagsend --ros-args \ -p bag_file_path:='test.db3' \ -p statistical_analysis_only:=True
Statistical information is being analyzed ... topic summary ######################################## topic_info.name0: /camera/aligned_depth_to_color/image_raw topic_info.name1: /camera/color/camera_info topic_info.name2: /camera/color/image_raw topic_info.name3: /zed2i/zed_node/depth/depth_registered topic_info.name4: /zed2i/zed_node/rgb/camera_info topic_info.name5: /zed2i/zed_node/rgb_raw/image_raw_color ====================================================== Approximate total frame count: 1,104 ###################################################### Done.