5G Dataset 2025 Freyung
Description
Collected RSRP measurement of the indoor private 5G infrastructure of the DIT building in Freyung. The data are collected by a mobile robot Husky A200 and georeferenced using SLAM with 3D LiDAR measurements. The datasets include created 3D environment model and collected RSRP values with the frequencey of 1 Hz along the robot path.
Geo-referenced Map & Trajectory: TC Freyung
The datasett contains the georeferenced 3D map and estimated trajectory for the Technologie Campus Freyung.
<
The spatial data has been aligned to the Bavarian Open Data standard (UTM Zone 32N). To maintain precision and compatibility with robotic navigation stacks (e.g., ROS), the map and trajectory are provided in a Local ENU (East-North-Up) frame centered at a specific GPS anchor point.
π File Structure
Current Directory (localization/global/):
.
βββ map_origin.txt # The GPS anchor point (Lat/Lon/Alt) defining (0,0,0)
βββ campus_map_enu.pcd # The 3D sensor map (Rotated North, Origin at map_origin)
βββ trajectory_enu.txt # The robot trajectory (TUM format, relative to map_origin)
βββ external_data/
βββ reference_map_utm.ply # The Bavarian Open Data reference (Absolute UTM coordinates)
Project Root:
signal_measurements.json: Extracted 5G/4G signal data (List of JSON objects).
π Coordinate Systems
1. Global Frame (External Reference)
- System: ETRS89 / UTM Zone 32N (EPSG:25832)
- Units: Meters
- Axes: X = Easting, Y = Northing, Z = Altitude (DHHN2016)
- Used in:
external_data/reference_map_utm.ply
2. Local ENU Frame (Robot Navigation)
- System: Local Tangent Plane (Cartesian)
- Origin: Defined in
map_origin.txt - Orientation: ENU (X points East, Y points North, Z points Up)
- Used in:
campus_map_enu.pcdandtrajectory_enu.txt
Note: The
campus_map_enu.pcdhas valid rotation (North-aligned) but zero translation. Its internal origin(0,0,0)corresponds exactly to the coordinates inmap_origin.txt.
π File Formats
map_origin.txt
A simple key-value text file defining the Map Datum.
latitude: 48.8110401437
longitude: 13.5471250429
altitude: 647.29
trajectory_enu.txt
Standard TUM Trajectory Format. Space-separated values.
# timestamp tx ty tz qx qy qz qw
1747845327.5568 0.00 0.00 0.00 0.0 0.0 0.0 1.0
...
- Position (
tx ty tz): Meters, relative tomap_origin. - Orientation (
qx qy qz qw): Quaternion, representing orientation relative to East/North.
campus_map_enu.pcd
- Format: ASCII or Binary Point Cloud Library (PCL) format.
- Fields: x, y, z (and potentially intensity/rgb).
signal_measurements.json (Project Root)
A flat JSON list containing signal quality metrics extracted from the robotβs cellular modem.
[
{
"rsrp_value": -55,
"network_type": "5G",
"cell_id": 1235501,
"band": 78,
"sinr_value": 38,
"rsrq_value": -11,
"timestamp_ns": 1747845331164102845,
"timestamp": 1747845331.164103
},
...
]
π How to Get Global Coordinates
To convert any point from the map or trajectory back to the absolute Global UTM frame, simply add the Origin Shift.
Step 1: Convert Map Origin to UTM
Use a library like pyproj to convert the lat/lon from map_origin.txt into UTM Zone 32N coordinates.
Step 2: Apply Shift
Python Example
from pyproj import Transformer
import numpy as np
# 1. Load Origin
lat, lon, alt = 48.8110401437, 13.5471250429, 647.29
# 2. Get Shift Vector (UTM)
transformer = Transformer.from_crs("EPSG:4326", "EPSG:25832", always_xy=False)
shift_x, shift_y = transformer.transform(lat, lon)
shift_z = alt
print(f"Global Shift Vector: [{shift_x}, {shift_y}, {shift_z}]")
# 3. Convert a Local Point (e.g., from trajectory)
local_point = np.array([10.5, -5.0, 1.2]) # example point
global_point = local_point + np.array([shift_x, shift_y, shift_z])
print(f"Global UTM Coordinate: {global_point}")
π Visualization Note
The reference map (external_data/reference_map_utm.ply) is in Absolute UTM coordinates (millions of meters).
The robot map (campus_map_enu.pcd) is in Local coordinates (small numbers).
If you load them together in a viewer (like CloudCompare), they will be ~5,000 km apart. To verify alignment visually, you must apply the translation calculated above to the .pcd file.