Docker Installation and Usage¶
To run eProsima DDS Suite container, Docker is required. From a terminal run
sudo apt install docker.io
To load this image into your Docker repository, from a terminal run
docker load -i ubuntu-eprosima-dds-suite:<version>.tar
eProsima DDS Suite Docker container can be run as follows:
xhost local:root
docker run \
-it \
--privileged \
-e DISPLAY=$DISPLAY \
-v /tmp/.X11-unix:/tmp/.X11-unix \
ubuntu-eprosima-dds-suite:<version>
Each feature can be run from the resulting Bash Shell.
Fast DDS Examples¶
Included in this Docker container is a set of binary examples that showcase several functionalities of the Fast DDS library. These examples’ path can be accessed from a terminal by typing
goToExamples
This will change the working directory to a location containing several examples, both for DDS and RTPS. Below are the steps to launch two such examples.
Hello World Example¶
This is a minimal example that will perform a Publisher/Subscriber match and start sending samples.
goToExamples
cd HelloWorldExample/bin
tmux new-session \
"./HelloWorldExample publisher 0 1000" \; \
split-window "./HelloWorldExample subscriber" \; \
select-layout even-vertical
This example is not constrained to the current image instance, meaning that it is possible to run several instances of this container to check the communication between them. From one terminal you could launch an image and, on the presented shell, run:
goToExamples
cd HelloWorldExample/bin
./HelloWorldExample publisher
And then from another terminal with another instance run the following:
goToExamples
cd HelloWorldExample/bin
./HelloWorldExample subscriber
Benchmark Example¶
This example creates either a Publisher or a Subscriber and, after a successful match, starts sending samples. After a few seconds the process that launched the Publisher will show a report with the number of samples transmitted.
On the subscriber side, run:
goToExamples
cd Benchmark/bin
./Benchmark subscriber udp
On the publisher side, run:
goToExamples
cd Benchmark/bin
./Benchmark publisher udp
Fast DDS QoS Profiles Manager¶
Fast DDS QoS Profiles Manager CLI can be directly called in the Docker container. Please, run the following command to display the CLI usage:
fastddsqosprof -h
Fast DDS QoS Profiles Manager CLI User Manual can be located on the Fast DDS QoS Profiles Manager documentation.
Shapes Demo¶
To launch the Shapes Demo, from a terminal run:
ShapesDemo
eProsima Shapes Demo usage information can be found on the Shapes Demo documentation.
Fast DDS Monitor¶
To launch the Fast DDS Monitor, from a terminal run:
fastdds_monitor
eProsima Fast DDS Monitor User Manual can be located on the Fast DDS Monitor documentation.
DDS Router¶
In this example the DDS Router is configured to communicate a publisher and subscriber running in different DDS Domains.
Run the following command to create the DDS Router yaml configuration file (/config.yml
).
echo "version: v2.0
participants:
- name: simple_dds_participant_0
kind: local
domain: 0
- name: simple_dds_participant_1
kind: local
domain: 1" > /config.yml
Then execute the following command to run the Publisher in Domain 0, the Subscriber in Domain 1, and the DDS Router communicating both Domains.
goToExamples
cd DDS/BasicConfigurationExample/bin
tmux new-session \
"ddsrouter --config-path /config.yml" \; \
split-window -h "./BasicConfigurationExample publisher --domain 0 --interval 1000 --transport udp" \; \
split-window -v "./BasicConfigurationExample subscriber --domain 1 --transport udp"
eProsima Micro XRCE-DDS¶
To launch the Micro XRCE-DDS Agent, from a terminal run:
MicroXRCEAgent udp4 -p 2019 -r /root/agent.refs &
With the Agent started, you can now run the Shapes Demo application:
ShapesDemo &
And launch the ShapeDemoClient, a demo client used to send data to Shapes Demo via the Micro XRCE-DDS Agent.
ShapeDemoClient --udp4 127.0.0.1 2019
Inside that client, you can now follow the steps detailed in the eProsima XRCE-DDS Shapes Demo page to send data to Shapes Demo.
PlotJuggler eProsima Edition¶
To launch the PlotJuggler eProsima Edition, from a terminal run:
$ plotjuggler
eProsima PlotJuggler eProsima Edition usage information can be found on the PlotJuggler eProsima Edition User Manual.
DDS Record & Replay¶
DDS Record & Replay is composed of two different tools: DDS Recorder and DDS Replayer. DDS Recorder allows to record DDS traffic in a specific domain, storing all data in an MCAP file. To launch DDS Recorder, from a terminal run:
$ ddsrecorder
Recorded data can then be inspected through visualization applications such as Foxglove Studio. It is also possible to play data back in the same domain or a different one by leveraging DDS Replayer. To launch DDS Replayer, from a terminal run:
$ ddsreplayer -i my_data.mcap
For more information on how to configure and use DDS Record & Replay, please refer to DDS Record & Replay documentation website.
Fast DDS Spy¶
To launch Fast DDS Spy, from a terminal run:
$ fastddsspy
Fast DDS Spy usage information can be found on the Fast DDS Spy User Manual.