Post 5. MAAXX Europe. Quaternions, control code and PIDs.

In this last post of the series I shall overview the main program including the control algorithms for the Groundhog.  Code is written in Python, using Dronekit and OpenCV all running on a Raspberry Pi 3.

As we are flying indoors without GPS and also without optical flow, we are using quaternions to control the vehicle in the GUIDED_NOGPS flight mode of ArduCopter.  To be honest, I’ve not come across anyone else doing this before, so it must be a good idea…

Continue reading “Post 5. MAAXX Europe. Quaternions, control code and PIDs.”

Advertisements

Post 4. MAAXX Europe. Connecting the Pi 3 to the Pixhawk

In this short blog series I’m outlining the hardware and software of The Groundhog, my entry into the recent MAAXX-Europe autonomous drone competition held at the University of the West of England, Bristol.

Connecting the Raspberry Pi 3 to the Pixhawk took quite some working out, so I am hoping that by publishing my own step by step checklist, it may help others save a little time. Continue reading “Post 4. MAAXX Europe. Connecting the Pi 3 to the Pixhawk”

Post 3. MAAXX-Europe. Image processing for line following.

wp_20170213_17_13_58_pro
PiCam 2 stabilised for roll and pitch

In this short blog series I’m outlining the hardware and software of The Groundhog, my entry into the recent MAAXX-Europe autonomous drone competition held at the University of the West of England, Bristol.

In this post I shall overview the approach taken to the image recognition system used to track the line being followed around the track.  Remember the line is red, about 50mm across and forms an oval track 20m by 6m.  We are attempting to race around as fast as we can, avoiding other UAVs if necessary.

Continue reading “Post 3. MAAXX-Europe. Image processing for line following.”

Post 2. MAAXX-Europe. The Groundhog Hardware

wp_20170213_17_13_01_pro

The Groundhog Hardware

The Groundhog was at least twice as big and probably three time as heavy as many other competitors.  Why?  Because it is built for endurance (flight time 35mins+) and also because it’s what I have as my development platform.  It normally flies outdoors of course…

Ah, so that means no gps and flying less than 30cm from the ground also rules out an optical flow camera (they can’t focus that close).  So how to control this thing?

Continue reading “Post 2. MAAXX-Europe. The Groundhog Hardware”

Post 1. MAAXX-Europe 2017

wp_20170212_15_57_34_pro

The Challenge

I recently entered the first MAAXX-Europe competition to be held at the University of the West of England (UWE).  On the surface it’s a simple challenge in which UAVs must follow an oval circuit of one red line, around 20m by 6m.  However, this proved to be anything but simple and with few rules about how many could be on the circuit at the same time…  you get the idea!

So before you read further, I didn’t win (I came 4th of 6, which I am pleased with as a hobbyist up against university teams).  However, my hexacopter did complete a lap and I now know exactly what worked really well and what didn’t!  And it’s that knowledge I wish to share as part of the payback for all the open-source community help I have had in the last year. Continue reading “Post 1. MAAXX-Europe 2017”

03. MRes in UAV Co-operative Mapping. Getting Control of the Flight Management Computer

WP_20150602_11_27_21_Pro
Connecting the Pixhawk FMU to a Raspberry Pi 2

 

Project Recap:

My Masters project within the Bristol Robotics Laboratory is to design a system of UAVs that can be deployed in groups to co-operatively map the structure of their environment.  This is envisaged as an internal environment, however it is expected that the technologies developed may be additionally adapted for external mapping.  This series of posts documents key elements of the project.  So far we have set the objectives and built an airframe based on a standard 450 quadcopter configuration.

Post Objective:

An on-board Raspberry Pi will have overall control of the UAV.  This post shows how we can set up communications between the Raspberry Pi 2 and a Pixhawk flight management unit,  using the Mavlink messaging protocol, so that the Raspberry Pi can take control of navigation.

Continue reading “03. MRes in UAV Co-operative Mapping. Getting Control of the Flight Management Computer”

02. MRes in UAV Co-operative Mapping. Airframe Construction.

WP_20150520_12_42_23_Pro
Two on-board computers and plenty of space for sensors. Oh yes, it flies rather well too!

Project Recap:

My Masters project within the Bristol Robotics Laboratory is to design a system of UAVs that can be deployed in groups to co-operatively map the structure of their environment.  This is envisaged as an internal environment, however it is expected that the technologies developed may be additionally adapted for external mapping.  This series of posts documents key elements of the project.

Post Objective:

This post shows the construction of the new airframe being used for development.

Continue reading “02. MRes in UAV Co-operative Mapping. Airframe Construction.”