Lightweight Embedded Assisted Driving System
Project description
LEADS: Lightweight Embedded Assisted Driving System
LEADS is a system designed for VeC.
LEADS only supports two drive-wheel configurations: single rear wheel (SRW) mode and dual rear wheel (DRW) mode.
Python is generally not the best choice for writing embedded systems. We made this decision for the following reasons.
- Data analysis
- Short development cycle
- Official support for Raspberry Pi
- Low difficulty in getting started for team members
This project aims to implement the following functions:
- A basic instrumentation system
- A basic communication system
- A basic control system
- A data recording system with the following components
- A speed recording system
- A G force recording system
- A GPS recording system
- A battery voltage recording system
- A control system with the following components
- DTCS (Dynamic Traction Control System)
- ABS (Anti-lock Braking System)
- EBI (Emergency Braking Intervention)
- ATBS (Automatic Trail Braking System)
Installation
Note that LEADS requires Python >= 3.11.
pip install pysimplegui keyboard pyserial leads
numpy will be automatically installed with leads.
pysimplegui, keyboard, and pyserial are optional.
If you need only the skeleton, run the following.
pip install leads
Verify
python -m leads_vec info
Quickstart
Main
python -m leads_vec run
Optional Arguments
Configuration File
python -m leads_vec -c path/to/the/config/file run
If not specified, all configurations will be default values.
To learn about the configuration file, read Configurations.
Configurations
| Type | Usage | Used By | Default | |
|---|---|---|---|---|
srw_mode |
bool |
True: single rear wheel; False: dual rear wheel |
Main, Remote | True |
width |
int |
Window width | Main | 720 |
height |
int |
Window height | Main | 480 |
fullscreen |
bool |
True: auto maximize; False: window mode |
Main | False |
no_title_bar |
bool |
True: no title bar; False: default title bar |
Main | False |
refresh_rate |
int |
GUI frame per second | Main | 30 |
font_size_small |
int |
Small font size | Main | 8 |
font_size_medium |
int |
Medium font size | Main | 16 |
font_size_large |
int |
Large font size | Main | 32 |
font_size_x_large |
int |
Extra large font size | Main | 48 |
scaling_factor |
float |
A factor used to scale every component | Main | 1 |
comm_addr |
str |
Communication server address | Main | "127.0.0.1" |
comm_port |
int |
The port on which the communication system runs on | Main, Remote | 16900 |
data_dir |
str |
The directory for the data recording system | Remote | "./data" |
Periodic Report
See reports.
Collaborations
Community
Issues
Our team management completely relies on GitHub. Tasks are published and assigned as issues. You will be notified if you are assigned to certain tasks. However, you may also choose to join other discussions for which you are not responsible.
There are a few labels that classify the issues.
bugreports a bugcode reviewdiscusses a code review or commentdocumentationsuggests a documentation enhancementduplicatemarks that a similar issue has been raisedenhancementproposes a new feature or requesthelp wantedmeans that extra attention is needed to this issueinvalidmarks that the issue is in valid formatquestionrequests further informationreportstarts a periodic report discussiontodocreates a new taskwontfixmarks that the issue is ignored
Label your issue with at least one of the labels above before you submit.
Projects
You can have a look on the whole schedule of each project in timeline using the projects feature.
Code Contributions
Please fork the project into your own repository. Before your pull request, make sure that you have tested all possible impacts on other parts of the project. If no certainty is assured, please reach out to our core team members to have official supports.
Code Specifications
All code must be type-annotated and follow the Code Style Guide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file leads-0.1.13.tar.gz.
File metadata
- Download URL: leads-0.1.13.tar.gz
- Upload date:
- Size: 22.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c700df58284fbef19e41c87b940f0945b604902d91a6059d6f266ff97b28256a
|
|
| MD5 |
99c1a7aefb645aa9cf069613d6626fc7
|
|
| BLAKE2b-256 |
37f23d8f5638f607d9088ef6dca94e078936e073bf0b2af0fb44baf1a9df5a47
|
File details
Details for the file leads-0.1.13-py3-none-any.whl.
File metadata
- Download URL: leads-0.1.13-py3-none-any.whl
- Upload date:
- Size: 27.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0a6641441d500c94b7a580676bfa642d0876d15244478d2166931587788c016b
|
|
| MD5 |
dd041b95d3117a2964b23bdf79027e5e
|
|
| BLAKE2b-256 |
6a2078fe4790aa458160a9f80b8d0e87dc505b97e19f357a97817ad42d1a5f61
|