Semi-autonomous lane keeping system based on C++ & OpenCV 4.x.
Project for my engineering thesis at AGH University of Science and Technology [WIMiIP].
Linux: ./build.sh
Windows: Using Visual Studio 2019
Linux: ./build.sh install
Windows: Download OpenCV in version 4.1.1 and extract it to C:\opencv
then copy all files from C:\opencv\build\x64\vc15\bin
to VisualStudio\x64\Debug
and Release
directories
Task & Commit | Date |
---|---|
Finished readme | 2020-03-18 |
Build tools | 2020-03-20 |
Lane detection | 2020-03-20 |
Hysteresis | 2020-03-21 |
- Software
- Build tools
- Road lane recognition
- Turn prediction
- Hysteresis
- Optimization
- Multi-threading
- ARM NEON optimizations
- PID controller for steering angle calculation
- Hardware
- Opel EPS-4400 reverse engineering
- Gather all necessary datasheets
- Board schematics based on PCB
- Inject own steering signals
- Prevent triggering DTCs (Diagnostic Trouble Codes)
- Raspberry Pi 4 <-> Power steering
- Communication
- Opel EPS-4400 reverse engineering
- Safety measures
- Software
- Hardware
General concept
https://medium.com/@mrhwick/simple-lane-detection-with-opencv-bfeb6ae54ec0
https://medium.com/pharos-production/road-lane-recognition-with-opencv-and-ios-a892a3ab635c
Use of Gaussian blur & simple turn prediction
https://github.com/MichiMaestre/Lane-Detection-for-Autonomous-Cars
PID Controller
https://en.wikipedia.org/wiki/PID_controller
https://www.youtube.com/watch?v=4Y7zG48uHRo