Explications NuttX, PX4, PixHawk, DroPix et ArduRover

Bonjour,

Après moult recherches sur internet, il est difficile de voir clairement parmi tout ces noms de Firmware/OS/Software.

Je vais dans un premier temps expliquer ce que j’ai compris.

NuttX est un OS opensource temps-réel permettant diverses choses.

PX4 est une amélioration de NuttX (donc toujours un OS) pour les contrôleurs de robots (PiXHawk, APM, autre).

PixHawk c’est un modèle de contrôleur. Ce n’est pas un OS, on est d’accord ?

DroPix est un contrôleur utilisant une version made-in-Drotek de NuttX comme OS.

ArduRover est le Firmware chargé (notamment grâce à MissionPlanner) sur le contrôleur.

On a donc une couche OS (NuttX/PX4) et une couche firmware (ArduRover).

Finalement, je cherche à bien comprendre tout cela. Si quelqu’un peut m’expliquer tout cela, ou si j’ai tout bien compris.

In fine, je souhaite être capable de modifier, compiler, builder et charger sur la cible le code source de l’OS et du firmware. Le problème étant que ce que j’ai compris n’est pas trop compatible avec les tutos que je rencontre (http://ardupilot.org/dev/docs/editing-the-code-with-eclipse.html).

Merci d’avance pour vos explications.

Sylvain.

Je vous confirme que la Dropix et Pixhawk sont des contrôleurs de vol qui peuvent utiliser le code PX4 ou Ardupilot. Oui l’OS est bien NuttX.

NuttX est un OS temps réel compatible sur STM32 (le processeur utilisé dans la Pixhawk/Dropix).

PX4 est composé d’une couche middleware (gérant les drivers, les systèmes de données, etc…) et d’une couche flight stack (gérant les algorithmes de navigation etc…). NuttX sert de support à PX4, surtout au niveau du multi-threading, en ce sens ce n’est pas une amélioration de l’OS mais un programme qui utilise cet OS. Lorsque vous installez la toolchain, vous pouvez modifier le code PX4 et le compiler au sein de NuttX.

ArduPilot est une alternative à PX4, qui utilise également NuttX comme support. Aujourd’hui les deux communautés offrent sensiblement les mêmes fonctionnalités.

Pixhawk et Dropix sont des contrôleurs de vol, la Dropix étant un re-work de la Pixhawk made-in-Drotek. Ces deux contrôleurs peuvent fonctionner avec le même code.

La couche “firmware” (comme ArduRover) est compilée en même temps que la couche “OS” (NuttX) et c’est ce programme que vous venez flasher dans la carte.