DOI: 10.5281/zenodo.14995354
title: TurtleBot5G Dataset: MMK Corridor, KTH

description: TurtleBot5G Dataset: MMK Corridor, KTH

This repository contains a unique dataset collected using a 5G-enabled TurtleBot in the MMK corridor at KTH. The project leverages edge computing capabilities provided by Telenor in collaboration with the TECoSA Research Center. TECoSA focuses on Trustworthy Edge Computing Systems and Applications—find more at the link above.

Dataset Overview



Environment: MMK corridor, KTH Royal Institute of Technology.

Robot: TurtleBot equipped with a LiDAR sensor, utilizing 5G-enabled edge computing for data processing.

SLAM: LiDAR-based SLAM for real-time positioning (best estimate: base_link frame).

Network Tests:



Channel info, such as RSSI, SINR, etc.

Ping measurements to the edge server.

iPerf3 throughput evaluations.




Data Details





ROS2 Bag FileThe raw ROS2 bag file containing all topics, including /channel_info_map:

- Files:             rosbag2_2025_03_06-17_19_56_0.db3
- Bag size:          574.1 MiB
- Storage id:        sqlite3
- Duration:          369.127030257s
- Start:         - Mar  6 2025 17:19:56.143364319 (1741277996.143364319)
- End:           - Mar  6 2025 17:26:05.270394576 (1741278365.270394576)
- Messages:          216519
- Topic information: 
     - Topic: /sensor_state | Type: turtlebot3_msgs/msg/SensorState | Count: 7375 | Serialization Format: cdr
     - Topic: /odom | Type: nav_msgs/msg/Odometry | Count: 7375 | Serialization Format: cdr
     - Topic: /joint_states | Type: sensor_msgs/msg/JointState | Count: 7375 | Serialization Format: cdr
     - Topic: /cmd_vel_delay | Type: builtin_interfaces/msg/Time | Count: 9933 | Serialization Format: cdr
     - Topic: /tf_static | Type: tf2_msgs/msg/TFMessage | Count: 1 | Serialization Format: cdr
     - Topic: /channel_info | Type: sensor_msgs/msg/PointCloud2 | Count: 1106 | Serialization Format: cdr
     - Topic: /imu | Type: sensor_msgs/msg/Imu | Count: 7375 | Serialization Format: cdr
     - Topic: /camera_info | Type: sensor_msgs/msg/CameraInfo | Count: 11067 | Serialization Format: cdr
     - Topic: /clicked_point | Type: geometry_msgs/msg/PointStamped | Count: 0 | Serialization Format: cdr
     - Topic: /map | Type: nav_msgs/msg/OccupancyGrid | Count: 379 | Serialization Format: cdr
     - Topic: /parameter_events | Type: rcl_interfaces/msg/ParameterEvent | Count: 0 | Serialization Format: cdr
     - Topic: /battery_state | Type: sensor_msgs/msg/BatteryState | Count: 7375 | Serialization Format: cdr
     - Topic: /initialpose | Type: geometry_msgs/msg/PoseWithCovarianceStamped | Count: 0 | Serialization Format: cdr
     - Topic: /submap_list | Type: cartographer_ros_msgs/msg/SubmapList | Count: 1230 | Serialization Format: cdr
     - Topic: /move_base_simple/goal | Type: geometry_msgs/msg/PoseStamped | Count: 0 | Serialization Format: cdr
     - Topic: /joy | Type: sensor_msgs/msg/Joy | Count: 11570 | Serialization Format: cdr
     - Topic: /robot_description | Type: std_msgs/msg/String | Count: 1 | Serialization Format: cdr
     - Topic: /image_raw | Type: sensor_msgs/msg/Image | Count: 11059 | Serialization Format: cdr
     - Topic: /landmark_poses_list | Type: visualization_msgs/msg/MarkerArray | Count: 12303 | Serialization Format: cdr
     - Topic: /trajectory_node_list | Type: visualization_msgs/msg/MarkerArray | Count: 12303 | Serialization Format: cdr
     - Topic: /magnetic_field | Type: sensor_msgs/msg/MagneticField | Count: 7375 | Serialization Format: cdr
     - Topic: /events/write_split | Type: rosbag2_interfaces/msg/WriteSplitEvent | Count: 0 | Serialization Format: cdr
     - Topic: /scan | Type: sensor_msgs/msg/LaserScan | Count: 1827 | Serialization Format: cdr
     - Topic: /scan_matched_points2 | Type: sensor_msgs/msg/PointCloud2 | Count: 1828 | Serialization Format: cdr
     - Topic: /cmd_vel_stamped | Type: geometry_msgs/msg/TwistStamped | Count: 10012 | Serialization Format: cdr
     - Topic: /rosout | Type: rcl_interfaces/msg/Log | Count: 201 | Serialization Format: cdr
     - Topic: /constraint_list | Type: visualization_msgs/msg/MarkerArray | Count: 738 | Serialization Format: cdr
     - Topic: /channel_info_map | Type: sensor_msgs/msg/PointCloud2 | Count: 1107 | Serialization Format: cdr
     - Topic: /tf | Type: tf2_msgs/msg/TFMessage | Count: 85604 | Serialization Format: cdr





Ping LogsPing logs collected using:

stdbuf -oL ping $TURTLEBOT_IP -W 500 | while read line; do echo "$(date +"[%s.%N]") $line"; done > ping.log





iPerf3 LogsNetwork throughput (Downlink) tested using:

iperf3 -c $TURTLEBOT_IP -t inf --json > iperf3.log




Unpacking the Radio Channel Information

The channel info is published in a binary format, as a PointCloud2 message. This message contains the necessary metadata and structure to unmarshal it properly. Specifically, it includes:



Fields: Information about each field in the point cloud (e.g., x, y, z coordinates, intensity).

Data Type: The type of data stored in each field (e.g., float32, uint8).

Dimensions: The dimensions of the point cloud data (e.g., width, height).


This metadata ensures that the point cloud data can be correctly interpreted and used in other applications.

Important: It is encouraged to rely only the embedded metadata when unmarshaling, since the layout of this topic may be subject to change in future versions of this dataset.

For reference, the fields are laid out as follows:

fields:
- name: x
  datatype: FLOAT32
  count: 1
- name: y
  datatype: FLOAT32
  count: 1
- name: z
  datatype: FLOAT32
  count: 1
- name: RSRP
  datatype: INT32
  count: 4
- name: RSRQ
  datatype: INT32
  count: 4
- name: SINR
  datatype: INT32
  count: 4
- name: CSI
  datatype: UINT8
  count: 4
- name: CSQ
  datatype: UINT8
  count: 2


These values were retrieved using the corresponding AT-commands, namely, AT+QRSRP, AT+QRSRQ, AT+QSINR, AT+QNWCFG, and AT+CSQ

The RSRP, RSRQ, and SINR fields contain four 32-bit values each, which corresponds to the different antenna values, namely



PRX: Primary RX

DRX: Diversity RX

RX2: MIMO-RX2 (Not used; returns reserved value -32768)

RX3: MIMO-RX3 (Not used; returns reserved value -32768)


The CSI-fields denote the following auxiliary information:



MCS: Modulation and coding scheme of PDSCH.

RI: Indicates the effective number of data layers of PDSCH.

CQI: Indicates the quality of the downlink channel.

PMI: Indicates the index of the codebook set.


The CSQ-fields denote the following:



RSSI: Received signal strength indication.

BER: Channel bit error rate (in percent).


For more details, see the Quectel AT Commands Manual

Use Cases

This dataset can be useful for analyzing:



SLAM performance and its interaction with edge computing resources.

Impact of 5G network quality on real-time robotic applications.

The interplay of edge computing with robotics in structured environments.


Known Limitations



Unnecessarily large datatypes used for some fields in the /channel_info topic

Ping and iPerf3 data are currently not published as ROS topics but are instead stored as standalone text files

Extremely low-resolution of the camera topic /image_raw, no compressed alternative currently available

Missing/incorrect parameters in /camera_info topic


For more details about this collaboration or to explore further research, contact nilsjor@kth.se.