0

6面法是一种非常便宜和快速的校准和加速度计的方法,比如我的MPU6050,这里对方法进行了很好的描述。

我做了 6 次测试来校准基于 g 矢量的加速度计。

在此处输入图像描述

之后,我建立了一个矩阵,并在每一行中存储了以m/s^2表示的每个轴的平均值,多亏了这个问题,我自动计算了每个文件中每一列的平均值在此处输入图像描述

测试是随机进行的,我测试了所有六个位置,但我没有遵循任何路径。所以我手动排序最终矩阵,基于Y 矩阵的排序,我的参考矩阵。 Y 元素是固定的。

在此处输入图像描述

手动排序的矩阵如下

在此处输入图像描述

这里我如何手动排序矩阵

    meanmatrix=[ax ay az];
    mean1=meanmatrix(1,:);
    mean2=meanmatrix(2,:);
    mean3=meanmatrix(3,:);
    mean4=meanmatrix(4,:);
    mean5=meanmatrix(5,:);
    mean6=meanmatrix(6,:);
    meanmatrix= [mean1; mean3; mean2; mean4;mean6;mean5];

基于 Y 矩阵约束,如何在不知道“先验”的情况下对我的矩阵进行排序,测试存储在行中?

4

1 回答 1

1

假设加速度计上的偏差不大,您可以查看矩阵的行并查看 Y 矩阵中的哪些行匹配。

sorted_meanmatrix = zeros(size(meanmatrix));
for rows = 1:length(Y)
    % Calculates the square of distance and see which row has a nearest distcance 
    [~,index] = min(sum((meanmatrix - Y(rows,:)).^2, 2)); 
    sorted_meanmatrix(rows,:) = meanmatrix(index,:);
end
于 2017-06-12T12:36:03.550 回答