资源简介
九轴姿态解算matlab源代码 。测试可行,附上代码和数据。C语言源代码也有,看我主页
代码片段和文件信息
% Examplescript.m
%
% This script demonstrates use of the MadgwickAHRS and MahonyAHRS algorithm
% classes with example data. ExampleData.mat contains calibrated gyroscope
% accelerometer and magnetometer data logged from an AHRS device (x-IMU)
% while it was sequentially rotated from 0 degrees to +90 degree and then
% to -90 degrees around the X Y and Z axis. The script first plots the
% example sensor data then processes the data through the algorithm and
% plots the output as Euler angles.
%
% Note that the Euler angle plot shows erratic behaviour in phi and psi
% when theta approaches ?0 degrees. This due to a singularity in the Euler
% angle sequence known as ‘Gimbal lock‘. This issue does not exist for a
% quaternion or rotation matrix representation.
%
% Date Author Notes
% 28/09/2011 SOH Madgwick Initial release
% 13/04/2012 SOH Madgwick deg2rad function no longer used
% 06/11/2012 Seb Madgwick radian to degrees calculation corrected
%% Start of script
addpath(‘quaternion_library‘); % include quaternion library
close all; % close all figures
clear; % clear all variables
clc; % clear the command terminal
%% Import and plot sensor data
load(‘ExampleData.mat‘);
figure(‘Name‘ ‘Sensor Data‘);
axis(1) = subplot(311);
hold on;
plot(time Gyroscope(:1) ‘r‘);
plot(time Gyroscope(:2) ‘g‘);
plot(time Gyroscope(:3) ‘b‘);
legend(‘X‘ ‘Y‘ ‘Z‘);
xlabel(‘Time (s)‘);
ylabel(‘Angular rate (deg/s)‘);
title(‘Gyroscope‘);
hold off;
axis(2) = subplot(312);
hold on;
plot(time Accelerometer(:1) ‘r‘);
plot(time Accelerometer(:2) ‘g‘);
plot(time Accelerometer(:3) ‘b‘);
legend(‘X‘ ‘Y‘ ‘Z‘);
xlabel(‘Time (s)‘);
ylabel(‘Acceleration (g)‘);
title(‘Accelerometer‘);
hold off;
axis(3) = subplot(313);
hold on;
plot(time Magnetometer(:1) ‘r‘);
plot(time Magnetometer(:2) ‘g‘);
plot(time Magnetometer(:3) ‘b‘);
legend(‘X‘ ‘Y‘ ‘Z‘);
xlabel(‘Time (s)‘);
ylabel(‘Flux (G)‘);
title(‘Magnetometer‘);
hold off;
linkaxes(axis ‘x‘);
%% Process sensor data through algorithm
AHRS = MadgwickAHRS(‘SamplePeriod‘ 1/256 ‘Beta‘ 0.1);
% AHRS = MahonyAHRS(‘SamplePeriod‘ 1/256 ‘Kp‘ 0.5);
quaternion = zeros(length(time) 4);
for t = 1:length(time)
AHRS.Update(Gyroscope(t:) * (pi/180) Accelerometer(t:) Magnetometer(t:)); % gyroscope units must be radians
quaternion(t :) = AHRS.Quaternion;
end
%% Plot algorithm output as Euler angles
% The first and third Euler angles in the sequence (phi and psi) become
% unreliable when the middle angles of the sequence (theta) approaches ?0
% degrees. This problem commonly referred to as Gimbal Lock.
% See: http://en.wikipedia.org/wiki/Gimbal_lock
euler = quatern2euler(quaternConj(quaternion)) * (180/pi); % use conjugate for sensor frame relative to Earth and convert to degrees.
figur
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4678 2011-09-28 23:40 madgwick_algorithm_matlab\@MadgwickAHRS\MadgwickAHRS.m
文件 4718 2011-09-28 23:40 madgwick_algorithm_matlab\@MahonyAHRS\MahonyAHRS.m
文件 101819 2011-09-24 13:39 madgwick_algorithm_matlab\ExampleData.mat
文件 3263 2012-11-06 19:00 madgwick_algorithm_matlab\Examplesc
文件 650 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\axisAngle2quatern.m
文件 965 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\axisAngle2rotMat.m
文件 938 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\euler2rotMat.m
文件 878 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\quatern2euler.m
文件 825 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\quatern2rotMat.m
文件 378 2011-09-27 16:52 madgwick_algorithm_matlab\quaternion_library\quaternConj.m
文件 661 2011-09-27 16:51 madgwick_algorithm_matlab\quaternion_library\quaternProd.m
文件 645 2011-09-27 16:51 madgwick_algorithm_matlab\quaternion_library\rotMat2euler.m
文件 1434 2011-09-27 16:51 madgwick_algorithm_matlab\quaternion_library\rotMat2quatern.m
文件 2465 2011-09-27 16:51 madgwick_algorithm_matlab\quaternion_library\Testsc
目录 0 2018-04-14 10:21 madgwick_algorithm_matlab\@MadgwickAHRS
目录 0 2018-04-14 10:21 madgwick_algorithm_matlab\@MahonyAHRS
目录 0 2018-04-14 10:21 madgwick_algorithm_matlab\quaternion_library
目录 0 2018-04-14 10:21 madgwick_algorithm_matlab
----------- --------- ---------- ----- ----
124317 18
- 上一篇:c++万能外挂.txt
- 下一篇:扫雷游戏.cpp C++ 课程设计
评论
共有 条评论