diff --git a/docs/rst/figures/intro/tools/fastddsspy/fastddsspy.png b/docs/rst/figures/intro/tools/fastddsspy/fastddsspy.png new file mode 100644 index 00000000..8fdc282e Binary files /dev/null and b/docs/rst/figures/intro/tools/fastddsspy/fastddsspy.png differ diff --git a/docs/rst/figures/intro/tools/recordreplay/ddsrecord_overview.png b/docs/rst/figures/intro/tools/recordreplay/ddsrecord_overview.png new file mode 100644 index 00000000..4d0583a2 Binary files /dev/null and b/docs/rst/figures/intro/tools/recordreplay/ddsrecord_overview.png differ diff --git a/docs/rst/figures/intro/tools/recordreplay/ddsreplay_overview.png b/docs/rst/figures/intro/tools/recordreplay/ddsreplay_overview.png new file mode 100644 index 00000000..d7e112b9 Binary files /dev/null and b/docs/rst/figures/intro/tools/recordreplay/ddsreplay_overview.png differ diff --git a/docs/rst/introduction/developer_tools.rst b/docs/rst/introduction/developer_tools.rst index 12ac1a36..7bb0320d 100644 --- a/docs/rst/introduction/developer_tools.rst +++ b/docs/rst/introduction/developer_tools.rst @@ -16,6 +16,8 @@ Developer Tools tools/backend.rst tools/shapes_demo.rst tools/router.rst + tools/recordreplay.rst + tools/fastddsspy.rst tools/webots.rst - :ref:`ROS 2 QoS Profiles Manager `: tool suite to generate XML configuration files for Vulcanexus middleware Fast DDS. @@ -23,6 +25,8 @@ Developer Tools - :ref:`Fast DDS Statistics Backend `: *ROS 2 Monitor*'s backend. Can be leveraged with other monitoring frontend applications (e.g. :ref:`Prometheus `). - :ref:`ROS 2 Shapes Demo `: first demo application to understand the most used *ROS 2* Quality of Service (QoS) and test DDS and *ROS 2* communication. - :ref:`ROS 2 Router `: end-user software application enabling the connection of distributed *ROS 2* environments. +- :ref:`ROS 2 Record & Replay `: end-user software applications that efficiently save messages published in a *ROS 2* environment and playback these messages in the order in which they were recorded. +- :ref:`Fast DDS Spy `: CLI interactive tool that allows the introspection of a *ROS 2* environment in a human readable format. - :ref:`Webots `: open-source three-dimensional mobile robot simulator. .. note:: diff --git a/docs/rst/introduction/tools/fastddsspy.rst b/docs/rst/introduction/tools/fastddsspy.rst new file mode 100644 index 00000000..3c5380e7 --- /dev/null +++ b/docs/rst/introduction/tools/fastddsspy.rst @@ -0,0 +1,28 @@ +.. _vulcanexus_fastddsspy: + +Fast DDS Spy +============ + +*Fast DDS Spy* is CLI interactive tool that allows the introspection of a ROS 2 network in human readable format. +It is possible to query the network about the Participants connected, their endpoints (Publishers and Subscriptions) and the topics they communicate in. +It is also possible to see the user data sent through network topics in a schematic format in run time. + +Overview +-------- + +*Fast DDS Spy* is a tool that captures DDS packages in the network and maintain a local database that is accessible from a interactive CLI. +*Fast DDS Spy* responds to user commands introduced by text and prints to ``stdout`` the information requested. +This tool has several commands to interact with it, allowing the user to get information about the status of the network. +It supports listing of existing topics, Participants, Publishers, and Subscriptions, and printing data in real time in a human readable format. + +.. figure:: /rst/figures/intro/tools/fastddsspy/fastddsspy.png + :align: center + +*Fast DDS Spy* is easily configurable and installed with a default setup, so that DDS topics, data types and entities are automatically discovered without the need to specify the types of data. +This is because this tool leverages the DynamicTypes functionality of `eProsima Fast DDS `_, the C++ implementation of the `DDS (Data Distribution Service) Specification `_ defined by the `Object Management Group (OMG) `_. + +Next Steps +---------- + +Visit `eProsima Fast DDS Spy Documentation `_ for more information on how to configure and use *Fast DDS Spy*. +Also feel free to review :ref:`Vulcanexus Tools Tutorials ` to discover the possibilities that this tool has to offer in different scenarios. diff --git a/docs/rst/introduction/tools/recordreplay.rst b/docs/rst/introduction/tools/recordreplay.rst new file mode 100644 index 00000000..277d74b4 --- /dev/null +++ b/docs/rst/introduction/tools/recordreplay.rst @@ -0,0 +1,37 @@ +.. _vulcanexus_recordreplay: + +ROS 2 Record & Replay +===================== + +*ROS 2 Record & Replay* (a.k.a. *DDS Record & Replay*) is an end-user software application that efficiently saves ROS 2 messages published into a DDS environment in a MCAP format database. +Thus, the exact playback of the recorded network events is possible as the data is linked to the timestamp at which the original data was published. + +*ROS 2 Record & Replay* is easily configurable and installed with a default setup, so that DDS topics, data types and entities are automatically discovered without the need to specify the types of data recorded. +This is because the recording tool leverages the DynamicTypes functionality of `eProsima Fast DDS `_, the C++ implementation of the `DDS (Data Distribution Service) Specification `_ defined by the `Object Management Group (OMG) `_. + +Overview +-------- + +*ROS 2 Record & Replay* includes the following tools: + +* **ROS 2 Recorder tool**. + The main functionality of this tool is to save the data in a `MCAP `_ database. + The database contains the records of the publication timestamp of the data, the serialized data, and the definition of the data serialization type and format. + The output MCAP file can be read with any user tool compatible with MCAP file reading since it contains all the necessary information for reading and reproducing the data. + + .. figure:: /rst/figures/intro/tools/recordreplay/ddsrecord_overview.png + :align: center + +* **ROS 2 Replay tool**. + This application allows to reproduce DDS traffic recorded with a *ROS 2 Recorder*. + A user can specify which messages to replay by either setting a time range (begin/end times) out of which messages will be discarded, or directly by blocking/whitelisting a set of topics of interest. + It is also possible to choose a different playback rate, as well as to use topic QoS different to the ones recorded. + + .. figure:: /rst/figures/intro/tools/recordreplay/ddsreplay_overview.png + :align: center + +Next Steps +---------- + +Visit `eProsima DDS Record & Replay Documentation `_ for more information on how to configure and deploy a *ROS 2 Record & Replay* instance. +Also feel free to review :ref:`Vulcanexus Tools Tutorials ` to discover the possibilities that this tool has to offer in different scenarios.