"Stay in your lane" challenge was to take off, move forward through a hoop, turn to the right, pass through another hoop, and land in a final hoop on the ground.
This challenge's goal was to pass through a vertical hoop, raise into the air, turn around, and pass back over the same hoop, and again land back in the original takeoff spot.
"Octagon.py" is meant to have two drones run the same octagon-shaped path, on opposite sides of each other, like synchronous dancers. However, because running two drones near each other at the same time results in a lot of interference. We ran the code separately for a hypothetical idea of how it would run.
This code was made to have the drone run a path in the shape of a polygon with the number of sides the user inputs. If the user types in "4", the drone will make a square. If the user inputs "6", it will make a hexagon. If the number the user puts in is not a factor of 360, the code will ask the user to input another number.
"VerticalPolygon.py" was similar to the horizontal polygon code, but... can you guess?... it makes the shape up and down instead. However, because I did not have the knowledge of how to use sine and cosine in python yet, the code was made to only accommodate a 3, 4, and 5 sided shape.
(I know the instructions were to make a scrolling GIF, but my screen record app was not working at the time, so here's the whole code displayed at once.)
"Touch and Go" was a kind of unique code, as the goal was to take off, pass diagonally through a hula hoop, land on an elevated platform, take off again, and then diagonally pass through a second hula hoop, finally landing in one more hoop. However, there were a lot of people trying to use the hoops for different challenges, so our instructor said we could run this code without the course, just to see what it is supposed to look like.
Ah... circles. The most stress inducing code I have ever had to work with. Each time the "curve" function was run, there was about a 1 in 3 chance the curve command would work as intended. Sometimes it would go the wrong way, sometimes would land, and sometimes it would just remain hovering the rest of the code. And, each circle needs two functions to close.
The purpose of this code was to trace out one horizontal circle, one vertical circle, and one final diagonal circle. Sounds simple enough, but with such a low chance of each function working, and with having 6 curves to trace out, it was anything but simple.
Placed above is the absolute closest run I got to actually completing all three circles... after a total of (and yes, I checked through all of my recently deleted folder to get this number) 43 runs of the same, unchanged code.
It took off, completed the first half of all three circles, and incorrectly ran the second half of the final circle, then landed.
Attached below is a couple of my favorite captures of what exactly went down in some of these runs. Keep in mind that the numbers and functions in the code had not been changed since the very first run, except for maybe a wait time or two.Â
The actual code takes a long time to run, so everything is done in time lapse, so it might be a little hard to see what's happening. But it's fine because being able to see doesn't make anything any more or less apparent.
The bottom right was definitely my favorite fail :)