Intelligent RC car
Background:
We have a traxxas RC equipped with a raspberry pi/Jetson nano, camera and a 5g Modem. A PoC implementation in Pion (https://pion.ly/) to communicate and control the car over the network (stream video and send control commands). The car is controlled by a remote operator via a web-browser. The operator modify the throttle (forward and reverse), steer left and right and press the brakes
Task:
A remote controlled car should contain a security system that in a safe manner make the car avoid crashing into objects, if contact with the operator is lost or a object is blocking the path. The safety system should via the mounted camera be able to detect and recognise common objects.
Main tasks:
- Detect and recognise static objects in the path
- Limited self driving
- The system should take the appropriate action (steer around or brake) based on the detected objects in the path.
- Start emergency driving mode if the contact is lost for a limited amount of time.
Bonus tasks:
- More actions once a object is detected (e.g. speed up/down)
- Self driving to reach a target point.
- Moving objects and intention prediction.
Epic:
The system will build upon previous project(s) : https://git.cs.kau.se/research/dwr/picarl that have done the basic work. The exact epics and sub-task will be discussed and evaluated with the development team but should consist of the following:
- ML/AI algorithms
- Detection and recognition
- Reinforcement learning (bonus)
- Intention Prediction (bonus)
- Evaluation
- Technical integration and evaluation (eg do we need more sensors)
Research Question:
Evaluate and compare the efficiency of different ML algorithms and/or the possibility to use Edge Computing to offload image processing and detection/recognition/intention prediction.
Legal and Technical Requirements:
The source code produced in this project should be published under a copyleft license (ie GPL 3). Focus will be on product readiness and stability. All code must adhere to common best practices and follow standardized language conventions. Code checks, tests and build procedures should be automated (gitlab-ci) as much as possible and the outcome (build package) should directly be installable in the host OS.