Help with reading/writing an Android to Matlab G-Force program (Android Sensors)

2 次查看(过去 30 天)
Hello, I am currently working on a uni project but I am having a bit of a problem. I am looking for just a x co-ordinate rotational acceleration vs time and angular velocity (on the x axis, not yaw) program. I have created a drone that rotates and I want to receive the data back to matlab. Here's what I have so far. Any tips are great. For some reason the time frames that appear on the graph go to 200 (s) when I pause for 15 s.
connector on yourpassword;
m = mobiledev;
m.AccelerationSensorEnabled = 1;
m.AngularVelocitySensorEnabled = 1;
m.Logging = 1;
pause (10)
m.Logging = 0;
[a, t] = accellog(m);
x = a(:,1);
y = a(:,2);
z = a(:,3);
%plot(t, av);
% Calculate and plot magnitude acceleration
mag = sqrt(sum(x.^2 + y.^2 + z.^2, 2));
figure
plot(t, mag);
xlabel('Time (s)');
ylabel('Acceleration (m/s^2)');
disp (mag)

采纳的回答

Prashant Arora
Prashant Arora 2017-4-27
Hi Anthony,
This might be happening due to the fact that when using "accelog", MATLAB will give you data from all logs after it established a connection, and not just the last run. To start fresh each time you run a script, you can use the following command:
discardlogs(m);
Hope this helps!

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Modeling 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by