Skip to content

Camera Compress Node

Camera compressed image forwarding node

Topic

Topic Description
/camera/head_back_fisheye Head rear fisheye camera compressed image
/camera/head_left_fisheye Head left fisheye camera compressed image
/camera/head_right_fisheye Head right fisheye camera compressed image
/camera/head_stereo_left Head stereo left camera compressed image
/camera/head_stereo_right Head stereo right camera compressed image
/camera/hand_left_color Left wrist color camera compressed image
/camera/hand_right_color Right wrist color camera compressed image
/camera/head_color Head RGB camera compressed image
/camera/head_depth Head depth camera compressed image
/camera/hand_left_depth Left wrist depth camera compressed image
/camera/hand_right_depth Right wrist depth camera compressed image

Message Type

sensor_msgs::msg::CompressedImage

Field Type Description
header std_msgs/Header Message header, contains timestamp and coordinate frame information
format string Compression format string (e.g. "jpeg", "png")
data uint8[] Compressed image data

Compression Format

Format Description
jpeg JPEG compression format (default)
png PNG compression format

Note: In the current implementation, all compressed images use the JPEG format (format = "jpeg").

Launch Method

1. Launch with Default Configuration

source ~/.cache/agibot/app/gdk/scripts/ros_env.sh gdk_camera_compress
ros2 launch gdk_camera_compress camera_compress.launch.py
This will launch all default Camera compressed image topics: - /camera/head_back_fisheye - /camera/head_left_fisheye - /camera/head_right_fisheye - /camera/head_stereo_left - /camera/head_stereo_right - /camera/hand_left_color - /camera/hand_right_color - /camera/head_color - /camera/head_depth - /camera/hand_left_depth - /camera/hand_right_depth

2. Custom Camera Topics

source ~/.cache/agibot/app/gdk/scripts/ros_env.sh gdk_camera_compress

# Launch only specific Camera topics
#ros2 launch gdk_camera_compress camera_compress.launch.py camera_topics:="/camera/head_color,/camera/head_depth"

# Launch a single Camera topic
#ros2 launch gdk_camera_compress camera_compress.launch.py camera_topics:="/camera/head_color"

# Launch fisheye cameras
#ros2 launch gdk_camera_compress camera_compress.launch.py camera_topics:="/camera/head_back_fisheye,/camera/head_left_fisheye,/camera/head_right_fisheye"

# Launch hand cameras
#ros2 launch gdk_camera_compress camera_compress.launch.py camera_topics:="/camera/hand_left_color,/camera/hand_right_color"

# Launch hand depth cameras
#ros2 launch gdk_camera_compress camera_compress.launch.py camera_topics:="/camera/hand_left_depth,/camera/hand_right_depth"

Differences from Camera Node

Feature Camera Node Camera Compress Node
Message Type sensor_msgs::msg::Image sensor_msgs::msg::CompressedImage
Data Format Uncompressed raw pixel data JPEG compressed data
Bandwidth Usage Higher Lower
Use Case Requires raw image data Requires reduced bandwidth usage

Recommendation: - When you need raw image data for analysis or processing, use camera_node - When you need to transmit over a network or reduce bandwidth usage, use camera_compress_node