I have recently read about the PX4 which is an alternative to APM2.5 running on an ARM CPU and supported by a RTOS.
I understand that ARM CPU's are orders of magnitude faster than microcontrollers (MCUs) but appart from that I am not sure I understand the interest and added value of running the computation of IMU fusion, auto-pilot and motor control on an RTOS rather than on an arduino as is done by the APM. It seems to me that programming an RTOS is much more complex than programming an MCU (due to the parallel nature of the interrupts handlers and the complexity of an OS in kernel mode). Anyone has a clearer view than me on what the added value of the RTOS complexity is?
Basically I find the PX4 really cool, but I am not sure why ;)
Do you mean that programming with a MCU does not nead any RTOS?
Nope. Arducopter on APM is running "bare metal" which means there is no operating system. There is a scheduler running, but it's all hard-coded.
Autopilots can be complex beasts, and their nature has many tasks running in parallel. So once you get past the initial learning curve of a RTOS, it is actually much more efficient and easier to make a autopilot with.