ImageVerifierCode 换一换
格式:DOCX , 页数:28 ,大小:224.19KB ,
资源ID:11288209      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/11288209.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(北航惯性导航综合实验四实验报告.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

北航惯性导航综合实验四实验报告.docx

1、北航惯性导航综合实验四实验报告基于运动规划的惯性导航系统动态实验二零一三年六月十日实验4.1 惯性导航系统运动轨迹规划与设计实验一、实验目的为进行动态下简化惯性导航算法的实验研究,进行路径和运动状态规划,以验证不同运动状态下惯导系统的性能。通过实验掌握步进电机控制方法,并产生不同运动路径和运动状态。二、实验内容学习利用6045B 控制板对步进电机进行控制的方法,并控制电机使运动滑轨产生定长运动和不同加速度下的定长运动。三、实验系统组成USB_PCL6045B 控制板(评估板)、运动滑轨和控制计算机组成。四、实验原理 IMU安装误差系数的计算方法USB_PCL6045B 控制板采用了USB 串行

2、总线接口通信方式,不必拆卸计算机箱就可以在台式机或笔记本电脑上进行运动控制芯片PCL6045B 的学习和评估。USB_PCL6045B 评估板采用USB 串行总线方式实现评估板同计算机的数据交换,由评估板的FIFO 控制回路完成步进电机以及伺服电机的高速脉冲控制,任意2 轴的圆弧插补,2-4 轴的直线插补等运动控制功能。USB_PCL6045B 评估板上配置了全部PCL6045B 芯片的外部信号接口和增量编码器信号输入接口。由USB_PCL6045B 评估测试软件可以进行PCL6045B 芯片的主要功能的评估测试。图4-1-1USB_PCL6045B 评估板原理框图如图4-1-1 所示,CN1

3、1 接口主要用于外部电源连接,可以选择DC5V 单一电源或DC5V/24V 电源。CN12 接口是USB 信号接口,用于USB_PCL6045B 评估板同计算机的数据交换。USB_PCL6045B 评估板已经完成对PCL6045B 芯片的底层程序开发和硬件资源与端口的驱动,并封装成156 个API 接口函数。用户可直接在VC 环境下利用API 接口函数进行编程。五、实验内容1、操作步骤1)检查电机驱动电源(24V)2)检查USB_PCL6045B 控制板与上位机及电机驱动器间的连接电缆3)启动USB_PCL6045B 控制板评估测试系统检查系统是否正常工作。4)运行编写的定长运动程序,并比较实

4、际位移与设定位移。5)修改程序设定不同运动长度,并重复执行步骤4)。6)对记录实验数据,并进行误差分析。2、实验数据处理基于VC的控制界面:本次实验必须先设计控制系统的上位机,通过上位机的串口向下位机发送控制命令,下位机接收到命令后,产生PWM波,控制电机的正反转以此达到控制导轨运动的目的。系统的控制界面如图1所示: 图1 系统的控制界面控制导轨运动,运动采取正向运动,再返回,即IMU的实际运行位移为零。并保存数据控制界面的应用程序源程序仅写出VC中按钮的响应程序:void CAaaDlg:Online() /定长运动 / TODO: Add your control notification

5、 handler code here USB_initial(); USB_default_set(); USB_set_org_logic(AXS_AX,0);/原点开关的逻辑, 负逻辑 USB_set_el_logic(AXS_AX,0);/硬极限输入逻辑,低电平使能 USB_set_sd_logic(AXS_AX,0);/减速开关的输入逻辑,负逻辑 USB_set_alm_logic(AXS_AX, 1);/报警输入信号逻辑 USB_set_inp_logic(AXS_AX,1);/in的输入信号逻辑 USB_ez_logic(AXS_AX,0);/Z相的输入逻辑 USB_set_pls

6、_outmode(AXS_AX,1); USB_set_out_enable(AXS_AX,1);/脉冲输出使能/ USB_jog_continue(AXS_AX,150,20000,20,20,20,20,1,30000); USB_start_tr_move(AXS_AX, m_dist, 0, m_inspeed, 5000, 5000);/ USB_tv_move(AXS_AX, 150, 2000, 3000); /* USB_v_change(AXS_AX, 5000, 5000); while(1) USB_get_speed(AXS_AX, &m_speed); UpdateD

7、ata(FALSE); MSG msg; while(PeekMessage(&msg,0,0,100,PM_REMOVE) TranslateMessage(&msg); DispatchMessage(&msg); Sleep(100); */void CAaaDlg:OnButton1() /停止运动 / TODO: Add your control notification handler code here USB_sd_stop(AXS_AX); void CAaaDlg:OnGetSpeed() /获得速度 / TODO: Add your control notificatio

8、n handler code here USB_get_speed(AXS_AX, &m_speed); UpdateData(FALSE);void CAaaDlg:OnButton3() /OK 按钮程序 / TODO: Add your control notification handler code here UpdateData(true); 3,处理数据由实验原理可知,惯性测量单元(IMU)可以通过自身独立的测量结果进行积分,计算出目标运动的角度和位移等量。本次实验就是利用IMU的加速度计的某一敏感轴测量导轨运行的加速度,通过加速度两次积分得到物体的位移,计算结果如图2所示:实验

9、经过往返,从原理上讲位移应该为零。处理结果:位移曲线: 速度曲线: 4,源程序:A=load(E:惯性器件综合实验我的作业实验四X300000_V10000.txt);T=1/200; %单位为秒g=9.78;Ax=A(:,4)*g/1000; %提取加速度计的值 转化为m/s2Ax=Ax*(1.0009)-0.0036595*g;vx=zeros(12657,1);sx=zeros(12657,1);u=zeros(12657,1);%计算位移for i=2:12657 vx(i)=vx(i-1)+(Ax(i-1)+Ax(i-1)*T /2; sx(i)=sx(i-1)+(vx(i-1)+

10、vx(i)/2*T+0.5*A(i-1)*T*T; u(i)=i;endfigureplot(u/100,vx);xlabel(时间/秒),ylabel(速度 米/秒);figureplot(u/100,sx);xlabel(时间/秒),ylabel(位移 米);5,实验结果分析 从原理上讲IMU做往返运动,位移应该出现增大和减小的趋势,但是由于各种误差角,而且滑轨也不能保证当地水平,在计算过程中,也未减去有害加速度。所以误差很大。而且根据所采集的数据可知加速度计并没有感知方向,在实验过程中应该根据计算脉冲 与时间,自己计算方向时间惯性导航系统半物理仿真实验一、实验目的进行惯导系统半物理仿真实

11、验,以验证惯性器件真实误差特性情况下惯性导航系统的性能。二、实验内容将采集到陀螺仪与加速度计的真实误差数据叠加到轨迹发生器产生的导航参数真值上,进行惯导解算,并分析误差特性。三、实验系统组成真实的陀螺仪、加速度计或 IMU,数据采集系统和数据处理计算机。四、实验步骤(1)采集实验数据(2)处理采集的实验数据,生成半物理的惯性器件误差数据(3)生成半物理的导航数据,进行导航解算(4)对导航解算结果进行分析(5)完成实验报告五、实验内容及结果(1)半物理仿真数据的生成:a) 应用前面IMU实验或惯性导航系统动态实验中采集的陀螺仪与加速度计的静态数据DATAb) 对以上采集的静态数据求取均方差X(结

12、果为X度/小时或Xg)c) 将DATA中数据去掉均值生成新的数据DATA1(器件噪声)d) 自己设定要仿真的陀螺或加速度计的精度Y(度/小时或g)e) 将DATA1中数据乘以Y/X生成新的数据DATA2(半物理仿真噪声)f) 从DATA2中读取数据并叠加到轨迹发生器产生的标准数据(不含噪声)上,进行导航解算。(如初始采集的数据长度不够,可以将DATA2中数据重复利用,即将生成一个几倍长度于DATA2和数据文件DATA3,并从DATA3中读取半物理数据并叠加到轨迹发生器产生的标准数据上)(2)加半物理仿真噪声数据的导航结果:(3)叠加噪声的导航结果:(4)结果分析:由实验结果可见,叠加的仿真噪声

13、数据对姿态的解算影响很大;但由于所加噪声较小,所以噪声数据对位移和速度的解算影响不大。六,源程序clear,clcinvout=load(E:惯导实验数据第四次实验4.3第四部分半物理仿真数据生成方法及数据格式说明IMU数据invout.dat);CaijiShuju=load(E:惯导实验数据第四次实验4.3第四部分半物理仿真数据生成方法及数据格式说明IMU数据data2.txt);W=CaijiShuju(:,3:5);F=CaijiShuju(:,9:11);W_pingjun=mean(W);F_pingjun=mean(F);%生成噪声%wx=W(:,1)-W_pingjun(1,1

14、);%器件噪声wy=W(:,2)-W_pingjun(1,2);wz=W(:,3)-W_pingjun(1,3);fx=F(:,1)-F_pingjun(1,1);fx=F(:,2)-F_pingjun(1,2);fx=F(:,3)-F_pingjun(1,3);%求陀螺均方差%N=size(W);n=N(1,1);%陀螺的精度设为0.5度/小时%w_jingdu=0.5/3600*pi/180%0.5度/小时转成弧度 sx=0;for i=1:n sx=sx+(W(i,1)-W_pingjun(1,1)2endwx_junfangcha=sqrt(sx/n);%x陀螺的均方差 wx1=w_j

15、ingdu/wx_junfangcha; Wx=wx*wx1 %半物理仿真噪声Wx sx=0;for i=1:n sx=sx+(W(i,2)-W_pingjun(1,2)2endwy_junfangcha=sqrt(sx/n);%y陀螺的均方差 wy2=w_jingdu/wy_junfangcha; Wy=wy*wy2 %半物理仿真噪声Wy sx=0;for i=1:n sx=sx+(W(i,3)-W_pingjun(1,3)2endwz_junfangcha=sqrt(sx/n);%z陀螺的均方差 wz3=w_jingdu/wz_junfangcha; Wz=wz*wz3 %半物理仿真噪声W

16、z%求加计的均方差% f_jingdu=1/1000*9.8%加计的精度为1mg sx=0;for i=1:n sx=sx+(F(i,1)-F_pingjun(1,1)2endfx_junfangcha=sqrt(sx/n);%x加计的均方差fx1= f_jingdu/fx_junfangcha;Fx=fx*fx1; sx=0;for i=1:n sx=sx+(F(i,2)-F_pingjun(1,2)2endfy_junfangcha=sqrt(sx/n);%y加计的均方差fx2= f_jingdu/fy_junfangcha;Fy=fx*fx2; sx=0;for i=1:n sx=sx+

17、(F(i,3)-F_pingjun(1,3)2endfz_junfangcha=sqrt(sx/n);%z加计的均方差fx3= f_jingdu/fz_junfangcha;Fz=fx*fx3; %轨迹发生器数据叠加噪声%Wx_invout=invout(:,5);Wy_invout=invout(:,6);Wz_invout=invout(:,7);Fx_invout=invout(:,2);Fy_invout=invout(:,3);Fz_invout=invout(:,4);L_invout=invout(:,8); %纬度 Jingdu_invout=invout(:,9);%经度He

18、ight_invout=invout(:,10);%高度%开始叠加%N1=size(invout); n1=N1(1,1);%应为采样点数大于轨迹发生器的个数,所以以轨迹发生器的个数为准Wxx=Wx(1:n1,1)+Wx_invout; Wyy=Wy(1:n1,1)+Wy_invout ; Wzz=Wz(1:n1,1)+Wz_invout; Wibb=Wxx,Wyy,Wzz; Fxx=Fx(1:n1,1)+Fx_invout; Fyy=Fy(1:n1,1)+Fy_invout ; Fzz=Fz(1:n1,1)+Fz_invout; Fibb=Fxx,Fyy,Fzz; q0=zeros(n1,1

19、);q1=zeros(n1,1);q2=zeros(n1,1);q3=zeros(n1,1);Phai=zeros(n1,1);Thita=zeros(n1,1);Gama=zeros(n1,1);Phai(1)=0/180*pi;%偏航初始角Thita(1)=(0)*pi/180;%俯仰初始角Gama(1)=(0)*pi/180;%横滚初始角 L=zeros(n1,1);nmda=zeros(n1,1);Vxt=zeros(n1+1,1);Vyt=zeros(n1+1,1); q0(1)=cos(-Phai(1)/2)*cos(Thita(1)/2)*cos(Gama(1)/2)+sin(-

20、Phai(1)/2)*sin(Thita(1)/2)*sin(Gama(1)/2);q1(1)=cos(-Phai(1)/2)*sin(Thita(1)/2)*cos(Gama(1)/2)+sin(-Phai(1)/2)*cos(Thita(1)/2)*sin(Gama(1)/2);q2(1)=cos(-Phai(1)/2)*cos(Thita(1)/2)*sin(Gama(1)/2)-sin(-Phai(1)/2)*sin(Thita(1)/2)*cos(Gama(1)/2);q3(1)=cos(-Phai(1)/2)*sin(Thita(1)/2)*sin(Gama(1)/2)-sin(-

21、Phai(1)/2)*cos(Thita(1)/2)*cos(Gama(1)/2);Wie=0.000072921151467;%已经是弧度制L(1)=40/180*pi;nmda(1)=116.0/180*pi;T=0.01;%采样频率为100HzVxt(1)=0;Vyt(1)=0;Re=6378245+80;%加高度80米e=1/298.3;for k=1:n1c11=q0(k)2+q1(k)2-q2(k)2-q3(k)2;c12=2*(q1(k)*q2(k)+q0(k)*q3(k);c13=2*(q1(k)*q3(k)-q0(k)*q2(k);c21=2*(q1(k)*q2(k)-q0(

22、k)*q3(k);c22=q0(k)2-q1(k)2+q2(k)2-q3(k)2;c23=2*(q2(k)*q3(k)+q0(k)*q1(k);c31=2*(q1(k)*q3(k)+q0(k)*q2(k);c32=2*(q2(k)*q3(k)-q0(k)*q1(k);c33=q0(k)2-q1(k)2-q2(k)2+q3(k)2;Cnb=c11,c12,c13 c21,c22,c23 c31,c32,c33; if abs(c22)0.0000000000001 Phai(k)=atan(-c21/c22); end if abs(c22)0.0000000000001 & c210 Phai

23、(k)=pi/2; end if abs(c22)0.0000000000001 & c210.0000000000001 & c220 Phai(k)=atan(-c21/c22); endif abs(c22)0.0000000000001 & c220 & c210 Phai(k)=atan(c21/c22)+pi;endif abs(c22)0.0000000000001 & c220 & c210 Phai(k)=atan(-c21/c22)-pi;end Thita(k)=asin(c23);Gama(k)=-atan(c13/c33); Cbn=inv(Cnb);Aibn=Cbn

24、*Fibb(k,:);Rxt=Re/(1-e*(sin(L(k)*sin(L(k); axt=Aibn(1,1)+2*Wie*sin(L(k)*Vyt(k)+Vyt(k)*Vxt(k)*tan(L(k)/Rxt;ayt=Aibn(2,1)-2*Wie*sin(L(k)*Vxt(k)-Vxt(k)*Vxt(k)*tan(L(k)/Rxt; Vxt(k+1)=axt*T+Vxt(k);Vyt(k+1)=ayt*T+Vyt(k); Ryt=Re/(1+2*e-3*e*(sin(L(k)*sin(L(k); L(k+1)=0.5*T*(Vyt(k+1)+Vyt(k)/Ryt+L(k);nmda(k+1

25、)=0.5*T*(Vxt(k+1)+Vxt(k)/Rxt*sec(L(k)+nmda(k);Wenn=-Vyt(k)/Ryt;Vxt(k)/Rxt;Vxt(k)/Rxt*tan(L(k);%课本86页4.2-38式Winn=Wenn+0;Wie*cos(L(k);Wie*sin(L(k); Winb=Cnb*Winn;Wtbb=Wibb(k,:)-Winb;dltaTita0_fang=(Wtbb(1,1)*T)2+(Wtbb(2,1)*T)2+(Wtbb(3,1)*T)2; dltaTita=0,-Wtbb(1,1)*T,-Wtbb(2,1)*T,-Wtbb(3,1)*T; Wtbb(1,1

26、)*T,0,Wtbb(3,1)*T,-Wtbb(2,1)*T; Wtbb(2,1)*T,-Wtbb(3,1)*T,0,Wtbb(1,1)*T; Wtbb(3,1)*T,Wtbb(2,1)*T,-Wtbb(1,1)*T,0Q=(1-dltaTita0_fang/8)*eye(4)+0.5*dltaTita)*q0(k);q1(k);q2(k);q3(k);q0(k+1)=Q(1);q1(k+1)=Q(2);q2(k+1)=Q(3);q3(k+1)=Q(4); endfigurehold oni=1:n1;subplot(1,2,1),plot(i,Vxt(i)%速度误差title(叠加噪声后的东

27、向速度误差)subplot(1,2,2),plot(i,Vyt(i)title(叠加噪声后的的北向速度误差) figurehold oni=1:n1;subplot(1,2,1),plot(i,L(i)*180/pi)%位置误差title(叠加噪声后的的纬度误差)subplot(1,2,2),plot(i,nmda(i)*180/pi)title(叠加噪声后的的经度误差) figurehold oni=1:n1;plot(i,Phai(i)*180/pi)%姿态角误差subplot(1,3,1),title(叠加噪声后的的航向角误差) figurehold oni=1:n1;plot(i,Th

28、ita(i)*180/pi)%subplot(1,3,2),title(叠加噪声后的俯仰角误差) figurehold oni=1:n1;plot(i,Gama(i)*180/pi)%subplot(1,3,3), title(叠加噪声后的横滚角误差) %轨迹发生器的数据处理%clear,clcinvout=load(E:惯导实验数据第四次实验4.3第四部分半物理仿真数据生成方法及数据格式说明IMU数据invout.dat);Wx_invout=invout(:,5);Wy_invout=invout(:,6);Wz_invout=invout(:,7); Wibb=Wx_invout,Wy_invout,Wz_invout;Fx_invout=invout(:,2);Fy_invout=invout(:,3);Fz_invout=invout(:,4);Fibb=Fx_invout,Fy_invout,Fz_invout; L_invout=invout(:,8); %纬度 Jingdu_invout=invout(:,9);%经度Height_invout=invout(:,1

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1