Skip to content

CycloneDDS with SHM

Using cycloneDDS using shm

1
2
3
4
5
6
7
8
<CycloneDDS xmlns="https://cdds.io/config" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://cdds.io/config https://raw.githubusercontent.com/eclipse-cyclonedds/cyclonedds/iceoryx/etc/cyclonedds.xsd">
    <Domain id="any">
        <SharedMemory>
            <Enable>true</Enable>
            <LogLevel>info</LogLevel>
        </SharedMemory>
    </Domain>
</CycloneDDS>

iox-roudi

roudi config

iox-roudi 

Demo

Run tmuxp script that run iox-roudi server and publish image using gscam with two subscribers We can see using bmon or other network sniffer that is no traffic

environment variables
export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
export CYCLONEDDS_URI=file:///cyclonedds.xml
tmux script
session_name: dds
windows:
  - window_name: cyclone
    layout: tiled
    suppress_history: false
    shell_command_before:
      - source /opt/ros/humble/setup.bash
      - export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp
      - export CYCLONEDDS_URI=file:///home/user/projects/blog/docs/ROS/ros_world/dds/cyclonedds/shm.xml
    panes:
      - shell_command:
          - iox-roudi 
      - shell_command: #
          - export GSCAM_CONFIG="videotestsrc pattern=snow ! video/x-raw,width=640,height=480,framerate=30/1 ! videoconvert"
          - ros2 run gscam gscam_node
      - shell_command: #
          - ros2 run rqt_image_view rqt_image_view

      - shell_command:
          - # ros2 topic echo /camera/image_raw
        split: vertical

iceoryx-introspection

ros-humble-iceoryx-introspection
iox-introspection-client --h

reference