https://github.com/uleroboticsgroup/acolyte
ACOLYTE (dAta Curation fOr traceabiLity sYsTEm)
https://github.com/uleroboticsgroup/acolyte
python ros2-humble
Last synced: 3 months ago
JSON representation
ACOLYTE (dAta Curation fOr traceabiLity sYsTEm)
- Host: GitHub
- URL: https://github.com/uleroboticsgroup/acolyte
- Owner: uleroboticsgroup
- License: gpl-3.0
- Created: 2025-05-30T16:00:02.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2026-03-26T13:40:24.000Z (3 months ago)
- Last Synced: 2026-03-27T02:52:23.215Z (3 months ago)
- Topics: python, ros2-humble
- Language: Python
- Homepage:
- Size: 1.41 MB
- Stars: 5
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
Awesome Lists containing this project
README
# ACOLYTE (dAta Curation fOr traceabiLity sYsTEm)
ACOLYTE is a Python application designed to facilitate traceability in autonomous systems in a cibersecure manner. It has been developed to assist in the automated extraction of data from autonomous systems. The application is available in the form of a command-line tool. Two fundamental options are available:
- Store records.
- Reading information from a ROS bag file.
- Reading information from the vehicle's OBD-II port.
- Get stored records by a timeframe.
This Python application is dependant on BCubed Python library. BCubed is available at [BCubed repository](https://github.com/uleroboticsgroup/BCubed).
## :warning: Disclaimer
This Python application has only been tested in simulated blockchain environments. Using it in other environments is at your own risk. Keep possible charges in mind.
## Getting Started
### Create and activate a virtual enviroment (recommended)
```
$ python3 -m venv .venv
$ source .venv/bin/activate
```
### Install the requirements
```
(.venv) pip install -r requirements.txt
```
### Install BCubed Python library
Follow the instructions available in [BCubed README.md](https://github.com/uleroboticsgroup/BCubed/blob/main/README.md). It is important to note that the virtual environment has already been created.
### Install ACOLYTE
```
(.venv) $ pip install -e
```
## Execute ACOLYTE
1. Ensure the blockchain network is available.
- (Optional) Execute an Ethereum simulator.
1. Update the configuration data in the `bcubed-config.yaml` file.
1. Configure the environment variable named BCUBED_CONF_FILE to set the `bcubed-config.yaml` path. By default, it is set to `./bcubed-config.yaml`.
### Store records
#### 1. Reading information from a ROS bag file
4. Update the configuration data in the `topics-config.yaml` file.
1. Configure the environment variable named ACOLYTE_CONF_FILE to set the `topics-config.yaml` path. By default, it is set to `./topics-config.yaml`.
1. Execute the following command:
```
(.venv) $ acolyte -a store -i -r -w rosbag
```
1. To monitor operating system information too, execute the following command:
```
(.venv) $ acolyte -a store -i -r -w rosbag -os
```
#### 2. Reading information from the vehicle's OBD-II port
4. Update the configuration data in the `obd-config.yaml` file.
1. Configure the environment variable named ACOLYTE_CONF_FILE to set the `obd-config.yaml` path. By default, it is set to `./topics-config.yaml`.
1. Execute the following command:
```
(.venv) $ acolyte -a store -i /dev/null -w obd
```
#### 3. Reading information from an Excel file with OBD-II data
4. Update the configuration data in the `obd-config.yaml` file:
- In the `excel_obd` section, map the Excel column names to the internal OBD field names.
- Use the exact column names from your Excel file as values.
- Leave empty (`''`) for fields not present in your Excel.
1. Configure the environment variable named ACOLYTE_CONF_FILE to set the `obd-config.yaml` path. By default, it is set to `./topics-config.yaml`.
1. Execute the following command:
```
(.venv) $ acolyte -a store -i -r -w obd_excel
```
### Get stored records by a timeframe
1. Execute the following command:
```
(.venv) $ acolyte -a get_by_timestamp -ts -te
```
### Uninstall ACOLYTE
```
(.venv) $ pip uninstall acolyte
```
## Dataset available
A dataset has been created to facilitate testing of the application without the need to create your own rosbag. It is available at the following URL: [https://zenodo.org/records/16630061](https://zenodo.org/records/16630061).
## Acknowledgements
This research is part of the project TESCAC, financed by “European Union NextGeneration-EU, the Recovery Plan, Transformation and Resilience, through INCIBE".