Why automate the flight of a UAV? While flying with a radio transmitter in hand may be straight forward, there are times when automation is ideal. One example might be when things become so repetitive that the efficiency of automation just makes sense. Imagine flying the same simple route for surveillance of an area over and over day after day. This may cause one to lose some sense of sanity after only a short period.
Other times, flying manually may not be possible. Take the planned mars drone that will work with the mars rover in future missions. With a 20 minute lag time it takes for radio signal to leave earth and reach mars, there is no reasonable method of manually flying a drone. Looking at the drones location, programmers will send code for an automated flight they planned ahead. Once the drone has the complete program, they can simply tell it to start the program and wait for it to handle it itself. Check out this video on how engineers are overcoming issues with flying drones on another world.
How do programmers write code? If you have ever seen computer code, it can look overwhelming. Where would they even begin?
Programmers will start with the big picture, the overall goal. They will then determine what are the main steps needed to complete that goal. Finally they will get into the detail of each of those steps. This process is called Pseudo code. Writing out the process in a sequential order first, and then later they can create the small pieces of code for each step.
Program Behavior Hierarchy;
Complex > Simple > Basic