TurtleBot5G Dataset: MMK Corridor, KTH
Authors/Creators
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_linkframe). - Network Tests:
- Channel info, such as RSSI, SINR, etc.
- Ping measurements to the edge server.
- iPerf3 throughput evaluations.
Data Details
-
ROS2 Bag File
The 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 Logs
Ping logs collected using:stdbuf -oL ping $TURTLEBOT_IP -W 500 | while read line; do echo "$(date +"[%s.%N]") $line"; done > ping.log -
iPerf3 Logs
Network 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_infotopic - 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_infotopic
For more details about this collaboration or to explore further research, contact nilsjor@kth.se.