这个例子展示了如何从安装在Arduino®硬件上的IMU传感器读取加速度和角速度数据,并计算俯仰和滚动角度。
在开始本示例之前,请安装以下MathWorks®产品:下载188bet金宝搏
MATLAB
金宝app
金宝appSimu金宝applink支持包Arduino®硬件
MATLAB支金宝app持包Arduino®硬件
Arduino(任何Arduino硬件,带有I2C外设,支持MATLAB函数块的代码生成)金宝app
MPU9250(任何带有加速度计和陀螺仪的IMU传感器)
注意:任何支持MATLAB函数块编码生成的IM金宝appU传感器都可以在这个例子中使用。如果使用任何其他传感器创建IMU传感器对象,例如使用LSM9DS1传感器,则需要将对象创建从mpu9250(a)修改为LSM9DS1 (a)。
金宝appSimu金宝applink支持包为Arduino硬件提供了一个预先配置的模型可以用来读取安装在Arduino硬件上的IMU传感器的加速度和角速度数据,并计算俯仰和横摇角度。
要打开模型,在MATLAB命令提示符下运行以下命令:
open_system (“arduino_imu_pitch_roll_calculation”);
传感器轴的对中应如下:
x轴=纵轴或滚轴
y轴=横向轴或俯仰轴
z轴=垂直轴或偏航轴
在这个模型中,俯仰和横摇角是用加速度计和陀螺仪读数计算的。在硬件上部署模型后,可以根据传感器的方向求出俯仰和横摇角度。俯仰和横摇角度的范围为[-90度,90度]。如果保持传感器稳定并与地面平行,即z轴垂直于地面,则两个读数都应为0。相对于节轴逆时针旋转的节距角为正,顺时针旋转的节距角为负。对于滚转角度也是一样的。为了在程序开始执行时滤除噪声,当传感器在地面上保持稳定,z轴垂直于地面时,读取多次传感器,并计算俯仰和横摇角的偏移值。在每一步计算俯仰角和横摇角时,将这些值减去。这在一定程度上消除了传感器读数中的稳定噪声。
打开arduino_imu_pitch_roll_calculation模型。
在硬件选项卡上,单击硬件设置打开配置参数对话框。
选择硬件实现窗格中选择您的Arduino硬件硬件板参数列表。不要更改任何其他设置。点击好吧.
在硬件选项卡中的金宝app模式部分中,选择机上运行然后点击构建、部署和启动在Arduino板上运行这个模型。
要在MATLAB中查看输出,请使用Monitor和Tune特性运行模型。要做到这一点,就上硬件选项卡中的金宝app模式部分中,选择机上运行然后点击监视和优化.