godrone

module
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 25, 2013 License: AGPL-3.0, AGPL-3.0-or-later

README

godrone

An open firmware for the Parrot AR Drone 2 written in Go.

Status

This project is a work in progress, but the following things should work:

  • Navboard driver
  • Motorboard driver
  • Complementary flight stablization filter
  • Gamepad control via WebSocket / HTML5 Gamepad API
  • Basic flight!

A 0.1 release will be announced soon. It will come with binary installers for OSX, Linux and Windows.

Roadmap

The following things still need to be implemented:

  • Ultrasound height detection
  • Battery status
  • Reset motor emergency mode
  • High level API for writing apps
  • Camera Access
  • Optical flow tracking for bottom camera / better hover stabilization
  • Kalman filter (supposedly better performance than complementary filter)
  • Parrot UDP protocol
  • Parrot TCP Video Protocol
  • JS scripting

Motivation

This project is mainly a personal challenge I set for myself.

However, if it turns out well, this firmware may become a viable replacement for the Parrot AR Drone firmware, allowing for a few interesting use cases:

  • Education: Demonstrate quad copter physics, by controlling motors individually.
  • Autonomy: Write autonomous drone software that requires no Wi-Fi connection / client to be connected.
  • HTML client: Control the drone from the web browser of any device via HTML / JS / WebSockets. No need for custom apps.
  • Acrobatics: Teach the drone new acrobatic tricks and allow for more aggresive flight.
  • Hackability: Easy support for additional devices connected to the drone (GPS, Sensors, Lasers, etc.)

Directories

Path Synopsis
Package attitude contains algorithm for determining the drones position relative to the ground.
Package attitude contains algorithm for determining the drones position relative to the ground.
cmd
deploy
Command deploy allows people to deploy and run GoDrone binaries on their ardrone.
Command deploy allows people to deploy and run GoDrone binaries on their ardrone.
godrone
Command godrone implements the GoDrone firmware.
Command godrone implements the GoDrone firmware.
Package control implements flight stablization.
Package control implements flight stablization.
drivers
motorboard
Package motorboard implements a driver for the Parrot AR Drone 2.0 motorboard.
Package motorboard implements a driver for the Parrot AR Drone 2.0 motorboard.
navboard
Package navboard implements a driver for the Parrot AR Drone 2.0 navboard.
Package navboard implements a driver for the Parrot AR Drone 2.0 navboard.
Package http implements the HTTP interface for GoDrone.
Package http implements the HTTP interface for GoDrone.
fs
Package fs holds the assets for the HTML UI.
Package fs holds the assets for the HTML UI.
Package imu holds the generic imu.Data type.
Package imu holds the generic imu.Data type.
Package log provides the log interface used by all godrone packages.
Package log provides the log interface used by all godrone packages.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL