Skip to content

Software for offline rail vehicle positioning, developed within the mFUND project OnboardEU. Open dataset available to run the code.

License

Notifications You must be signed in to change notification settings

DLR-TS/railpos-onboardeu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

railpos-onboardeu


Name

railpos-onboardeu.

Description

This project provides tools for railway vehicle positioning. The software was used to generate offline motion and position information of multiple trams in various European cities within the mFUND project OnboardEU. The repository consists of two modules: a general positioning module named railpos and a project-specific module called onboardeu. The former contains general functionalities for rail vehicle positioning; the latter contains project and data specific helper functions together with an example notebook to demonstrate the usage of the software. The example notebook is provided here. The software was published together with open source data which is available at https://doi.org/10.5281/zenodo.16368240. Theoretical background can be found in this publication. The positioning pipeline mainly consists of the following steps: First, a railway path for the data is selected. Second, an on-path Kalman filter (and smoother) is applied. Finally, the output is calculated. It contains speed and velocity, travelled distances with respect to the path, track identifiers and track distances referring to the utilised railway network as well as absolute positions (longitude and latitude).

The railpos core module is currently being further developed here.

Installation

To use the files from this repository clone it to a local folder via:

git clone https://github.com/DLR-TS/railpos-onboardeu.git

Put the files containing the sensor data (named onboardeu_001.h5) and the railway network geometries (named braunschweig_port_railway_network.gpkg, both available via the link https://doi.org/10.5281/zenodo.16368240) into the data folder of the repository.

Installing dependencies

If you are using conda to manage your Python environments (recommmended, preferrably via the much faster mamba), create a new conda environment and install the required dependencies by running the following in the package root folder:

conda create -n railpos --file requirements.txt
conda activate railpos

Otherwise you can use pip to install the dependencies:

python -m pip install -r requirements.txt

The code was tested with Python 3.12 and 3.13.

Usage

The software is intended to be used to calculate positions and motion information of a railway vehicle in a railway network. In this setting, GNSS and IMU data as well as track geometries of a railway network are required. If the pipeline of the notebook is followed, the user will obtain track-selective positions and velocity information. The following two figures exemplarily illustrate the input data (IMU longitudinal acceleration, GNSS speed and positions projected to the path) as well as the output velocity, speed and path distances in comparison with the GNSS input speed and projected path distances for the first journey of the provided data. Finally, Figure 3 shows the input GNSS positions together with the output positions and speeds on the map. Corresponding figures for all journeys of the published data and html files containing the input and output data on a map can be obtained via figures.zip available at https://doi.org/10.5281/zenodo.16368240.

Fig1

Figure 1: Input data to the positioning pipeline.

Fig2

Figure 2: Output speed, velocity and path distances together with the input GNSS data.

Fig2

Figure 3: Input GNSS positions and timestamps (colormap corresponding to the timestamps in red) together with output positions and speed.

Support

For support contact opensource-ts(at)dlr.de.

Roadmap

This repository is tailored to the result generation for the project OnboardEU. No further development is planned for this repository. The core module railpos of this repository is currently under further development and will be updated with new functionalities. It can be found here.

Contributing

In the near future, contributions can be made to railpos. Details can be found in the respective repository.

Authors and acknowledgment

In alphabetical order: Erik Hedberg, Judith Heusel, Keivan Kiyanfar, Michael Roth.

All contributions were made during DLR employment of the respective authors.

License

This software is released under the 3-Clause BSD License.

About

Software for offline rail vehicle positioning, developed within the mFUND project OnboardEU. Open dataset available to run the code.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •