MATLAB Answers

Does MathWorks provide any tools for automatically generating flight code for the Pixhawk platform?

I am using the Pixhawk autopilot system designed by the PX4 open-hardware project by 3D Robotics. Is there an existing Simulink library block-set for generating embedded C-code from Simulink for this platform?

  1 Comment

A new version of the Pixhawk Pilot Support Package (Version 1.3) has been released for MATLAB R2015b.
This release incorporates the following changes:
1) Added high-resolution timer (HRT) for posting the base-rate semaphore in the Nuttxinitialize.c scheduling code
2) Forked Firmware tied to Pixhawk PSP upgraded to Release v1.0.0 https://github.com/PX4/Firmware/releases/tag/v1.0.0
3) uORB Topic blocks for publishing and subscribing data
4) Ability to model asynchronous tasks that are driven by uORB topic events
5) ADC block support
6) Serial Rx/Tx Block support
7) Ability to read flight parameters in the generated code using storage classes
See: https://pixhawk.org/firmware/parameters
7) Various bug fixes
Included are also examples/tutorials that go over some of these new features.
NOTE: The R2015a and R2014b release of the Pixhawk PSP contain the exact same set of features and are considered the same version (Version 1.2) and represent the first public release. Please consult the documentation to learn more about the features contained within Release 1.2.

Sign in to comment.

7 Answers

 Accepted Answer

MathWorks has developed a Pixhawk Pilot Support Package (PSP) which provides a suite of Simulink blocks to target and interface with the Pixhawk FMU. To download the support package go to this page:
Please note that only MATLAB R2014b is supported at this moment.

Answer by Abhishek GS on 29 Mar 2019

Hi All,
The official support package - 'Embedded Coder support Package for PX4 Autopilots' is now live from R2018b onwards.

  0 Comments

Sign in to comment.


Answer by Ahmad Drak on 14 Jul 2016

is there a release for ubuntu? running matlab 2016a?

  2 Comments

Sorry, at present (early July 2016) it is only MS Windows.
I think R2016a is supported, but I am not positive.

Sign in to comment.


Answer by Balaji Balasubramaniam on 14 Jun 2017

I am getting the following error: "Failed to load library 'AR_Drone_Positioning' referenced by 'Green_Ball_Tracking_Mounted/Flight Controller'". Can you please help?

  0 Comments

Sign in to comment.


Answer by Stephen Warwick on 26 Mar 2018

Are there plans to upgrade PSP support for MATLAB 2017b?

  4 Comments

Show 1 older comment
The update you asked for has been released.
https://uk.mathworks.com/hardware-support/pixhawk.html
hi Mahmud, thanks for that answer. Yes the PSP has been updated to support R2017a/b. My own question is, where can I find an updated userguide to enable me setup the pixhawk psp on R2017a. The only one availabe/or which i've seen onliine is the one released in February 2017 appicable to matlab R2016. Thanks.
"This support package is available for 64-bit Microsoft® Windows® and Linux. This version of the support package is compatible with MATLAB R2017a and R2017b. It also works in MATLAB R2018a with limitations to External Mode functionality."

Sign in to comment.


Answer by jone1984
on 5 Oct 2018

My OS is win10, Matlab is 2017b
these were what i have done and met:
download bash,install it.
download PSP, install it in matlab,
download Python, install it.
In the PSP UI, validate path, no problem. push download firmware button, after a whole night ,finished, on problem.
If i push the 'save setting and exit' button first ,error will tell no firmware, so I download firmware first.
install other tools by running 'windows_bash_nuttx.sh', error met as below:
do not know how to fix it.
then push build button ,met these message:
can not go on, how can i fix these?

  1 Comment

They have created this script with windows editor and because of that linux have problems with space and newline.
Install a tool dos2unix and run it on script.
install:
sudo apt-get update
sudo apt-get install dos2unix
then use it on script:
dos2unix windows_bash_nuttx.sh
it worked for me.

Sign in to comment.


Answer by Stephen Warwick on 29 Nov 2018

Is support for R2018b planned in the near future? Will this block set be regularly updated for new versions. Just curious whether I should migrate or not to the newer version of Matlab/Simulink. Thank you

  1 Comment

I can't even make it work with R2017a (yet).
I followed the instructions provided in the download page. It results in this error during the installation and its not like there's any support material/group to help anyone through all that.
Did you get to try it out?

Sign in to comment.