Hi All,

I would like to share with you my latest updates regarding a Matlab interface that I have been developing, called MatMav. The tool allows the user to monitor and command Pixhawk loaded with PX4, APMcopter is not supported yet. The tool can be used from Matlab command line, or inside m-file.
I mainly designed this tool to be able to test some High-Level Matlab algorithms regarding Multi-agent systems control. This can be achieved by utilizing  the capability of controlling Pixhawk (or PX4) via the OFFBOARD mode, but it has many other features, too. One of the interesting features that I am trying to finish soon, is the ability to monitor and command multiple Pixhawks.
I am currently doing my experiments indoors, so I am using OptiTrack mocap to get position and attitude feedback.
Setup flow:
1- PC running Motive, Mocap software, to detect and track rigid bodies, e.g. quadrotors
and it streams the data via network switches
2- another PC, runs Matlab which runs MatMav, Matlab class designed to interface (monitor 7 command) with Pixhawk, loaded with PX4 firmware (master version), in real-time. The messages are exchanged via telemetry, Xbees.
3- quadrotor with Pixhawk
Comments/suggestions are appreciated.
UPDATE: Nov 3rd, 2015 (included MatMav test version)
MatMAv is a tool which  provides an easy interface with Pixhawk/PX4 flight controllers that are loaded with PX4 Frimware (master branch). This currently does not support Ardupilot Firmware. The communication works via serial telemetry modules e.g. 3DR, Xbee). This is tested on both Mac (64bit) and Windows(64bit). This is only the test version.
Contact on matmav.toolbox@gmail.com for full version which includes more functionalities and GUI.
EDIT: Nov 12, 2015
updated the test version
EDIT: Nov 17th, 2015
New experiment: controlling multiple quadrotors at the same time.
EDIT: August 2016
The toolbox is way advanced now! More functionalities and features are added.
Reference guide is available at:

Views: 3543


Reply to This

Replies to This Discussion

Good Job....

Hey I have tried to use the 'obj.UDPLOCALPRT(<local port>)' command and then proceed to form 'obj.connectUDP()'

However, after doing this, when I try to get attitude data, it returned with a struct with all of its values as null. I am guessing that the local port I used is incorrect. 

I am using an ESP08s board connected to the telem1 port of Pixhawk, it does communicate the attitude data with QGround control.

Any idea how I can get the IP address and the local port of the ESP? or any thing else I can do to connect directly to PixHawk over Wifi?  


Reply to Discussion


© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service