Skip to main content

A tool that uses simple logic to send topics recorded in ros2 bag one cycle at a time (not a strict cycle).

Project description

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

Downloads

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)
      :
      :
    

    https://github.com/PINTO0309/ros2bagsend/assets/33194443/b25069a8-300e-4913-bb59-7477b3927561

  • 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 using rqt 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 and end_frame_no. If statistical_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.
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ros2bagsend-1.1.0.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

ros2bagsend-1.1.0-py3-none-any.whl (7.2 kB view details)

Uploaded Python 3

File details

Details for the file ros2bagsend-1.1.0.tar.gz.

File metadata

  • Download URL: ros2bagsend-1.1.0.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ros2bagsend-1.1.0.tar.gz
Algorithm Hash digest
SHA256 82310a18291cd5c4bb7ca6316c2d9cb4be9a9c1190492b25301a676fde1042e1
MD5 75223f715f3618e4cc87e236adcff1ad
BLAKE2b-256 72a32949f6b4238476779f32653b00eb360d42f4d2ba52da31bcb905c49e599b

See more details on using hashes here.

File details

Details for the file ros2bagsend-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: ros2bagsend-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 7.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ros2bagsend-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f49411e46ea887569bd7b277373a42d8392a29fe7ff76469380bf5e67e777a50
MD5 e644f093368df049f00f1091c22aded1
BLAKE2b-256 07068014d98384652d8d3bcadd840ee352dae6ae52e4e4c11c9c14545f28de42

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page