Powerwheels Racing Autonomous Vehicle Model
Autonmous Vehicle Project at Fubar Labs for the Autonomous Powerwheels Racing compeition.
Prepare your PI
sudo apt-getupdate
sudo apt-get install python3-pip python3-dev
Get TensorFlow for PI installed (http://www.instructables.com/id/Google-Tensorflow-on-Rapsberry-Pi/)
wget https://github.com/samjabrahams/tensorflow-on-raspberry-pi/releases/download/v1.0.1/tensorflow-1.0.1-cp34-cp34m-linux_armv7l.whl
Install Tensorflow for Python 3.4
sudo pip3 install tensorflow-1.0.1-cp34-cp34m-linux_armv7l.whl
Fix a potential error message:
sudo pip3 uninstall mock
sudo pip3 install mock
Raspberry PI open cv installation:
Training system needs openCV for image review. It's a nice to have for the PI.
TODO: custom compilation information
The actual car code:
git clone https://github.com/fubarlabs/autonomous
cd autonomous
virtualenv auto -p python3
source auto/bin/activate
pip install -r requirements.txt
Code is installed from the Raspberry PI using PLatform IO
sudo pip install platformio
Platform IO is only Python 2.7 but it can program the Arduino. In our chase it's the Fubarion SD board.
Arduino code location: ./autonomous/arduino
cd arduino
MOTTO: Small RC Car Collection Code: MOTTOServoDtaSampleDelay.ino
cd MOTTOServoDataSampleDelay
pio run -t upload
Full Auto Code: MOTTOFullAutoDrive.ino
cd MOTTOFUllAutoDrive.ino
pio run -t upload
OTTO: Power Wheels Autonomus Collection Code: NewOTTOFullAutoDrive.ino
cd NewOTTOFUllAutoDrive.ino
pio run -t upload
Full Auto Code: NewOTTOFullAutoDrive.ino
cd NewOTTOFUllAutoDrive.ino
pio run -t upload
Data collection is done as a Raspberry PI service. The folder services contains:
ottologger.py
ottologger.service
Copy ottologger.py /usr/local/bin
register ottologer.service as a system service
Switch on pin 4 enables and disables collection
LED on pin 11 shows the status of collection
Autonomous Project Documenatation
Simple model in basic_model.py
. Currently linear with mean squared error loss (summed over outputs?)
Driving model is in current_model.py
. Weights are on Google Drive. Line 74 of the model will have to be changed to reflect the true location/name of the weights file.