Technical Support Center

ROS – Additional Tools


Additional Tools can be found in the adma_tools folder and are separated based on their implementation language (adma_tools_cppadma_tools_py).

ROS2CSV-Converter

This tool subscribes to /genesys/adma/data_scaled and /genesys/adma/status and generates a CSV file for postprocessing. It can be used live or e.g. to convert a rosbag to CSV. The tool can be used by executing it in an additional terminal:


. ~ros2_ws/install/setup.bash
ros2 run adma_tools_py ros2csv

This will create a recorded_data.csv in the destination where the ros2 run adma_tools_py ros2csv command is executed. The .csv file that gets created corresponds to the .gsda format specification of GeneSys. If an individual file naming needs to be used, the adma_tools_py/adma_tools_py/ros2csv_converter.py file can be adapted (self.filename = '').

BAG2GSDB-Converter

This tool subscribes to the /genesys/adma/data_raw topic and generates a *.gsdb. By remapping it is also possible to subscribe to the /genesys/adma/data_recorded topic (e.g. if you already have recorded rosbags with the deprecated data_recorded topic).

Note: For converting ROS bags from ADMA ROS2 driver versions <= 2.1.3, the "adma/data_recorded" topic has to be remapped to "adma/data_raw".

ParameterPssoble ValuesDescriptionLocation
rosbag_pathFile location as StringRosbag file to convert to GSDBbag2gsdb.launch.py
replay_rate Rate as IntegerRate of data replay for increasing the replay speedbag2gsdb.launch.py
. ~/ros2_ws/install/setup.bash
ros2 launch adma_tools_cpp bag2gsdb.launch.py

In the launch-file you have to define the path to the desired ros2 bag directory (the one where the metadata.yaml and $FILE.db3 is located). The tool will create a raw_data.gsdb file inside the folder next to these files. The launchfile will start both, ros2 bag play and the converter tool and stops everything when the replay of the bagfile is finished. Additionally you can inject the replay_rate in the launchfile to speed-up the converting process.

Note: Increasing the replay_rate depends on the computer performance. It might lead to data losses. Therefore at the end of every process a log is output that contains the amount of received messages. This value can be compared with the value that is defined in the metadata.yaml (message_count entry at the /genesys/adma/data_recorded / /genesys/adma/data_raw topic).

GSDB Replay

For reprocessing .gsdb files, the path to the desired .gsdb file has to be configured in the gsdb_replay_config.yaml at the parameter gsdb_file. After that, the gsdb_replay.launch.py tool can be launched. The tool creates a .db3 file in the location where the tool was launched via terminal.

ParameterPossible valuesDescriptionLocation
destination_ipIP as StringDestination IP-address of replayed data streamgsdb_replay_config.yaml
destination_portPort as IntegerDestination Port of replayed data streamgsdb_replay_config.yaml
use_performance_checkBOOLEnables time measurement for the process of receiving the UDP data until they get publishedgsdb_replay_config.yaml
protocol_versionVersion as Stringversion of the ADMANet data stream that is contained in the GSDB filegsdb_replay_config.yaml
frame_idsBOOLDefine the ROS topic namesgsdb_replay_config.yaml
ip_addressIP as StringIP-address of the gsdb_servergsdb_replay_config.yaml
portPort as IntegerPort of the gsdb_servergsdb_replay_config.yaml
frequencyFrequency as IntegerData frequencygsdb_replay_config.yaml
protocol_versionVersion as Stringversion of the ADMANet data stream that is contained in the GSDB filegsdb_replay_config.yaml
gsdb_fileFile location as StringGSDB Source file to replaygsdb_replay_config.yaml
log_gsdbBOOLEnable creating a new GSDB filegsdb_replay_config.yaml
record_rosbagBOOLEnable logging a rosbag filegsdb_replay_config.yaml
. ~/ros2_ws/install/setup.bash
ros2 launch adma_tools_cpp gsdb_replay.launch.py

GSDA Replay

For reprocessing .gsda files, the path to the desired .gsda file has to be configured in the gsda_replay_config.yaml at the parameter gsda_file. After that, the gsda_replay.launch.py tool can be launched. The tool creates a .db3 file in the location where the tool was launched via terminal.

This tool was implemented for converting post processed data out of the ADMA PP software back to ROS2 data.

ParameterPossible ValuesDescriptionLocation
frequencyFrequency as integerData frequencygsda_replay_config.yaml
gsda_fileStringGSDA Source file to replaygsda_replay_config.yaml
recorded_topicsStrings of ROS topicsDesired topicsgsda_replay.launch.py
. ~/ros2_ws/install/setup.bash
ros2 launch adma_tools_cpp gsda_replay.launch.py
Applikationsingenieur | bei GeneSys seit 2014

Notify me about Updates