I am interested in buying navio 2 + rpi 3 to fly a quadcopter and I have a few questions concerning the software stack.
The documentation says to install only the Emlid raspbian image. What are the differences with the normal Raspbian image? The reason I am asking this is that in the future I want to be able to change the software stack fully and this would be a problem if the emlid raspbian image was packaging a proprietary driver for Navio that was only availabe in the emlid image.
Has anyone succeeded using PX4 stack instead of APM in rpi+Navio? I am interested in hardware in the loop simulations and this seems better documented for PX4.
Has anyone managed to perform optical flow navigation on the navio+rpi2/3+rpi camera? I see people are trying PX4FLOW but the pi2/3 should be powerful enough to run optical flow software beside APM. Maybe the rpi camera is not the best for this purpose but one could use a usb2 cam.
I see that you are also somewhat supporting boards faster than rpi3 such as Odroid but how good is the support for those boards in PX4 and APM. Would you recommend them rather than rpi3?
There are no proprietary drivers for Navio, everything is open-source. Image just packs everything that is needed. You are free to change the whole stack.
There is SITL for APM, HIL is not supported because it is not compatible with inertial navigation. There is an effort within PX4 team to provide a port for Navio, but I have no data about how ready it is.
A very interesting thing indeed, we would want to give it a shot sometime.
We are absolutely not supporting any Odroids, Banana, Orange or any other fruit Pi. We recommend to stick with Pi2 or Pi3.
APM doc mentions HITL http://ardupilot.org/dev/docs/hitl-simulators.html using FlightGear and X-Plane, but this is for planes only. PX4 doc mentions HITL https://pixhawk.org/users/hil using FlightGear, X-Plane, JSBSim (planes) or jMAVSim (multicopters). I don’t see how inertial navigation is a problem. Like any other sensors, accelerometers and gyros can be replaced by simulated data coming from the simulator (of course the inertial sensors cannot be in the loop whereas you could do expensive hardware in the loop with an optical flow camera by putting it in front of a screen which renders the simulated field of view).