当前位置: 首页 > news >正文

红安建设局官方网站网站模板上传教程视频教程

红安建设局官方网站,网站模板上传教程视频教程,网站风格类型有哪些,重庆广告公司电话一、内容介绍 TH存在广泛应用#xff0c;在下面案例中#xff0c;将介绍几种相对运动模型#xff0c;斜滑接近模型#xff0c;本节学习斜滑接近制导方法能够对接近时间、接近方向以及自主接近过程的相对速度进行控制。施加脉冲时刻追踪器的位置连线可构成一条直线#xf…一、内容介绍 TH存在广泛应用在下面案例中将介绍几种相对运动模型斜滑接近模型本节学习斜滑接近制导方法能够对接近时间、接近方向以及自主接近过程的相对速度进行控制。施加脉冲时刻追踪器的位置连线可构成一条直线即理想轨道实际接近轨道和理想接近轨道在脉冲施加时刻相交。脉冲施加的次数越多则实际轨道偏离理想轨道越少脉冲施加次数趋近于无穷大时实际交会轨道将会和理想轨道重合接近一条直线从大范围看多脉冲斜滑接近整个过程基本是沿直线运动的。 设追踪器在接近段的初始时刻相对运动状态为和接近段终端时刻的相对状态为和。设追踪器沿准直线完成对目标器的接近由指向的直线矢量为规划轨迹。所以在任意时刻有 其中为追踪器在该直线上某点处的位置矢量。 矢量的单位矢量为 其中表示矢量在VVLH坐标系中投影与三个坐标轴的夹角从而决定了接近方向。矢量可以表示为 在接近过程中可根据接近轨迹快速性和安全性等多种需求来确定的变化关系即设计理想的交会轨迹。典型的相对运动速度变化模式有指数型这里采用指数型和为线性关系 上式中为斜率。则整个接近段的转移时间T为 设接近段采用多脉冲分段控制作用次速度脉冲使绕飞卫星在时间T内从初始位置转移到终点位置。任意控制段的两次脉冲作用的时间间隔是相同的即。 在时刻经过第m次速度脉冲后绕飞卫星从转移到有 每个阶段相当于一次双脉冲轨道转移可通过如下编程 % 本节旨在利用TH方程实现椭圆的轨道的滑行制导 clc;clear % 初始化条件 Ecc 0.1; Perigee 500; TA 45; N 5 ; %施加脉冲次数 r_i [1;1;1]; v_i [0.01;0.01;0.01]; % 期望末端条件 r_f [0.1;0;0]; v_f [0;0;0]; % 求出初始相对距离 rho0 norm(r_i-r_f); rhof 0;%设计初始和结束沿着rho方向的速度 drho0 -0.005; drhof -0.0001; a (drho0-drhof)/rho0; t 1/a *log(drhof/drho0); % 求出单位矢量 u_rho (r_i-r_f)/rho0;rho1_vec zeros(3,N); rho1_vec(:,1) r_i; % 记录每次施加脉冲前的速度 vvff zeros(3,N); vvff(:,1) v_i; % 记录每次施加脉冲后的速度 vvrr zeros(3,N); vvrr(:,N) v_f; delta_t t/(N-1); % 脉冲希望到达的位置 for i1:N-1t1 i*t/(N-1);rho1 rho0*exp(a*t1)drhof/a*(exp(a*t1)-1);rho1_vec(:,i1) r_frho1*u_rho; [v,Phi,vv] TH_solver(Ecc,Perigee,TA,rho1_vec(:,i),vvff(:,i),t/(N-1));Phiall{i} Phi;Phi_rr Phi(1:3,1:3);Phi_rv Phi(1:3,4:6);vvrr(:,i) inv(Phi_rv)*(rho1_vec(:,i1)-Phi_rr*rho1_vec(:,i));[x,Phi0,xx] TH_solver(Ecc,Perigee,TA,rho1_vec(:,i),vvrr(:,i),t/(N-1));yy(:,i) x(1:3);vvff(:,i1) x(4:6); end dvvvrr-vvff; Phiall{4}*[rho1_vec(:,4);vvrr(:,4)]; tt linspace(0,delta_t,1000); for ss1:Nfor j1:length(tt)[mm,Phi00,zz0] TH_solver(Ecc,Perigee,TA,rho1_vec(:,ss),vvrr(:,ss),tt(j));tarx((ss-1)*1000j) mm(1);tary((ss-1)*1000j) mm(2);tarz((ss-1)*1000j) mm(3);end end % 使用STK验证VVLH坐标系 uiApplication actxGetRunningServer(STK12.application); root uiApplication.Personality2; checkempty root.Children.Count; if checkempty ~ 0root.CurrentScenario.Unloadroot.CloseScenario; end root.NewScenario(VVLH); StartTime 26 Jan 2024 04:00:00.000; % 场景开始时间 StopTime 10 Feb 2024 04:00:00.000; % 场景结束时间 root.ExecuteCommand([SetAnalysisTimePeriod * ,StartTime, ,StopTime,]); root.ExecuteCommand( Animate * Reset); SatName Target; % SAR_ GX_ Sat_ GX_1_ SAR_1_ satellite root.CurrentScenario.Children.New(eSatellite, SatName); satellite.SetPropagatorType(ePropagatorAstrogator); % 不设置的时候默认为二体模型 ePropagatorJ4Perturbation satellite.Propagator; % 目标星初始状态 Perigee 500; T 60; % 追踪星在VVLH坐下的相对位置 delta_r [1;1;1]; delta_v [0.01;0.01;0.01]; Perige 6378.137Perigee; ecc 0.1; sma Perige/(1-ecc); Inc 30; w 0; RAAN 0; TA 45; root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList Initial_State Propagate]); InitialStatesatellite.Propagator.MainSequence.Item(0); %% 初始化卫星参数 root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.CoordinateType Modified Keplerian]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Epoch ,StartTime, UTCG]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.sma ,num2str(sma), km]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.ecc ,num2str(ecc)]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.inc ,num2str(Inc), deg]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.w ,num2str(w), deg]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.RAAN ,num2str(RAAN), deg]); root.ExecuteCommand([Astrogator */Satellite/,SatName, SetValue MainSequence.SegmentList.Initial_State.InitialState.Keplerian.TA ,num2str(TA), deg]); %% 二体传播 Propagatesatellite.Propagator.MainSequence.Item(1); Propagate.PropagatorNameEarth Point Mass; root.ExecuteCommand([Astrogator */Satellite/,SatName, RunMCS]);% 插入目标星 SatName2 Chaser; satellite2 root.CurrentScenario.Children.New(eSatellite, SatName2); satellite2.SetPropagatorType(ePropagatorAstrogator); % 不设置的时候默认为二体模型 ePropagatorJ4Perturbation satellite2.Propagator; InitialState2satellite2.Propagator.MainSequence.Item(0); InitialState2.CoordSystemNameSatellite/Target VVLH; InitialState2.Element.Xdelta_r(1); InitialState2.Element.Ydelta_r(2); InitialState2.Element.Zdelta_r(3); InitialState2.Element.Vxdelta_v(1); InitialState2.Element.Vydelta_v(2); InitialState2.Element.Vzdelta_v(3); Propagate2satellite2.Propagator.MainSequence.Item(1); Propagate2.PropagatorNameEarth Point Mass; for j1:NManeuverName[Maneuver,num2str(j)];PropagateName[Propagate,num2str(j)];satellite2.Propagator.MainSequence.Insert(eVASegmentTypeManeuver,ManeuverName,Propagate);Maneuversatellite2.Propagator.MainSequence.Item(ManeuverName);root.ExecuteCommand([Astrogator */Satellite/,SatName2, SetValue MainSequence.SegmentList.,ManeuverName,.ImpulsiveMnvr.AttitudeControl Thrust Vector]);Maneuver.Maneuver.AttitudeControl.ThrustAxesNameSatellite VVLH.Axes;Maneuver.Maneuver.AttitudeControl.Xdv(1,j)*1000;Maneuver.Maneuver.AttitudeControl.Ydv(2,j)*1000;Maneuver.Maneuver.AttitudeControl.Zdv(3,j)*1000;satellite2.Propagator.MainSequence.Insert(eVASegmentTypePropagate,PropagateName,Propagate);Propagate3satellite2.Propagator.MainSequence.Item(PropagateName);Propagate3.PropagatorNameEarth Point Mass;Propagate3.Properties.Color255;Propagate3.StoppingConditions.Item(0).Properties.Trip delta_t; end satellite2.Propagator.MainSequence.Cut(Propagate) root.ExecuteCommand([Astrogator */Satellite/,SatName2, RunMCS]); % 报告二颗卫星的三维关系 satellite.VO.OrbitSystems.InertialByWindow.IsVisible0; satellite2.VO.OrbitSystems.InertialByWindow.IsVisible0; satellite2.VO.OrbitSystems.Add(Satellite/Target VVLH System) satellite.VO.Vector.RefCrdns.Item(2).Visible1;targetdataroot.ExecuteCommand([Report_RM */Satellite/Target Style VVLH TimePeriod 26 Jan 2024 04:00:00.000 26 Jan 2024 4:30:00.000 TimeStep 1]); Numtargetdata.Count; root.ExecuteCommand(Astrogator */Satellite/Target ClearDWCGraphics); root.ExecuteCommand(Astrogator */Satellite/Chaser ClearDWCGraphics); for j1:Num-2structregexp(targetdata.Item(j),,,split);Tar_x(j)str2double(struct{2});Tar_y(j)str2double(struct{3});Tar_z(j)str2double(struct{4}); endfigure(1) plot3(Tar_x(1:floor(t)),Tar_y(1:floor(t)),Tar_z(1:floor(t)),LineWidth,1); hold on plot3(tarx,tary,tarz,LineWidth,1) axis([-1.5 1.5 -1.5 1.5 -1.5 1.5]) set(gca,XDir,reverse); set(gca,YDir,reverse); set(gca,ZDir,reverse); xlabel(X axis(km),FontName,Times New Roman) ylabel(Y axis(km),FontName,Times New Roman) zlabel(Z axis(km),FontName,Times New Roman) title(e0.1,Perigee500km,FontName,Times New Roman) grid onplot3(rho1_vec(1,:),rho1_vec(2,:),rho1_vec(3,:),g.) plot3(delta_r(1),delta_r(2),delta_r(3),r.)legend(transfer trajectory(STK),trasnfer trajecoty(TH),Impulsive Point,Original,Location,Northeast) 得到最终的结果滑移的曲线如图所示 下图是每次施加脉冲前和施加脉冲后的位置速度将上述脉冲形式写入STK使用二体预报发现计算出来的脉冲曲线与TH状态转移方程计算出来的曲线不一致存在微小的误差。并且随着脉冲次数的增多该误差会更加明显。
http://www.w-s-a.com/news/878097/

相关文章:

  • 网站建设公司行业建设网站需要提供什么资料
  • 别人的做网站网页打不开图片
  • 北京专业网站设计推荐怎么建立网站网址
  • 上海网站建设开发公司哪家好网站数据搬家
  • 杭州建站平台哪里有免费的网站推广软件
  • 深圳极速网站建设服务什么网站可以做产品入驻
  • 淄博易宝网站建设app推广拉新公司
  • 营销型外贸网站建设软件备案域名出租
  • 网站域名禁止续费m99ww094cn 苍井空做的网站
  • 上海建设工程网站大同网站建设熊掌号
  • 设计类书籍网站江苏网站建设简介模板
  • 手机企业网站推广c 手机app开发
  • 网站建设需要多少天凡客建设网站稳定吗
  • 房天下网站建设女生说wap是什么意思
  • 网站开发安全机制北京做网站多少钱合理
  • 扁平化 公司网站建设大型视频网站需要的资金量
  • 免费建各种网站淄博网站建设yx718
  • 凡科网建站入门教程运城市网站建设
  • 黄浦区未成年人思想道德建设网站oa系统是什么
  • 微信里的网站怎么做电子商务网站开发平台
  • 易企秀网站怎么做轮播图网站建设张世勇
  • 网站备案幕布尺寸建立网页的几个步骤
  • pc网站页面找出网站所有死链接
  • 专业做seo的网站网站内连接
  • 阿里云网站开发服务器想开网站建设公司
  • 网站开发不足之处茶叶seo网站推广与优化方案
  • 响应式网站建设系统网站优化怎么做 有什么技巧
  • 班级网站做哪些方面wordpress标签 扩展
  • 如何在电商上购物网站Wordpress 域名授权插件
  • 网站建设后台怎么弄昆明如何做好关键词推广