轨道六根数 matlab,轨道六根数
在二体问题中,轨道根数(orbital factors)是描述物体运动轨迹的简便形式。三维空间中,唯一确定物体轨迹需要六个参数,如位置矢量和速度矢量(均为三维)可共同确定物体轨迹。此外,用六个轨道根数也可描述它。通常的轨道六根数指的是:半长轴$a$、离心率$e$、轨道倾角$i$、近心点辐角$\omega$、升交点经度$\Omega$和真近点角$\varphi$。经过三角函数运算,它们能表示出物体所处特定位置和速度。
轨道六根数如图所示。
值得注意的是,椭圆和双曲线轨道拥有完整的六根数。而抛物线轨道中不存在半长轴$a$,而用半通径$p$替代。且抛物线离心率$e$恒为1,故仅需五个轨道根数来描述抛物线轨道。
而在圆轨道中,描述轨道仅需四个参数,一般将真近点角$\varphi$与近心点辐角$\omega$合并为纬度辐角$u$,同时离心率$e$为0,矢量不再有意义。故只需要四个。
轨道六根数转位置速度矢量
轨道坐标系经过三次方向余弦矩阵变换即可变为中心天体惯性系。第一次变换时,轨道平面绕参考坐标系z轴转过$-\Omega$,升交线与参考坐标系x轴重合;第二次变换时,轨道平面绕参考坐标系x轴转过$-i$,轨道平面正法向与参考坐标系z轴重合;第三次变换时,轨道平面绕参考坐标系z轴转过$-\omega$,离心率矢量与参考坐标系x轴重合;最终,在参考坐标系下,物体坐标为${\left[ {r\cos \varphi ,r\sin \varphi ,0} \right]^\prime }$。整个过程为欧拉角序列3-1-3。
同时,注意到位置矢量的大小仅是半通径$p$和真近点角的函数,而半通径可由半长轴和离心率求出,或直接给出:
$$r = \frac{p}{1 + e\cos \varphi }$$
最终有:
$$\hat r = {R_3}( - \Omega ){R_1}( - i){R_3}( - \omega )\left[ {\begin{array}{*{20}{c}}
{r\cos \varphi }\\
{r\sin \varphi }\\
0
\end{array}} \right]$$
$$\hat r = \frac{p}{1 + e\cos \varphi }\left[ {\begin{array}{*{20}{c}}
{\cos \Omega \cos (\omega + \varphi ) - \sin \Omega \sin (\omega + \varphi )\cos i}\\
{\sin \Omega \cos (\omega + \varphi ) + \cos \Omega \sin (\omega + \varphi )\cos i}\\
{\sin (\omega + \varphi )\sin i}
\end{array}} \right]$$
由于运动中除了$\varphi$,其余轨道根数均不变,且轨道六根数可唯一确定位置矢量,因此位置矢量是$\varphi$的函数。从而有:
$$\hat v = \frac{d\hat r}{d\varphi }\frac{d\varphi }{dt}$$
同时注意到真近点角的微分为:
\[\frac{d\varphi }{dt} = \frac{\sqrt \mu }{p^{3/2}}{(1 + e\cos \varphi )^2}\]
其中$\mu$是中心天体引力常数。
最后,有:
$$\hat v = \sqrt {\frac{\mu }{p}} \left[ {\begin{array}{*{20}{c}}
{ - \cos \Omega (\sin (\omega + \varphi ) + e\sin \omega ) - \sin \Omega (\cos (\omega + \varphi ) + e\cos \omega )\cos i}\\
{ - \sin \Omega (\sin (\omega + \varphi ) + e\sin \omega ) + \cos \Omega (\cos (\omega + \varphi ) + e\cos \omega )\cos i}\\
{(\cos (\omega + \varphi ) + e\cos \omega )\sin i}
\end{array}} \right]$$
位置速度矢量转轨道六根数
位置速度矢量转轨道六根数的过程是依照轨道六根数的定义进行的。
首先求半通径$a$。若物体的速度大小为$v$,离中心天体的距离为$r$,则:
\[a = {\left( {\frac{2}{r} - \frac{v^2}{\mu }} \right)^{ - 1}}\]
$a$应为有限正数。若求出$a$为无穷,则表明轨道为抛物线,可忽略此步;若求出$a$为负,则表明轨道为双曲线,需改变$a$的符号。
进一步求离心率矢量$\hat e$:
$$\hat e = \frac{1}{\mu }\left[ {\left( {v^2} - \frac{\mu }{r} \right)\hat r - \left( {\hat r \cdot \hat v} \right)\hat v} \right]$$
轨道六根数中的离心率为离心率标量,即$\hat e$的模。若$e$为零向量,则说明轨道为圆。
再计算角动量$\hat h$:
$$\hat h = \hat r \times \hat v$$
若已经认定轨道为抛物线,则依据:
\[p = \frac{h^2}{\mu }\]
求出抛物线的轨道根数之一,即半通径。
已知角动量和z轴单位矢量$\hat z$,轨道倾角$i$即可求:
$$\cos i = \frac{\hat z \cdot \hat h}{h}$$
再计算升交线矢量${\hat n}$:
$$\hat n = \hat z \times \hat h$$
近心点辐角$\omega$可由此计算:
$$\cos \omega = \frac{\hat n \cdot \hat e}{ne}$$
如果$\hat z \cdot \hat e > 0$,即离心率矢量与z轴正半轴夹角为锐角,那么$\omega < {180^ \circ }$。
升交点经度$\Omega$也可算出:
$$\cos \Omega = \frac{\hat n \cdot \hat x}{n}$$
若$\hat y \cdot \hat n > 0$,即升交线与y轴交角为锐角,则$\Omega < {180^ \circ }$。
最后是真近点角$\varphi$:
$$\cos \varphi = \frac{\hat e \cdot \hat r}{er}$$
如果$\hat r \cdot \hat v > 0$,即位置矢量与速度矢量之间夹角为锐角,则$\varphi < {180^ \circ }$。
由此,椭圆、抛物线或双曲线的轨道根数全部求出。
若轨道在离心率计算时已被认定为圆,则不必计算真近点角$\varphi$与近心点辐角$\omega$,而依照下式计算纬度辐角$u$:
\[\cos u = \frac{\hat n \cdot \hat r}{nr}\]
如果$\hat r \cdot \hat z > 0$,即物体在xy平面上方,则$u < {180^ \circ }$。
其他表示
在一般轨道中,除了上述的六个轨道根数的组合,轨道六根数还有其他组合方式。例如,真近点角$\varphi$可换为平近点角$M$或平经度$L$;升交点经度$\Omega$或近心点辐角$\omega$可换为近心点经度${\tilde \omega }$等。
附:Matlab实现互化
轨道六根数转位置速度矢量
function [Coordinate,V]=Classic_Coordinate(data,miu)
%/* Classic_Coordinate: convert orbit factors to velocity and location
% miu: GM of center body
% data: For ellipse and hyperbola: a;e;i;w;W;fai of transfer orbit
% %a:semi-major axis; e:eccentricity; i:inclination;
% %w:argument of periapsis; W:longitude of ascending node; fai:true anomaly.
% For parabola: p;i;w;W;fai of transfer orbit
% %p:semi latus rectum; i:inclination; w:argument of periapsis;
% %W:longitude of ascending node; fai:true anomaly.
% For circle: a;i;u;W; of transfer orbit
% %a:radius; i:inclination; u:argument of latitude;
% %W:longitude of ascending node;
% Coordinate:location
% V:velocity */
if length(data)==6 % ellipse and hyperbola
a=data(1);
e=data(2);
i=data(3);
w=data(4);
W=data(5);
fai=data(6);
p=abs(a*(1-e^2));
u=w+fai;
elseif length(data)==5 % parabola
p=data(1);
i=data(2);
w=data(3);
W=data(4);
fai=data(5);
u=w+fai;
else %circle
p=data(1);
e=0;
i=data(2);
w=0;
u=data(3);
W=data(4);
fai=0;
end
Coordinate=p/(1+e*cos(fai))*[cos(W)*cos(u)-sin(W)*sin(u)*...
cos(i) sin(W)*cos(u)+cos(W)*sin(u)*cos(i) sin(i)*sin(u)]';
V=(miu/p)^(0.5)*[-cos(W)*(sin(u)+e*sin(w))-sin(W)*(cos(u)...
+e*cos(w))*cos(i) -sin(W)*(sin(u)+e*sin(w))+cos(W)*(cos(u)+...
e*cos(w))*cos(i) sin(i)*(cos(u)+e*cos(w))]';
end
位置速度矢量转轨道六根数
function [data]=Coordinate_Classic(R,V,miu)
%/* Classic_Coordinate: convert orbit factors to velocity and location
% miu: GM of center body
% data: For ellipse and hyperbola: a;e;i;w;W;fai of transfer orbit
% %a:semi-major axis; e:eccentricity; i:inclination;
% %w:argument of periapsis; W:longitude of ascending node; fai:true anomaly.
% For parabola: p;i;w;W;fai of transfer orbit
% %p:semi latus rectum; i:inclination; w:argument of periapsis;
% %W:longitude of ascending node; fai:true anomaly.
% For circle: a;i;u;W; of transfer orbit
% %a:radius; i:inclination; u:argument of latitude;
% %W:longitude of ascending node;
% Coordinate:location
% V:velocity */
r=sqrt(dot(R,R));
if 2/r-dot(V,V)/miu~=0
a=1/abs(2/r-dot(V,V)/miu);
end
E=(dot(V,V)/miu-1/r)*R-dot(R,V)/miu*V;
e=sqrt(dot(E,E));
H=cross(R,V);
h=sqrt(dot(H,H));
p=h^2/miu;
Z=[0 ;0 ;1];
X=[1 ;0 ;0];
Y=[0 ;1 ;0];
N=cross(Z,H);
n=sqrt(dot(N,N));
i=acos(dot(Z,H)/h);
if e~=0
w=acos(dot(N,E)/n/e);
if dot(Z,E)<0
w=2*pi-w;
end
else
u=acos(dot(N,R)/n/r);
if dot(R,Z)<0
u=2*pi-u;
end
end
W=acos(dot(X,N)/n);
if dot(Y,N)<0
W=2*pi-W;
end
if e~=0
fai=acos(dot(E,R)/e/r);
if dot(R,V)<0
fai=2*pi-fai;
end
end
if 2/r-dot(V,V)/miu~=0
if e~=0
data=[a;e;i;w;W;fai];
else
data=[a;i;u;W];
end
else
data=[p;i;w;W;fai];
end
end
轨道六根数 matlab,轨道六根数相关推荐
- matlab机器人轨迹规划仿真程序,基于MATLAB的六自由度机器人轨迹规划与仿真.pdf...
基于MATLAB的六自由度机器人轨迹规划与仿真 学兔兔 l 訇 似 基于MATLAB的六自由度机器人轨迹规划与仿真 Trajectory planning and simulation of six- ...
- MATLAB仿真斜坡信号的校正,控制系统仿真matlab第六章习题答案.doc
控制系统仿真matlab第六章习题答案 控制系统仿真第六章课后题 作业6.1 在图6.1中,已知单位负反馈系统被控对象的传递函数为 试编写matlab程序,设计系统的超前矫正器Gc(s),要求: 1) ...
- 六自由度方程组 matlab,采用Matlab的六自由度机器人三维运动学仿真_李庆.pdf
采用Matlab的六自由度机器人三维运动学仿真_李庆 第 ( ) 3 卷 第 期 华侨大学学报 自然科学版 7 3 Vol.37 No.3 年 月 ( ) 2016 5 JournalofHua ia ...
- MATLAB与STK互联44:生成太阳同步轨道、地球同步轨道、闪电轨道等特殊轨道
在进行仿真任务时,我们经常会用到太阳同步轨道.地球同步轨道.闪电轨道等一系列特殊的轨道.在设计这些轨道时,参数往往都有内在相关性或一定的约束,所以轨道参数并不是随意设置.在过去博文中,设置卫星参数都很 ...
- 给出初始参数和轨道用matlab,轨道电路MATLAB仿真及应用+源码
摘要:轨道电路是铁路信号自动控制的基础设备.轨道电路的传输性能在很大程度上取决于钢轨线路的电气特性.钢轨线路的特性是由它的一次参数和二次参数决定的.对轨道电路进行仿真可以更加直观地体现了轨道电路一次参 ...
- matlab 状态观测器 ppt,实验六利用MATLAB设计状态观测器
实验六利用MATLAB设计状态观测器 现代控制理论第五次上机实验报告 实验六实验六利用利用 MATLABMATLAB 设计状态观测器设计状态观测器 实验目的:实验目的: 1.学习观测器设计算法: 2. ...
- 地球同步轨道、太阳同步轨道知识
所谓人造地球卫星轨道就是人造地球卫星绕地球运行的轨道.这是一条封闭的曲线.这条封闭曲线形成的平面叫人造地球卫星的轨道平面,轨道平面总是通过地心的. 人造地球卫星轨道按离地面的高度,可分为低轨道.中轨道 ...
- Kymeta在军事战斗实验室演习中展示低地轨道和地球同步轨道卫星通信互操作性
Kymeta™ u8终端是目前第一个也是唯一一个能够与低地球轨道和地球同步轨道星座建立移动通信和暂停通信的终端 华盛顿州雷德蒙德--(美国商业资讯)--致力于实现全球移动连接的通信公司Kymeta 今 ...
- 转--地球同步轨道、太阳同步轨道知识
所谓人造地球卫星轨道就是人造地球卫星绕地球运行的轨道.这是一条封闭的曲线.这条封闭曲线形成的平面叫人造地球卫星的轨道平面,轨道平面总是通过地心的. 人造地球卫星轨道按离地面的高度,可分为低轨道.中轨道 ...
最新文章
- 触发器实现两表之间的INSERT,DELETE,UPDATE
- python3字典升序排序_Python字典和元组总结
- 在Ubuntu 8.04上安装Domino R8.02
- 4.1.4 文件的物理结构(上下)
- idea里自动创建构造函数
- CAD/CAM/CNC行业常用功能解决方式
- go:linkname
- Win7 下安装 Sketsa.SVG.Editor v7.0.1
- linux 共享内存区及进程间通信
- 【渝粤教育】电大中专药理学基础 (2)_1作业 题库
- C++操作题-定义并实现一个银行类(Bank)
- 关于虾皮无货源一件代发你了解多少?详讲虾皮物流发货流程
- 如何购买云服务器----以华为云服务器为例
- 360度全景标定方法_一种车辆行驶360度全景行车标定板的制作方法
- 智能电网如何巡检?这个方法才是标配
- iOS小技能:-fobjc-arc和 -fno-objc-arc 的使用(在非ARC工程中集成ARC代码、在ARC工程中集成非ARC的第三方代码)
- SQL Server T-SQL数据查询
- 水星UD6S网卡Linux驱动,水星UD6S无线网卡驱动
- C# 获取行政区划代码(省、市、区、街道、村)
- Unity-ProjectSetting-Quality-SkinWeights设置导致穿模