Additional Tools can be found in the adma_tools
folder and are separated based on their implementation language (adma_tools_cpp
/ adma_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".
Parameter | Pssoble Values | Description | Location |
---|---|---|---|
rosbag_path | File location as String | Rosbag file to convert to GSDB | bag2gsdb.launch.py |
replay_rate | Rate as Integer | Rate of data replay for increasing the replay speed | bag2gsdb.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.
Parameter | Possible values | Description | Location |
---|---|---|---|
destination_ip | IP as String | Destination IP-address of replayed data stream | gsdb_replay_config.yaml |
destination_port | Port as Integer | Destination Port of replayed data stream | gsdb_replay_config.yaml |
use_performance_check | BOOL | Enables time measurement for the process of receiving the UDP data until they get published | gsdb_replay_config.yaml |
protocol_version | Version as String | version of the ADMANet data stream that is contained in the GSDB file | gsdb_replay_config.yaml |
frame_ids | BOOL | Define the ROS topic names | gsdb_replay_config.yaml |
ip_address | IP as String | IP-address of the gsdb_server | gsdb_replay_config.yaml |
port | Port as Integer | Port of the gsdb_server | gsdb_replay_config.yaml |
frequency | Frequency as Integer | Data frequency | gsdb_replay_config.yaml |
protocol_version | Version as String | version of the ADMANet data stream that is contained in the GSDB file | gsdb_replay_config.yaml |
gsdb_file | File location as String | GSDB Source file to replay | gsdb_replay_config.yaml |
log_gsdb | BOOL | Enable creating a new GSDB file | gsdb_replay_config.yaml |
record_rosbag | BOOL | Enable logging a rosbag file | gsdb_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.
Parameter | Possible Values | Description | Location |
---|---|---|---|
frequency | Frequency as integer | Data frequency | gsda_replay_config.yaml |
gsda_file | String | GSDA Source file to replay | gsda_replay_config.yaml |
recorded_topics | Strings of ROS topics | Desired topics | gsda_replay.launch.py |
. ~/ros2_ws/install/setup.bash
ros2 launch adma_tools_cpp gsda_replay.launch.py