陀螺仪摇摆台测试

来源:互联网 发布:千万不要在淘宝上搜索 编辑:程序博客网 时间:2024/04/28 23:11

陀螺仪摇摆台测试

GitHub仓库:https://github.com/XinLiGitHub/GyroSwing

PS:博文不再更新,后续更新会在GitHub仓库进行。


1,测试目的

     弄清楚产品IMU陀螺仪的动态性能。


2,测试方法

     产品三个轴分别进行摇摆测试。记录下,摇摆前静止两分钟,然后开始摇摆(角度:20°,频率:0.25Hz)两分钟,最后摇摆结束再静止两分钟的数据。通过MATLAB进行数据分析。


3,MATLAB程序

clc;    %清空命令行窗口clear;  %清空工作区gyro_x = dlmread('X轴.dat');                      %从文本中读取陀螺仪数据,单位:deg/s,速率:200Hzgyro_y = dlmread('Y轴.dat');gyro_z = dlmread('Z轴.dat');gyro_x_zero = mean(gyro_x(1:12000, 3));           %求陀螺仪零偏gyro_y_zero = mean(gyro_y(1:12000, 4));gyro_z_zero = mean(gyro_z(1:12000, 5));gyro_x_minus_zero = gyro_x(:, 3) - gyro_x_zero;   %陀螺仪数据减去零偏gyro_y_minus_zero = gyro_y(:, 4) - gyro_y_zero;gyro_z_minus_zero = gyro_z(:, 5) - gyro_z_zero;gyro_x_angle = cumsum(gyro_x_minus_zero) / 200;   %陀螺仪数据积分求角度gyro_y_angle = cumsum(gyro_y_minus_zero) / 200;gyro_z_angle = cumsum(gyro_z_minus_zero) / 200;gyro_x_time = (1:length(gyro_x_angle)) / 200;     %求陀螺仪数据的时间gyro_y_time = (1:length(gyro_y_angle)) / 200;gyro_z_time = (1:length(gyro_z_angle)) / 200;figure('name', '陀螺仪X轴数据积分角度'); %创建绘图窗口plot(gyro_x_time, gyro_x_angle);        %绘图xlabel('Time:sec');                     %添加X轴标签ylabel('Angle:deg');                    %添加Y轴标签grid on;                                %添加网格线figure('name', '陀螺仪Y轴数据积分角度'); %创建绘图窗口plot(gyro_y_time, gyro_y_angle);        %绘图xlabel('Time:sec');                     %添加X轴标签ylabel('Angle:deg');                    %添加Y轴标签grid on;                                %添加网格线figure('name', '陀螺仪Z轴数据积分角度'); %创建绘图窗口plot(gyro_z_time, gyro_z_angle);        %绘图xlabel('Time:sec');                     %添加X轴标签ylabel('Angle:deg');                    %添加Y轴标签grid on;                                %添加网格线

4,测试结果

图1:陀螺仪X轴数据积分得到的角度



图2:陀螺仪Y轴数据积分得到的角度



图3:陀螺仪Z轴数据积分得到的角度



5,测试结论

     摇摆过程中,陀螺仪X、Y轴激发出了0.1deg/s的漂移(可能是零偏或比例因子正反转不一样),Z轴没有激发明显的漂移。陀螺仪三个轴的比例因子标定的还不错,在千分之一以内。陀螺仪Z轴要比X、Y轴性能要好不少。

原创粉丝点击