Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Unsuccessful at reading in UDP data

Asked by Mark on 22 Aug 2014 at 16:37
Latest activity Commented on by Geoff Hayes on 23 Aug 2014 at 0:06

I'm attempting to use MATLAB in a hardware in the loop simulation similar to what was done in "Design and implementation of hardware-in-the-loop-simulation for UAV using PID control method" by Sufrendi et al in 2013 with an ArduPilot based autopilot.

Basically, a program called Mission Planner traditionally sends out UDP data containing commands to a flight simulator (such as XPlane or FlightGear), and the simulator sends UDP back containing simulated sensor data.

I would like to use MATLAB in the place of the flight simulator. Using RawCap as a port sniffer, I can see that UDP data is being sent to the UDP port i'm trying to read in MATLAB on the loopback IP address 127.0.0.1, but am unable to read anything in. It appears as a bunch of hexadecimal data (probably MAVlink protocol, if that's important).

MATLAB code used:

sid = udp('127.0.0.1',49000); fopen(sid); get(sid,'Status') fgetl(sid) fscanf(sid)

which returns

ans = ''

for both fgetl and fscanf.

I have also attempted to use the UDP block in simulink without success.

Any suggestions would be greatly appreciated!

1 Comment

Geoff Hayes on 23 Aug 2014 at 0:06

Mark - I don't have the Instrument Control Toolbox so can't comment on the use of the udp object, but I have used Kevin Bartlett's simple UDP communications app from the File Exchange to capture UDP messages sent over wi-fi from an Android phone (and send UDP messages between two running sessions of MATLAB). Perhaps it is worth a look.

Mark

Products

0 Answers

Contact us