Giter Club home page Giter Club logo

drone-tracking's Introduction

Control of an Eachine E010

Eachine E010 with an ArUco marker

Control an Eachine E010 drone from a computer using Python, a webcam and an ArUco marker.

Using work from @goebish (transmitter protocol) and @perrytsao (input through serial port).

Video

Click on the GIF to see the video. Video

Hardware Setup

  • Eachine E010 drone (about $15)
  • Arduino Uno (about $18)
  • 2.4GHz nRF24L01+ Wireless Card (about $1.7 each)
  • Socket adapter with on-board 3.3V regulator (about $1.3 each)
  • A few male to female jumper wires (here for instance)
  • A webcam with a low latency
  • A printer
  • Double-sided tape

Software Setup

How-To

  1. Connect the nRF24L01+ to the Arduino Uno using perrystao's tutorial.
  2. Upload nrF24_multipro/nRF24_multipro.ino to your Arduino Uno. You have to modify it if your drone is not an E010 drone.
  3. Calibrate your camera using for instance the calibrate.py example in the OpenCV sources. Don't forget to specify the size of your chessboard and the size of the squares in the unit you want to use.
  4. Print a board of ArUco markers that fit on your drone. I used this one for the E010 drone.
  5. Stick the marker to your drone.
  6. Put the drone where you want the origin of your world coordinates to be, in the right orientation.
  7. In define_origin.py: specify the camera channel, the location of your calibration parameters and the size of your marker.
  8. Run define_origin.py, and press the space bar when the origin marker is detected.
  9. In threadedFly.py: specify the ID of the ArUco marker that you put on the drone, its size, the camera channel, the port your Arduino Uno is plugged to, the location of your calibration parameters, the location of your origin.npz file.
  10. Run threadedFly.py.
  11. Tune the PID controller gains to make your drone fly as you please.
  12. Design your own controller, trajectories, etc. Have fun!

drone-tracking's People

Contributors

partomatl avatar

Watchers

 avatar  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.