主要内容

从移动设备获取和绘制角速度和方向数据

此示例显示如何在Android™或IOS移动设备上的多个传感器在一个时间轴上绘制数据。角速度和取向的测量将从设备收集并绘制绝对时间。这将允许基于实际测量时间来可视化两个传感器之间的数据之间的相关性。

设置您的移动设备

为了从Matlab®中的移动设备接收数据,您需要在移动设备上安装和设置Matlab Mobile™应用程序。

从MATLAB Mobile设置登录到MathWorks®云。

创建与移动设备的连接

在这一点命令Matlab Mobile的屏幕,使用Mobiledev.命令创建表示移动设备的对象。

m=移动电视;

显示的输出应该显示连接:1,表明Mobiledev.对象已成功建立与应用程序的连接。

准备多个传感器的数据采集

使用适当的Mobiledev.在设备上启用传感器的属性。

m.angularvelocitysensorenabled = 1;m.orientationsensorenabled = 1;

开始获取数据

启用传感器后,传感器MATLAB Mobile的屏幕将显示传感器测得的电流数据。这个记录属性允许您开始将传感器数据发送到Mobiledev.

M.Logging = 1;

该设备正在发送传感器数据。

开始记录时,设备平放在桌子上,屏幕朝上。角速度传感器的正Y轴定义为从设备顶部伸出。方向传感器的正滚动被定义为当面对轴的正方向时绕Y轴顺时针旋转。

在日志记录期间,设备围绕其围绕其围绕其朝上并面朝下降几次。这产生了角度速度和滚动变化的y轴变化。

停止获取数据

记录属性再次用于使设备停止向发送传感器数据Mobiledev.

m.logging = 0;

检索记录的数据

每个传感器的数据都可以从Mobiledev.目的。创建两个不同的时间戳变量,因为可以同时通过设备记录角速度和方向数据。

[AV,TAV] = Angvellog(M);[o,to] = Orientlog(m);

绘制原始传感器数据

感兴趣的传感器数据被分离成单独的变量并绘制出来。

yangvel = av(:,2);Roll = O(:,3);情节(TAV,Yangvel,卷);传奇('y角速度''卷');Xlabel('相对时间(s)');

数据相对于逐秒绘制数据Mobiledev.sinitialtimestamp.财产。此属性提供传感器记录的第一个数据点的绝对时间并将其发送到MATLAB。它充当使用诸如的功能访问的所有传感器数据的时间戳的参考点Angvellog.Orientlog.,相对于initialtimestamp.

转换为绝对时间戳

将所有传感器时间戳转换为绝对时间戳,initialtimestamp.值被转换为a日期时间目的。以秒为单位的单个传感器时间戳被转换为. 这简化了将相对时间戳转换为绝对时间戳的日期算法。

tinit = datetime(m.initialtimestamp,'InputFormat''dd-mm-yyyy hh:mm:ss.sss');唐佛= Tinit +秒(TAV);tacient = tinit +秒(至);

绘制绝对时间的多个传感器

两个传感器现在都有绝对的时间戳使用日期时间。这使得可以轻松地可视化传感器读数中发生重大事件的实际时间。

方向传感器使用程度的单位,而角速度传感器使用每秒弧度的单位。在策划之前,yangvel.被转换为每秒度数。

yangveldeg = yangvel * 180 / pi;情节(唐佛,阳德格,硬环,卷);传奇('y角速度''卷');Xlabel('绝对时间');

清理

关闭启用的传感器并清除Mobiledev.

m.angularvelocitysensorenabled = 0;m.orientationsensorenabled = 0;清除m;