how can I display the sensor data, altitude, speed, flight control on a graph ?
10 views (last 30 days)
Show older comments
close all;
clc; clear;
r = ryze();
takeoff(r);
fig2 = figure('pos',[800 550 800 450]);
subplot(2,3,1)
title('phi[deg]');
grid on;
hold on;
subplot(2,3,2)
title('theta[deg]');
grid on;
hold on;
subplot(2,3,3)
title('psi[deg]');
grid on;
hold on;
subplot(2,3,4)
title('x[m]');
grid on;
hold on;
subplot(2,3,5)
title('y[m]');
grid on;
hold on;
subplot(2,3,6)
title('zdot[m/s]');
grid on;
hold on;
% function extractSensorData(obj, sensorData)
% Function to extract individual sensor data from the packet
% containing all drone sensor data
% Update battery level
obj.BatteryLevel = str2double(extractBetween(sensorData,'bat:',';'));
if(obj.BatteryLevel < 10)
status = ryzeio.internal.Utility.validateAlertState(obj.LowBattery, obj.BatteryLevel);
% Set the low battery flag
if(status)
obj.LowBattery = true;
end
end
% Update Attitude/Orientation Values
Pitch = str2double(extractBetween(sensorData,'pitch:',';'));
Roll = str2double(extractBetween(sensorData,'roll:',';'));
Yaw = str2double(extractBetween(sensorData,'yaw:',';'));
obj.Attitude.Value = [Yaw Pitch Roll];
obj.Attitude.Time = datetime('now', 'TImeZone','local','Format','dd-MMM-uuuu HH:mm:ss.SS');
% Update the Altitude/height of the drone
obj.Altitude.Value = str2double(extractBetween(sensorData,';h:',';'));
obj.Altitude.Time = datetime('now', 'TImeZone','local','Format','dd-MMM-uuuu HH:mm:ss.SS');
% Update the speed of the drone
vgx = str2double(extractBetween(sensorData,'vgx:',';'));
vgy = str2double(extractBetween(sensorData,'vgy:',';'));
vgz = str2double(extractBetween(sensorData,'vgz:',';'));
obj.Speed.Value = [vgx vgy vgz];
obj.Speed.Time = datetime('now', 'TImeZone','local','Format','dd-MMM-uuuu HH:mm:ss.SS');
if(~obj.FirstPacketReceived)
% Make the 'FirstPacketReceived' true to indicate
% that the first packet of sensor data has arrived
obj.FirstPacketReceived = true;
end
0 Comments
Answers (1)
Vineeth Nair
on 19 Mar 2021
The following example explains in detail how to plot the ryze tello drone's flight data https://www.mathworks.com/help/supportpkg/ryzeio/ug/read-plot-navigation-data-using-matlab-support-package-for-ryze-tello-drones.html
It plots data such as speed, orientation, and height against time.
0 Comments
See Also
Categories
Find more on Marine and Underwater Vehicles in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!