The task was to fly the drone in a square, and although there was no modeling of the physics of flight or sensors in the assignment, there was the challenge of programming the flight computer in such a way that competing goals (like collision avoidance) could flexibly assume control under appropriate conditions.
My solution is in GitHub, but here’s a sample of my writeup:
Autonomous flight is goverend by two sets of interacting control loops. The autopilot loop is responsible for low-level maintenance of flight goals. Its responsibilities are analogous to the “aviate” in “aviate, navigate, communicate”. Specifically, the autopilot has direct access to the flight sensors and GPS and can maintain station, or be programmed with and achieve a particular heading or destination.
The autopilot loop consists of:
control inputs made by the autopilot upon the craft’s flight surfaces or motors
the motion of the craft as effected by those flight surfaces or motors
the readings of the craft’s sensors, as effected by the motion of the craft
the new control inputs made by the autopilot as effected by its readings of its sensors
I proudly logged my first hour of flight this week as a student pilot. I met my instructor in the late afternoon at Boeing Field, and after a thorough inspection of the Cessna 150 and taxiing to the runway we departed from the north end of Boeing Field. We did some loops around the lakes and sloughs of west of Seattle, flew over the University of Washington, and then returned to Boeing Field.
Some things were just like the simulator: to fly you go fast and then you can go up. It’s a bit like time traveling in Back to the Future, only when you hit that critical speed the third dimension that opens up to you is z instead of t. And crosswind landings are tough: you have to fly straight with respect to the ground below you but at an angle with respect to the wind. Every landing that I’ve done in the simulator so far must have been with little to no cross wind; I’ll be sure to adjust that.
My biggest note is that landing a plane is not something you do in real time. It seems that landing is an action that you set up a minute or two ahead of time: get to a proper elevation at a proper distance from the airport with a proper rate of descent dialed into your elevator trim tab with the help of a proper flaps setting. If you get it all perfect, then your landing is already “made” hundreds of feet in advance of the runway; the pilot only has to make adjustments and perform the final flare.
Now I’m waiting on my medical certificate before further flights! My flight exam turned up a couple of conditions that require further documentation. I’m aiming for a second class medical rating, which will qualify me to ultimately pursue a commercial pilot’s license.