Skip to content

This is micro size AI RC Car projects. Using Tensorflow lite for microcontroller.

License

Notifications You must be signed in to change notification settings

RumiCar-group/micro-airc

 
 

Repository files navigation

airc-micro

Overview

airc-micro is most tiny AI RC Car project. No camera, no powerful cpu and AI accelerator.

Using simple distance sensor and cheap cpu board such as ESP32, STM32F1xx.

NN is learning on cloud. And deploy to microcontroller by tensorflow lite for microcontroller.

Install

Now, this software target is ESP32-WROOM-D. You can use Arduino IDE.

Install Library

Usage

Collect training data.

  1. Enable to PidAgent

Setting pidagent to config.h AGENT_NAME.

const String AGENT_NAME="pidagent";
const String BLUETOOTH_SUFFIX="AircMicro";

Then build and flush to Your own car.

  1. Collect Data

Your car send telemetry data by Bluetooth Serial. Connect to the ESP32 from your laptop. And run below command.

$ python tools/logger.py -p <BluetoothSerial port> -f <Path to save training data>

NN learning on Google Colaboratory.

Open In Colab

You can using airccar_micro_tensorflow_keras.ipy nb for training. This notebook train NN with your own dataset. Open notebook with colab. Then upload your traing dataset. And You run all cells. At end of notebook you can download trained model as model of TensorFlow lite for microcontoroller. Further get min_value and max_value for using to normalization.

Simulation version is here: Open In Colab

Deploy model file

Replace micro-airc/src/model/airc_model.cpp with the download file. And overwrite min_value and max_value in airc_model.h

Compile and Write to Board

Setting nnagent to config.h AGENT_NAME.

const String AGENT_NAME="nnagent";
const String BLUETOOTH_SUFFIX="AircMicro";

Then build and flush to your ESP32.

Release note

Now, This is experimental project. If you interest to this project. Please contact me.

Contribution

If you find bug or want to new functions, please write issue.

If you fix your self, please fork and send pull request.

LICENSE

This software license under MIT licence.

Special Thanks.

  • RumiCar Projects.
  • TensorFlow lite for microcontroller
  • Arduino_TensorFlowLite_ESP32 by tanakamasayuki

Autor

masato-ka

About

This is micro size AI RC Car projects. Using Tensorflow lite for microcontroller.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 46.8%
  • C++ 43.7%
  • JavaScript 5.5%
  • HTML 2.3%
  • Python 1.4%
  • C 0.3%