11# BASEPROD Scripts
22
3+ [ ![ Paper] ( https://img.shields.io/badge/Paper-Nature%20Scientific%20Data-blue )] ( https://doi.org/10.1038/s41597-024-03881-1 )
4+ [ ![ Data] ( https://img.shields.io/badge/Data-Repository-green )] ( https://doi.org/10.57780/esa-xxd1ysw )
5+ [ ![ Citation] ( https://img.shields.io/badge/Cite-This%20Work-orange )] ( #citation )
6+ [ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-yellow.svg )] ( LICENSE )
7+ [ ![ Python] ( https://img.shields.io/badge/Python-3.10-blue )] ( requirements.txt )
8+
39These scripts were used to prepare [ BASEPROD: The Bardenas Semi-Desert Planetary Rover Dataset] ( https://doi.org/10.1038/s41597-024-03881-1 ) .
410The code is released under the [ MIT License] ( LICENSE ) .
511
612Authors:
13+
714- Levin Gerdes [ ![ orcid] ( https://orcid.org/sites/default/files/images/orcid_16x16.png )] ( https://orcid.org/0000-0001-7648-8928 )
815- Hugo Leblond [ ![ orcid] ( https://orcid.org/sites/default/files/images/orcid_16x16.png )] ( https://orcid.org/0009-0009-2745-0988 )
916- Rául Castilla Arquillo [ ![ orcid] ( https://orcid.org/sites/default/files/images/orcid_16x16.png )] ( https://orcid.org/0000-0003-4203-8069 )
@@ -12,20 +19,27 @@ Authors:
1219
1320Supervisor: Carlos J. Pérez del Pulgar [ ![ orcid] ( https://orcid.org/sites/default/files/images/orcid_16x16.png )] ( https://orcid.org/0000-0001-5819-8310 )
1421
22+ ## Links
23+
24+ - Paper: < https://doi.org/10.1038/s41597-024-03881-1 >
25+ - Data: < https://doi.org/10.57780/esa-xxd1ysw >
1526
1627## Requirements
1728
1829The code was tested with Python 3.10.12.
1930Additional Python requirements are listed in ` requirements.txt `
2031and can be installed in a virtual environment as follows:
32+
2133``` bash
2234python -m venv .venv
2335source .venv/bin/activate
2436pip install -r requirements.txt
2537```
38+
2639Activate the environment with ` source .venv/bin/activate ` or deactivate it by invoking ` deactivate ` .
2740
2841Some scripts use additional packages for plotting:
42+
2943``` bash
3044sudo apt install \
3145texlive \
@@ -36,70 +50,95 @@ dvipng
3650
3751The scripts are formatted with [ black] ( https://pypi.org/project/black/ ) ([ exact version] ( .github/workflows/black.yml#L13 ) ).
3852
39-
4053## Usage
4154
42- Download and unzip the (relevant parts of the) dataset to your local drive.
43- For convenience, we recommend to create a shorthand via ` export BASEPROD=/path/to/baseprod ` .
55+ Download and unzip the (relevant parts of the) [ dataset] ( https://doi.org/10.57780/esa-xxd1ysw ) to your local drive.
56+ For convenience, we recommend creating a shorthand via ` export BASEPROD=/path/to/baseprod ` .
4457This step is assumed for the following example commands.
4558
4659> [ !Note]
4760> View detailed script usage information via ` python <script> --help ` .
4861
49-
5062### Exporting mcap recordings
5163
5264You can export all data recordings via
65+
5366``` zsh
5467python export_logs.py -i ${BASEPROD} /rosbags/ -o ${BASEPROD} /rover_sensors/
5568```
69+
5670This will iterate over all roslogs in that directory and take ages,
5771because we write to disk quite often to avoid running out of memory.
5872
59-
6073### Plotting weather station
6174
62- To plot weather station data, provide the CSV of the day and data you are interested in.
75+ To plot weather station data, provide the CSV of the day and the data you are interested in.
6376E.g., to plot all data from the 23rd of July:
77+
6478``` zsh
6579python plot_weather.py --file ${BASEPROD} /weather_station/2023-07-23_09-49-44.csv --all
6680```
6781
68-
6982### Plotting LIBS spectra
7083
71- Spectra can be plotted by providing a ` spectra.csv ` and indicating the spectrum one is interested in .
84+ Spectra can be plotted by providing a ` spectra.csv ` file and indicating the spectrum of interest .
7285E.g., to plot spectrum 3 of the 2nd measurement at location 1:
86+
7387``` zsh
7488python plot_spectrum.py --file ${BASEPROD} /libs_measurements/01/02/spectra.csv --spectrum 3
7589```
7690
77-
7891### Data corrections
7992
8093The following commands compute and apply corrections to different measurements.
81- All input data will be preserved, corrected data can be found in files that carry "CORRECTED" in their filename .
94+ All input data will be preserved; corrected data can be found in files that contain "CORRECTED" in their filenames .
8295
8396The Force/Torque corrections need an exported calibration log (passed via ` -c ` flag) and an exported input log to correct (` -i ` ).
97+
8498``` zsh
8599python ft_correction.py -c ${BASEPROD} /rover_sensors/calibration/ft_neutral -i ${BASEPROD} /rover_sensors/2023-07-23_12-52-39
86100```
87101
88102The bogie offset script only needs an exported input log (` -i ` ).
103+
89104``` zsh
90105python bogie_offset.py -i ${BASEPROD} /rover_sensors/2023-07-23_12-52-39
91106```
92107
93108The gyro offset script needs an exported input log (` -i ` ) and can be given a manual offset correction (` -c ` ) for the heading in radians.
109+
94110``` zsh
95111python gyro_offset.py -i ${BASEPROD} /rover_sensors/2023-07-23_12-52-39 -c -1.25
96112```
97113
98114> [ !TIP]
99115> We processed most data in batch via the following commands.
116+ >
100117> ``` zsh
101118> export TPATH=/path/to/baseprod/rover_sensors
102119> ls ${TPATH} | grep 2023 | xargs -I {} python ft_correction.py -c ${TPATH} /calibration/ft_neutral -q -i ${TPATH} /{}
103120> ls ${TPATH} | grep 2023 | xargs -I {} python bogie_offset.py -q -i ${TPATH} /{}
104121> ls ${TPATH} | grep 2023 | xargs -I {} python gyro_offset.py -q -i ${TPATH} /{}
105122> ` ` `
123+
124+ # # Citation
125+
126+ If you use this work, please cite:
127+
128+ Gerdes, L., Wiese, T., Castilla Arquillo, R. * et al.* ** BASEPROD: The Bardenas Semi-Desert Planetary Rover Dataset** . * Sci Data* ** 11** , 1054 (2024). < https://doi.org/10.1038/s41597-024-03881-1>
129+
130+ ` ` ` bibtex
131+ @article{Baseprod,
132+ author = {Levin Gerdes and Tim Wiese and Raúl Castilla Arquillo and Laura Bielenberg and Martin Azkarate and Hugo Leblond and Felix Wilting and Joaquín Ortega Cortés and Alberto Bernal and Santiago Palanco and Carlos Pérez del Pulgar},
133+ doi = {10.1038/s41597-024-03881-1},
134+ issn = {2052-4463},
135+ issue = {1},
136+ journal = {Scientific Data},
137+ month = {9},
138+ pages = {1054},
139+ title = {BASEPROD: The Bardenas Semi-Desert Planetary Rover Dataset},
140+ volume = {11},
141+ url = {https://www.nature.com/articles/s41597-024-03881-1},
142+ year = {2024},
143+ }
144+ ```
0 commit comments