Skip to content
Self driving RC-car pays for car barrier on its own. This repository contains code for some autonomous car techniques applied to an RC-Car.
Python C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pipeline
program
project_images
LICENSE.md Add LICENSE.md Aug 25, 2018
README.md

README.md

Self-Driving-RC-Car-Payment

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

alt text alt text alt text alt text alt text

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.

alt text alt text alt text alt text

Track overview

alt text

alt text

(Made with draw.io)

Shortcomings

  • 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

Improvements

  • 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

Dependencies

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

Sources

More sources can be found in the specific "program" sections.

Ideas for future improvements/Other inspirational sources

You can’t perform that action at this time.