MAAXX Europe 2018 DroneJam Coding MasterClass

DSC_0118

(Nb. All resources for this post can be found on GitHub at https://github.com/mikeisted/maaxxeurope2018)

It’s been a while since my last post.  My research has since moved towards the use of machine learning in UAVs and so my trusty Groundhog now sports a Jetson TX2 instead of a Raspberry Pi and an Intel Realsense depthcam for ‘deep vision’ to match it’s deep learning capabilities.  But I digress… so I’ll blog more on this another time…

This post is about the DroneJam coding masterclass for autonomous UAV ‘newbies’ I ran for this year’s MAAXX Europe autonomous drone competition, held in March at the University of the West of England.

Continue reading “MAAXX Europe 2018 DroneJam Coding MasterClass”

Advertisement

Groundhog Autonomous UAV – Going faster with sunglasses

The Groundhog is being developed to line-follow at low altitude and higher speeds.  This video is of the field testing taking the speed up to 1.75 m/s.  It also explains why the Groundhog now sports sunglasses.

The Track

An oval of 50mm red webbing, bends of radius approx 3m and straights of approx 15m. Testing took place in early morning with glancing sunlight on dew-soaked webbing – great for walking the dog but not so good for computer-vision.

Continue reading “Groundhog Autonomous UAV – Going faster with sunglasses”

Groundhog UAV curved line following

groundhogcurve
Part of a series of videos and blogs tracking the development of The Groundhog, which was entered into the MAAXX Europe 2017 competition earlier this year.
Having successfully tested the re-written code to follow straight lines using velocity vectors for control and NED space mapping for line detection, we test it around a 50m track comprising 50mm wide red webbing – and we speed it up a bit as well.

The test turned out to be quite successful, with following speeds of 1.5m/s achieved under autonomous control provided by an on-board Raspberry Pi 3.  This is significantly faster than the winning UAV in MAAXX Europe this year, which is quite pleasing!

The YouTube video shows both on-board and off-board camera footage, the former demonstrating the roaming regions of interest used by OpenCV to maintain a lock under varying lighting conditions.

Continue reading “Groundhog UAV curved line following”

The Groundhog UAV. Line following using velocity vectors – initial testing.

Several lessons were identified here  from the entry of The Groundhog hexacopter in the MAAXX Europe competition earlier this year.

Current developments are around correcting the issues so that we get a UAV successfully lapping the oval track at a minimum average speed of 1m/s.

A number of changes in approach have been made from that previously blogged.  Recall the platform is based on a combination of Pixhawk/Raspberry Pi3/OpenCV/Dronekit.

Image analysis:

  1. The birds eye view image transformation in OpenCV was causing segmentation faults on the RPi.  Instead the position and bearing of the detected line is calculated using straight trigonometry.
  2. Improvements made to the ranging ROI bands to further speed-up the frame rate.  This is now at a reported 50fps (which is faster than the PiCam is supplying them).

Control algorithms:

  1. The use of quaternions has been temporarily suspended in favour of control by velocity vectors.

As in MAAXX Europe, it makes sense to initially test on a straight line.  Initial testing was conducted outdoors using red-seatbelt webbing for the line.  It was not possible to fly below about 2m as the propwash blew the line away (will sort that next time!).

Initial Testing (Links to YouTube Video).

Video – Groundhog UAV initial testing on straight line.

 

 

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

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”