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

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

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 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.1.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

ros2bagsend-1.1.1-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ros2bagsend-1.1.1.tar.gz
  • Upload date:
  • Size: 7.6 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.1.tar.gz
Algorithm Hash digest
SHA256 207c562274d44a5b6158e0eaf979e24a1e306331d3eae0d7ed410b007d143982
MD5 ba9f1f969a8e62b2ccc5ed5ee2312ccc
BLAKE2b-256 cd4bec075e3508d51635ace2ec1cd4a848446bf0265eef485ae1e3df092da97b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ros2bagsend-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 7.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 703d34e0c1906710a4f06c72e9b6650c8699a1756a36b0f2a546e4edca9c1ff2
MD5 d6d4fe2f430c7e135278d2f0938b411f
BLAKE2b-256 71b59f5c07eb9896148da0eb45e43bc9fb8ca4f2b2755e213a2bc1ef5d9cfe9a

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