https://youtu.be/QcF_GyHxAbs - Full overview
https://youtu.be/6oKXf77ebHk - IOTA payment
https://medium.com/@jawilk/autonomous-rc-car-pays-for-barrier-on-its-own-using-iota-ab5cc6db6038
This repository contains code for several autonomous car techniques applied to an RC-Car. It is splitted in a "pipeline" and a "program" part, respectively. The "pipeline" part contains the whole project as it was served to the PC, Arduino and Raspberry Pi. This code was able to drive the car around the track and contains the logic for connecting the different parts of the project.
However, since I assume the pipeline approach would not generalize well to other environment conditions, the "program" part contains standalone code for every single technique that was used in the original pipeline, without any connections in-between.
Even if there are several different features, the main focus of this project was to make the car to pay for the barrier on its own, without human interaction.
Further code/explanations can be found within the certain folders.
- The first goal was to make the pipeline working, so more or less basic techniques were used for setting it all up. In the future certain parts can be replaced with more sophisticated techniques
- Right now the transaction time is not acceptable for a useful system, but this shouldn't be a future issue (with many more users) regarding the tangle architecture
- Improve the payment process with device identification and/or other data exchange protocols (e.g. TCP/IP)
- Use IOTA's MAM/WebRTC/MQTT
- Path planning to park the car in a more reliable way in front of the barrier
- Add another barrier and let the car pay for the time difference between passing 1st and 2nd barrier
PC
- python 3.5.5
- keras 2.2.0
- tensorflow 1.9.0
- opencv 3.2.0
- pyota 2.0.6
- zxing 0.9.3
Raspberry Pi 3B:
- keras 2.2.0
- tensorflow 1.9.0
-
A great help and inspiration was this project by Zheng Wang:
https://zhengludwig.wordpress.com/projects/self-driving-rc-car/
https://github.com/hamuchiwa/AutoRCCar -
Krasheninnikov, Dmitrii. “AUTONOMOUS CONTROL OF A RC CAR WITH A CONVOLUTIONAL NEURAL NETWORK.”, 2017 https://www.theseus.fi/bitstream/handle/10024/126220/Krasheninnikov_Dmitrii.pdf?sequence=1
-
Udacity Self-Driving Car Engineer Nanodegree (Part 1)
More sources can be found in the specific "program" sections.