ARDrone Graph Traversal

Collaborators: Michael Dicke, Andrew Speers and Michael Jenkin

What’s the ARDrone?

The ARDrone is a commercially available quadrotor vehicle commonly sold as a high-tech toy.

What do you mean by graph traversal?

We have built boxes with customized ARTags place on the outside of each of these boxes.  These boxes we treat as nodes in the environment.  The rough relation between nodes in the space is known to the system.  This way, when the robot has reached one of the nodes and “docked” by hovering on-top of the box, the robot can orient itself towards the next goal in the graph structure and start searching for the tags on the node.  This allows for simple traversal through spaces.

What does it take to accomplish?

A PID controller has been implemented in order to send velocity commands to the robot while tracking, approaching and docking with nodes.  A computer vision algorithm segments the tags in the environment and allows for us to know the location and orientation of the tag relative to the quadrotor as well as receive a unique tag id letting us know what face of what node is in the view of the camera.  A state machine then governs the high level coordination required to perform the general navigation task.

Where are we now?

The video above we call “Target Acquired” shows our searching functionality as well as methods for approaching the target.  Once the quadrotor has effectively reduced the error between it’s current position/orientation and a target position located one 1 meter away from the face of the node with the optical axis in line with the normal of the tag located in the center of the tag the state machine transitions to searching for the next node in the list.  Here two nodes are in the graph structure and we send the robot back and forth between them.

Check out the current state of the project here on GitHub.


Copyright 2013 Andrew Speers