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)
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!