Git Product home page Git Product logo

cloud-robotics-ftc's Introduction

Cloud-Robotics FTC Coded by Hunter Webb (README author) and Bryce Lutz

Code from the 2020 FTC team of Cloud Robotics.

Acknowledgements

The pathing code to spline together curved paths is provided by Road Runner.

The Neural Network is done with Easy Opencv in tangent with the YOLO RNN framework from darknet

Installation

For more detailed instructions on getting Road Runner setup in your own project, see the Road Runner README.

  1. Download or clone this repo with git clone https://github.com/acmerobotics/road-runner-quickstart.

  2. Open the project in Android Studio and build TeamCode like any other ftc_app project.

  3. Add in the dependencies from Road Runner's README and EasyOpenCV's README

Steps to Create a Custom NN

  1. Download the dependencies mentioned by AlexeyAB to install darknet
  2. Make a dataset of images (a hundred / object for simple objects works, and include images without the object to leave blank)
  3. Label the images (I used LabelImg) with the yolo setting turned on (for the images without the objects
  4. Create the configuration files for training an object instructions here
  5. Download darknet53.conv.74
  6. (I used Windows PowerShell) Navigate to the darknet file and start training (example code shown below, but change files based on what you named them)
.\darknet detector train data/obj.data yolo-obj.cfg darknet53.conv.74

Tips for Creating a Custom Neural Network for FTC

Follow AlexeyAB's instructions for training a custom neural network

Dataset Creation / Labeling:

It is very important to label all of the object that you want to identify in the images you have, otherwise the neural network will have a very hard training when it keeps identifying an object correctly and being told that it is wrong

The best labeling tool I found for creating my custom dataset for Skystone and Stones (of around 325 photos) was LabelImg

For objects that are obscured, label the part that is visible

Neural Network Size:

I found that it was necessary to use the YOLO-tiny configuration for the processing power of our SamsungGalaxyS5

Helpful Sources

Road Runner's online quickstart documentation.

Darknet's YOLO documentation

For more information on how YOLO works, watch Joseph Redmon's TED Talk:

IMAGE ALT TEXT HERE

Bugs

Currently there is a bug where files duplicate themselves causing names which break the gradle build, and to fix this type

.\gradlew clean

into the terminal of the project (for IntelliJ, the terminal can be found with View-ToolWindows-Terminal)

cloud-robotics-ftc's People

Contributors

rbrott avatar ftctechnh avatar tomeng70 avatar redh11 avatar calkestis avatar blutz7269 avatar maciej4 avatar rgatkinson avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.