Infernus

Self Driving Car built using OpenCV, Tensorflow and Arduino

About the files

arduino/
    carController.ino: Arduino code for controlling the car

test files/
    rc_control_test.py: RC car control with keyboard
    stream_server_test.py: video streaming from Pi to computer
    ultrasonic_server_test.py: sensor data streaming from Pi to computer
   
client data streaming files/
    stream_client.py: stream video frames in jpeg format to the host computer
    ultrasonic_client.py: send distance data measured by sensor to the host computer

neural networks/
    old codes/
        codes for testing
    saved_models/
        OpenCV neural network models
    training data/
        training data saved in .npz format
   
    collect_training_data.py: collect images in grayscale, data saved as *.npz
    model.py: neural network model
    model_test.h5: keras neural network model
    rc_driver_keras2.py: code to be run on Pi
    rc_keras5.py: receive data from Raspberry Pi and drive the car based on model prediction
    rc_driver_nn_only.py: simplified rc_driver.py without object detection

kerasInfernus.ipynb: Jupyter notebook for training Tensorflow model