ROS2 - ZED Streaming

Does anyone have any pointers on how to setup my ROS2 DDS to stream the ZED camera? Seems like all tuning guides, implementations, ect. doesn’t make any differences.

Either wired or over wifi getting a stream of 1 frame every 10sec

Hi @THLL
What ZED SDK version are you using?
Are you using the latest version of the ZED2 wrapper?
How many topics are you subscribing over the network?
Can you provide the output of the ros2 doctor command?

Yes I figured out my issue after lots of network configuration. Overall the network was bad, getting<100mb/s

1 Like

Trying this again. Network is good. Getting 80mbits down on both Jetsons. Still can not stream ZED camera topics. Yes they are connected and able to get other ZED topics just not the camera. Jetson #1 runs the wrapper, Jetson #2 runs RVIZ2

qos_reliability: 2 # ‘1’: RELIABLE - ‘2’: BEST_EFFORT -
qos_durability: 2 # ‘1’: TRANSIENT_LOCAL - ‘2’: VOLATILE
grab_resolution: ‘VGA’ ’
grab_frame_rate: 15
pub_frame_rate: 15.0

Any idea what to change or test to do remote streaming?

ROS2 Doctor Report (both are the same)

NETWORK CONFIGURATION
inet : 172.17.0.1
inet4 : [‘172.17.0.1’]
ether : 02:42:23:8f:97:df
netmask : 255.255.0.0
device : docker0
flags : 4099<UP,BROADCAST,MULTICAST>
mtu : 1500
broadcast : 172.17.255.255
ether : c6:49:3f:af:b0:40
device : dummy0
flags : 130<BROADCAST,NOARP>
mtu : 1500
ether : 48:b0:2d:3a:70:70
device : eth0
flags : 4099<UP,BROADCAST,MULTICAST>
mtu : 1500
ether : 06:d1:5f:4b:bb:4d
device : l4tbr0
flags : 4098<BROADCAST,MULTICAST>
mtu : 1500
inet : 127.0.0.1
inet4 : [‘127.0.0.1’]
inet6 : [‘::1’]
netmask : 255.0.0.0
device : lo
flags : 73<UP,LOOPBACK,RUNNING>
mtu : 65536
ether : 06:d1:5f:4b:bb:4d
device : rndis0
flags : 4099<UP,BROADCAST,MULTICAST>
mtu : 1500
ether : 06:d1:5f:4b:bb:4f
device : usb0
flags : 4099<UP,BROADCAST,MULTICAST>
mtu : 1500
inet : 192.168.86.178
inet4 : [‘192.168.86.178’]
ether : 00:1a:ef:25:8d:11
inet6 : [‘fe80::2bd9:d0c8:5891:6ed3’, ‘fd14:b15b:ea2:0:80b4:ed60:aea2:16d’, ‘fd14:b15b:ea2:0:f6be:aff4:bf8b:e276’]
netmask : 255.255.255.0
device : wlan0
flags : 4163<UP,BROADCAST,RUNNING,MULTICAST>
mtu : 1500
broadcast : 192.168.86.255

PACKAGE VERSIONS
zed_ros2 : required=, local=0.2.0
zed_multi_camera : required=, local=0.1.0
zed_display_rviz2 : required=, local=0.2.0
zed_wrapper : required=, local=0.2.0
zed_tutorial_video : required=, local=0.2.0
zed_tutorial_pos_tracking : required=, local=0.2.0
zed_tutorial_depth : required=, local=0.2.0
zed_topic_benchmark_interfaces : required=, local=0.1.0
zed_rgb_convert : required=, local=0.2.0
zed_components : required=, local=0.2.0
rviz_plugin_zed_od : required=, local=0.1.0
zed_interfaces : required=, local=0.3.0
latency_snd : required=, local=0.10.0
latency_rec : required=, local=0.10.0
image_common : required=2.4.0, local=3.0.0
image_transport : required=2.4.0, local=3.0.0
camera_info_manager : required=2.4.0, local=3.0.0
camera_calibration_parsers : required=2.4.0, local=3.0.0
ament_cmake_cpplint : required=0.9.7, local=0.9.7
image_geometry : required=3.0.7, local=3.0.7
shared_queues_vendor : required=0.3.9, local=0.3.9
python_cmake_module : required=0.8.1, local=0.8.1
rttest : required=0.9.0, local=0.9.0
ament_cmake_python : required=0.9.11, local=0.9.11
examples_rclcpp_minimal_subscriber : required=0.9.4, local=0.9.4
rosidl_generator_py : required=0.9.6, local=0.9.6
sros2 : required=0.9.5, local=0.9.5
rosidl_runtime_c : required=1.3.0, local=1.3.0
tlsf_cpp : required=0.9.0, local=0.9.0
rcpputils : required=1.3.2, local=1.3.2
tinyxml2_vendor : required=0.7.4, local=0.7.4
tf2_py : required=0.13.13, local=0.13.13
rosidl_generator_c : required=1.3.0, local=1.3.0
examples_rclcpp_minimal_publisher : required=0.9.4, local=0.9.4
ros2run : required=0.9.12, local=0.9.12
rclcpp_action : required=2.4.2, local=2.4.2
launch_xml : required=0.10.10, local=0.10.10
ament_cmake_version : required=0.9.11, local=0.9.11
rviz_assimp_vendor : required=8.2.7, local=8.2.7
rclcpp_components : required=2.4.2, local=2.4.2
rviz_common : required=8.2.7, local=8.2.7
pendulum_msgs : required=0.9.4, local=0.9.4
rosbag2_storage : required=0.3.9, local=0.3.9
rmw_dds_common : required=1.0.3, local=1.0.3
examples_rclpy_minimal_action_client : required=0.9.4, local=0.9.4
action_msgs : required=1.0.0, local=1.0.0
geometry_msgs : required=2.0.5, local=2.0.5
examples_rclcpp_minimal_client : required=0.9.4, local=0.9.4
ament_cmake_cppcheck : required=0.9.7, local=0.9.7
ros2action : required=0.9.12, local=0.9.12
tf2_geometry_msgs : required=0.13.13, local=0.13.13
rclpy : required=1.0.11, local=1.0.11
rcl_action : required=1.1.14, local=1.1.14
message_filters : required=3.2.5, local=3.2.5
ament_lint_auto : required=0.9.7, local=0.9.7
ament_cmake_uncrustify : required=0.9.7, local=0.9.7
examples_rclpy_minimal_client : required=0.9.4, local=0.9.4
desktop : required=0.9.2, local=0.9.2
teleop_twist_keyboard : required=2.3.2, local=2.3.2
rviz_rendering : required=8.2.7, local=8.2.7
launch_testing_ament_cmake : required=0.10.10, local=0.10.10
qt_gui_py_common : required=1.1.3, local=1.1.3
rviz_ogre_vendor : required=8.2.7, local=8.2.7
ament_cmake_gtest : required=0.9.11, local=0.9.11
ros2launch : required=0.11.7, local=0.11.7
stereo_msgs : required=2.0.5, local=2.0.5
joy : required=3.0.1, local=3.0.1
diagnostic_msgs : required=2.0.5, local=2.0.5
depthimage_to_laserscan : required=2.3.1, local=2.3.1
rqt_common_plugins : required=1.0.0, local=1.0.0
composition_interfaces : required=1.0.0, local=1.0.0
topic_monitor : required=0.9.4, local=0.9.4
zstd_vendor : required=0.3.9, local=0.3.9
statistics_msgs : required=1.0.0, local=1.0.0
quality_of_service_demo_py : required=0.9.4, local=0.9.4
ament_cmake_auto : required=0.9.11, local=0.9.11
pendulum_control : required=0.9.4, local=0.9.4
tf2_tools : required=0.13.13, local=0.13.13
turtlesim : required=1.2.6, local=1.2.6
qt_gui_cpp : required=1.1.3, local=1.1.3
sensor_msgs : required=2.0.5, local=2.0.5
fastrtps_cmake_module : required=1.0.4, local=1.0.4
ament_cmake_export_dependencies : required=0.9.11, local=0.9.11
spdlog_vendor : required=1.1.3, local=1.1.3
ament_lint_common : required=0.9.7, local=0.9.7
dummy_robot_bringup : required=0.9.4, local=0.9.4
example_interfaces : required=0.9.1, local=0.9.1
ros2node : required=0.9.12, local=0.9.12
sros2_cmake : required=0.9.5, local=0.9.5
eigen3_cmake_module : required=0.1.1, local=0.1.1
kdl_parser : required=2.4.1, local=2.4.1
rosbag2_converter_default_plugins : required=0.3.9, local=0.3.9
examples_rclcpp_minimal_composition : required=0.9.4, local=0.9.4
ros_core : required=0.9.2, local=0.9.2
ros2component : required=0.9.12, local=0.9.12
ros2service : required=0.9.12, local=0.9.12
tf2_bullet : required=0.13.13, local=0.13.13
examples_rclpy_minimal_subscriber : required=0.9.4, local=0.9.4
rmw_implementation : required=1.0.3, local=1.0.3
launch : required=0.10.10, local=0.10.10
ament_cmake_ros : required=0.9.2, local=0.9.2
teleop_twist_joy : required=2.4.3, local=2.4.3
ament_cmake_export_libraries : required=0.9.11, local=0.9.11
tf2_kdl : required=0.13.13, local=0.13.13
rqt_image_view : required=1.1.1, local=1.1.1
composition : required=0.9.4, local=0.9.4
dummy_map_server : required=0.9.4, local=0.9.4
pluginlib : required=2.5.4, local=2.5.4
rqt_py_common : required=1.1.2, local=1.1.2
rcl_yaml_param_parser : required=1.1.14, local=1.1.14
ament_cmake_libraries : required=0.9.11, local=0.9.11
ament_cmake_test : required=0.9.11, local=0.9.11
unique_identifier_msgs : required=2.1.3, local=2.1.3
rosidl_generator_cpp : required=1.3.0, local=1.3.0
launch_testing_ros : required=0.11.7, local=0.11.7
libyaml_vendor : required=1.0.4, local=1.0.4
ros2interface : required=0.9.12, local=0.9.12
common_interfaces : required=2.0.5, local=2.0.5
ament_cpplint : required=0.9.7, local=0.9.7
ament_cmake_copyright : required=0.9.7, local=0.9.7
tf2_ros : required=0.13.13, local=0.13.13
rqt_top : required=1.0.2, local=1.0.2
rqt_topic : required=1.3.0, local=1.3.0
ament_cmake_export_interfaces : required=0.9.11, local=0.9.11
pcl_conversions : required=2.2.1, local=2.2.1
intra_process_demo : required=0.9.4, local=0.9.4
ament_cmake_export_include_directories : required=0.9.11, local=0.9.11
qt_gui : required=1.1.3, local=1.1.3
ament_cmake_export_link_flags : required=0.9.11, local=0.9.11
launch_yaml : required=0.10.10, local=0.10.10
rqt_graph : required=1.1.3, local=1.1.3
rqt_plot : required=1.1.1, local=1.1.1
robot_state_publisher : required=2.4.5, local=2.4.5
rqt_service_caller : required=1.0.5, local=1.0.5
rosidl_typesupport_introspection_c : required=1.3.0, local=1.3.0
laser_geometry : required=2.2.0, local=2.2.0
ament_cmake_pytest : required=0.9.11, local=0.9.11
rosidl_default_generators : required=1.0.1, local=1.0.1
rosidl_cmake : required=1.3.0, local=1.3.0
python_qt_binding : required=1.0.6, local=1.0.6
shape_msgs : required=2.0.5, local=2.0.5
ament_cmake_gmock : required=0.9.11, local=0.9.11
rcutils : required=1.1.4, local=1.1.4
ros2doctor : required=0.9.12, local=0.9.12
domain_coordinator : required=0.9.2, local=0.9.2
ament_uncrustify : required=0.9.7, local=0.9.7
map_msgs : required=2.0.2, local=2.0.2
ros_environment : required=2.5.1, local=2.5.1
libstatistics_collector : required=1.0.1, local=1.0.1
tracetools : required=1.0.5, local=1.0.5
rosidl_typesupport_fastrtps_cpp : required=1.0.4, local=1.0.4
osrf_pycommon : required=0.1.11, local=0.1.11
quality_of_service_demo_cpp : required=0.9.4, local=0.9.4
uncrustify_vendor : required=1.4.0, local=1.4.0
dummy_sensors : required=0.9.4, local=0.9.4
rviz_default_plugins : required=8.2.7, local=8.2.7
rcl_logging_spdlog : required=1.1.0, local=1.1.0
diagnostic_updater : required=2.0.8, local=2.0.8
rviz2 : required=8.2.7, local=8.2.7
launch_ros : required=0.11.7, local=0.11.7
ros2pkg : required=0.9.12, local=0.9.12
examples_rclpy_minimal_publisher : required=0.9.4, local=0.9.4
examples_rclpy_executors : required=0.9.4, local=0.9.4
cv_bridge : required=3.0.7, local=3.0.7
ros_workspace : required=1.0.2, local=1.0.2
action_tutorials_py : required=0.9.4, local=0.9.4
tf2 : required=0.13.13, local=0.13.13
rqt_action : required=1.0.1, local=1.0.1
ament_package : required=0.9.5, local=0.9.5
ament_flake8 : required=0.9.7, local=0.9.7
rosbag2_storage_default_plugins : required=0.3.9, local=0.3.9
tf2_sensor_msgs : required=0.13.13, local=0.13.13
rqt_gui : required=1.1.2, local=1.1.2
ros_base : required=0.9.2, local=0.9.2
ament_cppcheck : required=0.9.7, local=0.9.7
tlsf : required=0.5.0, local=0.5.0
sdl2_vendor : required=3.0.1, local=3.0.1
rmw_fastrtps_shared_cpp : required=1.3.1, local=1.3.1
nav_msgs : required=2.0.5, local=2.0.5
rqt_gui_py : required=1.1.2, local=1.1.2
action_tutorials_cpp : required=0.9.4, local=0.9.4
examples_rclcpp_minimal_action_server : required=0.9.4, local=0.9.4
examples_rclpy_minimal_action_server : required=0.9.4, local=0.9.4
rosbag2 : required=0.3.9, local=0.3.9
tf2_msgs : required=0.13.13, local=0.13.13
ament_cmake_export_definitions : required=0.9.11, local=0.9.11
ament_cmake_xmllint : required=0.9.7, local=0.9.7
lifecycle : required=0.9.4, local=0.9.4
rqt_console : required=1.1.2, local=1.1.2
ament_index_python : required=1.1.0, local=1.1.0
rqt_msg : required=1.0.5, local=1.0.5
image_tools : required=0.9.4, local=0.9.4
logging_demo : required=0.9.4, local=0.9.4
rpyutils : required=0.2.0, local=0.2.0
action_tutorials_interfaces : required=0.9.4, local=0.9.4
ros2bag : required=0.3.9, local=0.3.9
sqlite3_vendor : required=0.3.9, local=0.3.9
angles : required=1.12.6, local=1.12.6
examples_rclcpp_minimal_service : required=0.9.4, local=0.9.4
yaml_cpp_vendor : required=7.0.3, local=7.0.3
rosbag2_transport : required=0.3.9, local=0.3.9
rosidl_typesupport_interface : required=1.3.0, local=1.3.0
resource_retriever : required=2.3.4, local=2.3.4
rcl_interfaces : required=1.0.0, local=1.0.0
rcl_lifecycle : required=1.1.14, local=1.1.14
visualization_msgs : required=2.0.5, local=2.0.5
ros2lifecycle : required=0.9.12, local=0.9.12
std_srvs : required=2.0.5, local=2.0.5
rosidl_adapter : required=1.3.0, local=1.3.0
builtin_interfaces : required=1.0.0, local=1.0.0
examples_rclpy_minimal_service : required=0.9.4, local=0.9.4
examples_rclcpp_minimal_timer : required=0.9.4, local=0.9.4
rmw_implementation_cmake : required=1.0.3, local=1.0.3
ros2cli : required=0.9.12, local=0.9.12
tango_icons_vendor : required=0.1.0, local=0.1.0
class_loader : required=2.0.3, local=2.0.3
rqt_publisher : required=1.3.0, local=1.3.0
examples_rclcpp_minimal_action_client : required=0.9.4, local=0.9.4
ament_cmake_target_dependencies : required=0.9.11, local=0.9.11
urdf : required=2.4.0, local=2.4.0
rmw_fastrtps_cpp : required=1.3.1, local=1.3.1
console_bridge_vendor : required=1.2.4, local=1.2.4
lifecycle_msgs : required=1.0.0, local=1.0.0
ament_cmake_flake8 : required=0.9.7, local=0.9.7
trajectory_msgs : required=2.0.5, local=2.0.5
ament_cmake_core : required=0.9.11, local=0.9.11
rosidl_runtime_cpp : required=1.3.0, local=1.3.0
actionlib_msgs : required=2.0.5, local=2.0.5
ament_cmake : required=0.9.11, local=0.9.11
rosidl_typesupport_c : required=1.0.2, local=1.0.2
demo_nodes_cpp_native : required=0.9.4, local=0.9.4
demo_nodes_cpp : required=0.9.4, local=0.9.4
ament_cmake_include_directories : required=0.9.11, local=0.9.11
rosbag2_compression : required=0.3.9, local=0.3.9
ament_clang_format : required=0.9.7, local=0.9.7
rosidl_parser : required=1.3.0, local=1.3.0
tinyxml_vendor : required=0.8.2, local=0.8.2
ament_cmake_clang_format : required=0.9.7, local=0.9.7
rqt_srv : required=1.0.3, local=1.0.3
rcl : required=1.1.14, local=1.1.14
ament_index_cpp : required=1.1.0, local=1.1.0
rosbag2_cpp : required=0.3.9, local=0.3.9
qt_dotgraph : required=1.1.3, local=1.1.3
rqt_reconfigure : required=1.0.8, local=1.0.8
rosidl_typesupport_introspection_cpp : required=1.3.0, local=1.3.0
examples_rclcpp_multithreaded_executor : required=0.9.4, local=0.9.4
rqt_gui_cpp : required=1.1.2, local=1.1.2
geometry2 : required=0.13.13, local=0.13.13
ament_lint : required=0.9.7, local=0.9.7
rclcpp_lifecycle : required=2.4.2, local=2.4.2
rosidl_typesupport_cpp : required=1.0.2, local=1.0.2
ros2multicast : required=0.9.12, local=0.9.12
interactive_markers : required=2.1.3, local=2.1.3
ament_pep257 : required=0.9.7, local=0.9.7
rosidl_default_runtime : required=1.0.1, local=1.0.1
rosidl_typesupport_fastrtps_c : required=1.0.4, local=1.0.4
rosgraph_msgs : required=1.0.0, local=1.0.0
rmw : required=1.0.3, local=1.0.3
ament_lint_cmake : required=0.9.7, local=0.9.7
rclcpp : required=2.4.2, local=2.4.2
demo_nodes_py : required=0.9.4, local=0.9.4
std_msgs : required=2.0.5, local=2.0.5
xacro : required=2.0.7, local=2.0.7
rqt_py_console : required=1.0.2, local=1.0.2
ros2param : required=0.9.12, local=0.9.12
ament_xmllint : required=0.9.7, local=0.9.7
ament_cmake_pep257 : required=0.9.7, local=0.9.7
libcurl_vendor : required=2.3.4, local=2.3.4
ament_cmake_export_targets : required=0.9.11, local=0.9.11
rqt_shell : required=1.0.2, local=1.0.2
ament_copyright : required=0.9.7, local=0.9.7
ament_cmake_lint_cmake : required=0.9.7, local=0.9.7
launch_testing : required=0.10.10, local=0.10.10
rosidl_runtime_py : required=0.9.1, local=0.9.1
tf2_eigen : required=0.13.13, local=0.13.13
pcl_msgs : required=1.0.0, local=1.0.0
ros2topic : required=0.9.12, local=0.9.12

PLATFORM INFORMATION
system : Linux
platform info : Linux-5.10.104-tegra-aarch64-with-glibc2.29
release : 5.10.104-tegra
processor : aarch64

RMW MIDDLEWARE
middleware name : rmw_fastrtps_cpp

ROS 2 INFORMATION
distribution name : foxy
distribution type : ros2
distribution status : active
release platforms : {‘ubuntu’: [‘focal’]}

TOPIC LIST
topic : none
publisher count : 0
subscriber count : 0

@THLL try to reduce the amount of bandwidth required by the ZED topics by reducing the framerate and the output resolution.
You can upgrade to the latest version of the ZED ROS2 Wrapper to take advantage of the new general.pub_resolution parameter (set it to LOW).

PS are you aware of this issue in ROS2 Foxy? Have you applied the fix?