Git Product home page Git Product logo

seniorproject's Introduction

AR.Drone WayPoint Navigation Senior Project

##File/Folder Information

/archive

This contains a smorgasbord of projects for testing and implementation. At this point, they are obsolete, but haven't been deleted just in case we need them again.


/ATCommand

This is a folder where we test changes to our command library. The command files here are identical to the navigation_statemachine folder. This is because Arduino doesn't currently support referencing files from different folder's than the sketch folder.

ATCommand.ino

This is the test file for our command library.

Command.h

Same as in /navigation_statemachine.

Streaming.h

Same as in /navigation_statemachine.


/linux

ATCom.cpp

A test file to see if the AT commands can be run on the Linux platform. Results have not been obtained yet.

init_ip.h

Header file for s2ip, definition for port number, some constant like timeout, buffer size and so on.

s2ip.c (and s2ip.arm)

The program that is compiled and run on AR.Drone. The compiler toolchain used is sourcery G++ Lite 2010q1-202 for ARM GNU/Linux [1]. It acts like a proxy between the serial connection from Arduino and the network interface of the drone. When the program runs, it receives commands from Serial TTY interface at the bottom of the drone, wraps the commands into a UDP packet, and routes the packet to the AT command receiving port of the Drone. It can also obtain packets that the Drone is sending out on the network interface, through modifying iptables on the system (please look at the source code for explanation).


/navigation_statemachine

This is where all the navigation code is stored. This folder interfaces the Command library with the Navigation algorithm to make the Drone travel the path.

Command.h

This is the command library file. It is an abstract interface for the "AT*" commands that the AR.Drone recognizes.

Streaming.h

This is a simple (external) streaming library. It allows one to simply "pipe" out most variables (i.e. Serial << "Print me:" << 23456 ) All credit to the creators who can be found in the header of the file.

navigation_statemachine.ino

This is the main Arduino sketch for the navigation algorithm. Dependencies are referenced inside the sketch.

TinyGPS.h

This is another external library which allows efficient parsing and reading of pertinent information in the GPS sentences delivered by our GPS receiver. This source code was not initially created by us, however it was modified for our needs. It now only receives GPRMC updates to correct the course. The specific code modifications can be found in the commit history of this file.ls


Credits

Electrical and Computer Engineering Department Tufts University

Copyright 2011-2012 All rights reserved. No warranty provided or inferred. Use this at your own risk, mis-understanding, or incorrect wiring may render some of your hardware obsolete. We take no responsibility for any damages you incur by using our work.

Please contact us if you would like to use this code, as there are some binary files omitted here that are necessary for functioning.

seniorproject's People

Contributors

zhengwy888 avatar shauki avatar

Watchers

James Cloos avatar Evan O'Keeffe 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.