"I've come across open-source projects like ArduPilot that are commonly used with microcontrollers like Pixhawk for unmanned aircraft. However, I'm unsure whether these systems can be adapted for use in manned aircraft. My knowledge of control algorithms in manned aviation is limited to basic concepts like PID controllers. I would greatly appreciate it if someone could kindly provide insights into the control algorithms employed in manned aircraft and share guidance on developing communication protocols for such systems. Your expertise in this area would be immensely helpful. Thank you.
-
$\begingroup$ Simple aircraft use pushrods and cables for their flight controls. Manned aircraft using fly-by-wire controls do so with extremely sophisticated software that include carefully verified algorithms and extensive backups -- not at all the stuff of "limited knowledge of basic concepts." You're going to need a lot more knowledge than can be gained on an internet forum before you're ready to "develop communications protocols for such {manned} systems." There are discussions on Av.SE of fly-by-wire designs and certification requirements, but this question as it stands is far too broad. $\endgroup$– Ralph J ♦Sep 9 at 17:44
-
$\begingroup$ There's not a single computer on a transport aircraft. Navigation is not the same than autothrotle or engine control (FADEC), and control surfaces have their own controllers which use different "laws" in case of failure. Some of these computers run on real-time OSes. So which function do you want to compare to Arduino application? Related: Airbus control architecture - where does the actual autopilot live? $\endgroup$– minsSep 9 at 21:28
-
$\begingroup$ The design configuration of an octocopter is supported by Ardupilot. There's also a single-seat manned aircraft called the Jetson One, which has a design that resembles an octocopter. As a result, the control surfaces on both of these aircraft may appear similar. Then, why not use open-source software, given that the configuration is supported by these software packages? $\endgroup$– Rohit AnandSep 10 at 7:45
1 Answer
The primary difference is liability, which drives a chain of other items.
There is an expectation of the various parties involved in approving, licensing and insuring aircraft that there is a clearly designated chain of responsibility to the various decisions and actions should something turn out to be wrong.
So it would be perfectly feasible to take an open source autopilot and slap it into a full sized aircraft registered for experimental use, and quite possibly it would not immediately crash*. However if you want to operate outside the experimental limitations (actually have a useful aircraft) you will need to convince various parties that your autopilot is safe. And saying 'I downloaded software built by strangers from the internet' will not go very far.
The process from here would be basically a line by line effort documenting and explaining how the software worked and makes decisions, and how those decisions maximize safety. This is probably easier than building an autopilot from scratch but still a multi man year project. At the end of it you would be taking liability for any unfortunate outcomes of the system working as designed, which possibly should give you pause if you have had much involvement in crowd sourced software.
- Some reasons why a model aircraft autopilot might sorta work but run into trouble entrusted with a full sized aircraft without re-design include:
Different aerodynamic behavior due to scale so various constants will be wrong.
Square cube law will mean that controls will respond slower/have more inertia than at model scale leading to induced oscillation.
Square cube law also means structure safety and power margins are lower, so less aggressive control actions required to avoid mid air destruction.
Unmanned vehicles detecting failure should find a safe place to crash ASAP to protect those on the ground. A manned aircraft probably should not still have 'crash now' code in it or at least very carefully tuned.
Handling disputes between humans and autopilot for control.
To achieve higher reliability redundancy is involved which means programming systems to read from duplicate sensors, and have multiple controllers with some sort of arbitration managing which actually pilots the vehicle. Dealing with noisy/stale/lying data in aircraft is a still a hard problem.
-
1$\begingroup$ And saying 'I downloaded software built by strangers from the internet' will not go very far 😅 $\endgroup$– sophitSep 11 at 14:19