Giter Club home page Giter Club logo

eogmadrive's Introduction

EOgmaDrive

Repository for the EOgmaNeo-based self driving car (SDC).

Three sub-directories contain Readme.md files that further describes each configuration. A summary for each configuration is presented below.

Included are two configurations (1 & 2) used to build a 1/10 scale 2WD RC self driving car, and a third configuration to create a hand-sized 3D printed self driving car (uSDC).

Configuration1 was used in producing the following Ogma YouTube video:

Self Driving Car Learns Online and On-board on Raspberry Pi 3

Configuration3 appears in the first issue of the HackSpace magazine (December 2017), as a project on HackADay.io, and was used in producing the following Ogma YouTube video:

World's Smallest Self-Driving Car - a Raspberry Pi Zero on wheels..

As seen in the above video, an InfiniTrax "1080 BEAST" modular track was used with the uSDC.

A Unity based simulation OgmaDrive was used to prototype the SDC, using C# scripts and the EOgmaNeo library.

Configuration1

  • Steam Controller with wireless dongle

SDC:

  • Traxxas Rustler RC car
  • Raspberry Pi3
  • Pi Camera v2
  • Pi Camera case
  • Active cooling case "Eleduino Raspberry Pi 3 and Raspberry Pi 2 Model B Acrylic Case with High Quality Mini Fan"
  • 2 pcs 18650 batteries with battery pack (for powering the steering servo)
  • Arduino UNO
  • Breadboard
  • Anker PowerCore 10000 (for powering the Pi)
  • Using fast event-based version of EOgmaNeo + OpenCV's Canny Edge + PySerial (for Arduino communication)

RF Version Extra:

  • Pi-Top with Raspberry Pi 3
  • Arduino UNO (or Leonardo, USB to RPi)
  • RF Transmitter/Receiver Modules "Makerfocus 2pcs Wireless Module NRF24L01+PA+LNA in Antistatic Foam Arduino Compatible with Antenna"

Configuration2

Base station, for limited communication with the SDC:

  • Pi-Top
  • Raspberry Pi3
  • Arduino UNO (or Leonardo, USB to RPi)
  • XBee Arduino shield (v1.0 or modified v1.3)
  • XBee Pro (S1, with u.fl antenna)

SDC:

  • Traxxas Rustler RC car (optional clear body)
  • Raspberry Pi3
  • Raspberry Camera (mounted to front bumper)
  • Pimoroni Pibow case
  • Freetronics PiLeven (i2c to RPi, UART to XBee)
  • XBee Arduino shield (v1.0 or modified v1.3)
  • XBee Pro (S1, u.fl antenna)
  • Power Bank (to PiLeven or RPi)
  • Servo pass-through connector (attached to PiLeven)

Configuration3

  • Steam Controller with wireless dongle
  • InfiniTrax modular track system (optional)

uSDC:

  • 3D Printed base, RPi ZeroW mount, and camera mount
  • Raspberry Pi ZeroW
  • Pimoroni Explorer pHAT (motor drivers)
  • Pololu 136:1 sub-micro planetary gearmotors, wheels, and front ball caster
  • Adafruit Lithium Ion Polymer Battery, with a PowerBoost and charger module
  • SainSmart wide angle camera

License and Copyright

Creative Commons License
The work in this repository is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License. See the EOGMADRIVE_LICENSE.md and LICENSE.md files for further information.

Contact Ogma via [email protected] to discuss commercial use and licensing options.

EOgmaDrive Copyright (c) 2017 Ogma Intelligent Systems Corp. All rights reserved.

eogmadrive's People

Contributors

222464 avatar dependabot[bot] avatar rcrowder avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eogmadrive's Issues

Avoiding obstcales

Does the current configuration supports identifying and avoiding obstacles? or the model needs some sort of ultrasound sensors and lidars?

Toggling SDC mode after training causes car to move backwards (only)

Hi,
Great project! I've implemented everything just like the instructions.
The motorTest.py works very well and I don't even need to use the trimming adjust.

However when I run main.py (EOgmaNeo predictive hierarchy) to try the spin on the spot test as instructed and press the A button to toggle to SDC mode, it simply goes backwards all the way.

What could have possibly gone wrong?

Thank you.

Also the left and right variables on motorTest.py and main.py have different signs. If I use the as main.py the left/right is inverted.

motorTest.py:
left = min(1.0, max(-1.0, drive * 0.5 - drive * steer * 0.5))
right = min(1.0, max(-1.0, drive * 0.5 + drive * steer * 0.5))

main.py:
left = min(1.0, max(-1.0, drive * 0.5 + drive * steer * 0.5))
right = min(1.0, max(-1.0, drive * 0.5 - drive * steer * 0.5))

Configuration3 (uSDC)

So, im trying to make this car but i have a question, can i use other cameras? Like cheaper ones. If yes, can you link me? (~10$)

Fixed drive throttle?

The code only predicts the steering with a fixed throttle. How would I also predict the throttle to drive the car?

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.