用四元数法的捷联惯性导航姿态解算程序.doc

用四元数法的捷联惯性导航姿态解算程序.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用四元数法的捷联惯性导航姿态解算程序

用四元数法的捷联惯性导航姿态解算程序 close all; clear all; %重力产生的加速度矢量 g=9.8;%单位9.8m/s^2 G=[0,0,-g]; %****************************读入数据 %**********读入陀螺仪的数据 gyro_x=load(gyrox.txt); gyro_y=load(gyroy.txt); gyro_z=load(gyroz.txt); %****************读入加速度计的数据************** %acc_rate=3/1024; acc_x =load(acceleratex.txt); acc_y =load(acceleratey.txt); acc_z=load(acceleratez.txt); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %加速度数字转换为模拟电压 data_acc=[acc_x;acc_y;acc_z]; data_acc=data_acc/1024*3 %将数据转换为相应的加速度值 % %********************************************************* %加速度计三个轴向的零点电压 %zero_ax=? %zero_ay=? %zero_az=? %加速度计三个轴向的电压/加速度比值 %rate_ax=? %单位是m/s^2/V %rate_ay=? %rate_az=? %acc_x=acc_x*acc_rate; %acc_y=acc_y*acc_rate; %acc_z=acc_z*acc_rate; aver_acc_x=mean(acc_x) aver_acc_y=mean(acc_y) aver_acc_z=mean(acc_z) %采样时间 dtime=0.01; tm=0:dtime:0.01* (size(gyro_x,2)-1); %个数num n_point=size(gyro_x,2); %图1 figure plot(tm,data_acc(1,:),-,tm,data_acc(2,:),.,tm,data_acc(3,:),-.); title(加速度计的采样曲线); legend(x_ACC,Y_ACC,Z_ACC); xlabel(Time / (10ms)); ylabel(Accelerate/ (m/s)); grid on; %plot(tm,acc_x,-,tm,acc_y,.,tm,acc_z,-.); %title(加速度的计的采样曲线): %对采样曲线进行低通滤波 a=[1,2,4,2,1]; %gyro_x=filter(a/sum(a),1,gyro_x); %gyro_y=filter(a/sum(a),1,gyro_y); %gyro_z=filter(a/sum(a),1,gyro_z); %比例变换 gyro_x=gyro_x/1024*3/0.6; gyro_y=gyro_y/1024*3/0.6; gyro_z=gyro_z/1024*3/0.6; %零点电压--陀螺仪,取前80个数的平均电压 zero_gx=sum(gyro_x(1:80))/80 zero_gy=sum(gyro_y(1:80))/80 zero_gz=sum(gyro_z(1:80))/80 %减去零点 gyro_x=(gyro_x-zero_gx)/0.0125/180*pi; gyro_y=(gyro_y-zero_gy)/0.0125/180*pi; gyro_z=(gyro_z-zero_gz)/0.0125/180*pi; %gyro_x=(gyro_x-2.5)/0.0125/180*pi; %gyro_y=(gyro_y-2.5)/0.0125/180*pi; %gyro_z=(gyro_z-2.5)/0.0125/180*pi; %测试数据 accelerate=zeros(3,n_point); accelerate(1,1:100)=10; accelerate(1,101:200)=-10; accelerate(1,201:300)=0; %陀螺仪数据 gyro_x=zeros(1,n_point); gyro_y=zeros(1,n_point); gyro_z=zeros(1,n_point); gyro_z(1:100)=pi/3; gyro_z(101:200)=-pi/3; %重力轴始终有加速度 accelerate(3,:)=accelerate(3,:)+9.8; figure plot(tm,accelerate(1,:),-,t

文档评论(0)

ddf55855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档