Relevant info on PX4 Flight Stack & Ardupilot

Seems that APM does run more or less natively on NuttX OS:

From what I read on APM and PX4 forums I don’t think that the APM is really utilizing NuttX. The APM is just running in one thread! Please correct me if I’m wrong.

I also have a really strong hunch that Pixhawk (HW) was developed as part of PX4 autopilot project and not by 3DR!! as the Pixhawk is direct descendant of PX4FMU + PX4IO boards. PX4 autopilot is also SW primarily meant to be run on Pixhawk. APM was just ported for the board.

It may be little confusing since Pixhawk is much more frequently combined with APM than with PX4 sw. Once I witnessed somebody asking about APM related problems on PX4 autopilot forums. The newcomer got there via Pixhawk’s mainpage which is actually part of PX4 autopilot website. He was politely redirected to APM webpage.

  1. @Gramp, APM (ie. ardupilot) does use NuttX. It runs in 4 main threads, plus a bunch of lower level “soft interrupt” tasks for sensor drivers.
    Pixhawk was developed as a cooperative project between the PX4 project, 3DR and the ardupilot project. I’m the lead developer on the ardupilot side of things, and I also maintain the plane and rover ports. There is a lot of common code between the PX4 “native” stack and ardupilot and a lot of cooperation between the various projects.
    Cheers, Tridge

    1. @Andrew, thank you for clarifying it. I haven’t expected much cooperation between the projects.
      Nice to know that Ardupilot really use NuttX. NuttX is IMO really beautiful OS (having VFS, unix like devices/drivers system, POSIX-like APIs while still being very simple and it has wonderful CM4/3 support).



Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s