绕三轴旋转公式

本文中定义旋转正方向是指沿轴从正往负看,逆时针为正。
NED坐标系到机体坐标系的变换

1.绕轴旋转公式

1.1 绕x轴旋转 ϕ \phi ϕ角度

(1) R x ( ϕ ) = [ x ′ y ′ z ′ ] = [ 1 0 0 0 c o s ϕ s i n ϕ 0 − s i n ϕ c o s ϕ ] [ x y z ] R_x(\phi)=\left[ \begin{matrix}x'\\ y'\\ z'\end{matrix} \right]= \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & cos\phi & sin\phi \\ 0 & -sin\phi & cos\phi \end{matrix} \right] \left[ \begin{matrix} x\\ y\\ z \end{matrix} \right]\tag{1} Rx(ϕ)=xyz=1000cosϕsinϕ0sinϕcosϕxyz(1)
其中, [ x , y , z ] [ \begin{matrix}x,y,z\end{matrix}] [x,y,z]表示旋转 θ \theta θ之前坐标的坐标,而 [ x ′ , y ′ , z ′ ] [ \begin{matrix}x',y',z'\end{matrix}] [x,y,z]表示旋转之后的坐标,同理可以得到其他两轴的旋转公式。

1.2 绕y轴旋转 θ \theta θ

(2) R y ( θ ) = [ x ′ y ′ z ′ ] = [ c o s θ 0 − s i n θ 0 1 0 s i n θ 0 c o s θ ] [ x y z ] R_y(\theta)=\left[ \begin{matrix} x'\\ y'\\ z' \end{matrix} \right]= \left[ \begin{matrix} cos\theta& 0& -sin\theta \\ 0& 1& 0 \\ sin\theta& 0& cos\theta \end{matrix} \right] \left[ \begin{matrix} x\\ y\\ z \end{matrix} \right]\tag{2} Ry(θ)=xyz=cosθ0sinθ010sinθ0cosθxyz(2)

1.3 绕z轴旋转 ψ \psi ψ

(3) R z ( ψ ) [ x ′ y ′ z ′ ] = [ c o s ψ s i n ψ 0 − s i n ψ c o s ψ 0 0 0 1 ] [ x y z ] R_z(\psi)\left[ \begin{matrix} x'\\ y'\\ z' \end{matrix} \right]= \left[ \begin{matrix} cos\psi& sin\psi& 0 \\ -sin\psi& cos\psi& 0 \\ 0& 0& 1 \end{matrix} \right] \left[ \begin{matrix} x\\ y\\ z \end{matrix} \right]\tag{3} Rz(ψ)xyz=cosψsinψ0sinψcosψ0001xyz(3)

1.4 北东地坐标系转换到机体转换矩阵

R N E D 2 b = R x ( ϕ ) R y ( θ ) R z ( ψ ) = R_{NED2b}=R_x(\phi)R_y(\theta)R_z(\psi)= RNED2b=Rx(ϕ)Ry(θ)Rz(ψ)= (4) [ c o s ( θ ) c o s ( ψ ) c o s ( θ ) s i n ( ψ ) − s i n ( θ ) c o s ( ψ ) s i n ( θ ) s i n ( p h i ) − s i n ( ψ ) c o s ( ϕ ) s i n ( ψ ) s i n ( θ ) s i n ( ϕ ) + c o s ( ψ ) c o s ( ϕ ) c o s ( θ ) s i n ( ϕ ) s i n ( ψ ) s i n ( ϕ ) + c o s ( p s i ) s i n ( θ ) c o s ( ϕ ) s i n ( ψ ) s i n ( θ ) c o s ( ϕ ) − c o s ( ψ ) s i n ( ϕ ) c o s ( θ ) c o s ( ϕ ) ] \left[ \begin{matrix} cos(\theta)cos(\psi) & cos(\theta)sin(\psi) & -sin(\theta)\\ cos(\psi)sin(\theta)sin(phi)-sin(\psi)cos(\phi) & sin(\psi)sin(\theta)sin(\phi)+cos(\psi)cos(\phi) & cos(\theta)sin(\phi)\\ sin(\psi)sin(\phi)+cos(psi)sin(\theta)cos(\phi) & sin(\psi)sin(\theta)cos(\phi)-cos(\psi)sin(\phi) & cos(\theta)cos(\phi) \end{matrix} \right]\tag{4} cos(θ)cos(ψ)cos(ψ)sin(θ)sin(phi)sin(ψ)cos(ϕ)sin(ψ)sin(ϕ)+cos(psi)sin(θ)cos(ϕ)cos(θ)sin(ψ)sin(ψ)sin(θ)sin(ϕ)+cos(ψ)cos(ϕ)sin(ψ)sin(θ)cos(ϕ)cos(ψ)sin(ϕ)sin(θ)cos(θ)sin(ϕ)cos(θ)cos(ϕ)(4)
(5) [ X b Y b Z b ] = R N E D 2 b [ X N E D Y N E D Z N E D ] \left[ \begin{matrix} X_{b}\\Y_{b}\\Z_{b} \end{matrix} \right]=R_{NED2b} \left[ \begin{matrix} X_{NED}\\Y_{NED}\\Z_{NED} \end{matrix} \right]\tag{5} XbYbZb=RNED2bXNEDYNEDZNED(5)

2.角速度转换公式

根据北东地坐标系旋转到机体坐标系的顺序可知
(5) [ p q r ] = [ 1 0 0 ] ϕ ˙ + R x ( ϕ ) [ 0 1 0 ] θ ˙ + R x ( ϕ ) R y ( θ ) [ 0 0 1 ] ψ ˙ = [ 1 0 − s i n θ 0 c o s ϕ c o s θ s i n ϕ 0 − s i n ϕ c o s θ c o s ϕ ] [ ϕ ˙ θ ˙ ψ ˙ ] \left[ \begin{matrix} p\\q\\r \end{matrix} \right]= \left[ \begin{matrix} 1\\0\\0 \end{matrix} \right] \dot{\phi}+ R_x(\phi)\left[\begin{matrix}0\\1\\0 \end{matrix} \right]\dot{\theta}+ R_x(\phi)R_y(\theta) \left[\begin{matrix}0\\0\\1 \end{matrix} \right]\dot{\psi} = \left[ \begin{matrix} 1 & 0 & -sin\theta \\ 0 & cos\phi & cos\theta sin\phi \\ 0 & -sin\phi & cos\theta cos\phi \end{matrix} \right] \left[ \begin{matrix} \dot{\phi}\\\dot{\theta}\\\dot{\psi} \end{matrix} \right]\tag{5} pqr=100ϕ˙+Rx(ϕ)010θ˙+Rx(ϕ)Ry(θ)001ψ˙=1000cosϕsinϕsinθcosθsinϕcosθcosϕϕ˙θ˙ψ˙(5)
根据矩阵转置可求得
[ ϕ ˙ θ ˙ ψ ˙ ] = [ 1 t a n θ s i n ϕ t a n θ c o s ϕ 0 c o s ϕ − s i n ϕ 0 − s i n ϕ c o s θ c o s ϕ c o s θ ] [ p q r ] \left[ \begin{matrix} \dot{\phi}\\\dot{\theta}\\\dot{\psi} \end{matrix} \right] = \left[ \begin{matrix} 1 & tan\theta sin\phi & tan\theta cos\phi \\ 0 & cos\phi & -sin\phi \\ 0 & \frac{-sin\phi}{cos\theta} & \frac{cos\phi}{cos\theta} \end{matrix} \right] \left[ \begin{matrix} p\\q\\r \end{matrix} \right] ϕ˙θ˙ψ˙=100tanθsinϕcosϕcosθsinϕtanθcosϕsinϕcosθcosϕpqr

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 三运动算法数学模型通常使用欧拉角或四元数来描述物体的方向和姿态。其中,欧拉角由三个角度组成,分别为俯仰角、偏航角和滚转角,通常用符号φ、θ和ψ表示。欧拉角的数学公式为: R(φ,θ,ψ) = Rz(ψ) Ry(θ) Rx(φ) 其中,Rx(φ)、Ry(θ)和Rz(ψ)分别为绕X、Y、Z旋转旋转矩阵。四元数表示物体的旋转姿态,通常用符号q表示。四元数的数学公式为: q = w + xi + yj + zk 其中,w为实部,x、y、z为虚部,i、j、k为基向量,满足i²=j²=k²=ijk=-1。 ### 回答2: 三运动算法是指在三维空间中对运动进行建模和计算的算法。它可以用来描述刚体沿着各个向的运动,包括平移和旋转。 对于平移运动,其数学模型可以用以下公式表示: x = x0 + vxt y = y0 + vyt z = z0 + vzt 其中,x、y、z分别表示刚体在三个上的位置,x0、y0、z0表示初始位置,vx、vy、vz表示速度,t表示时间。 对于旋转运动,我们常用四元数来描述旋转的方向和角度。使用四元数表示的旋转矩阵Q,可以通过以下公式进行更新: Q' = Q + 0.5 * (ω × Q) * dt 其中,Q'表示更新后的旋转矩阵,ω表示旋转的角速度,×表示向量的叉乘运算,dt表示时间间隔。 综合平移和旋转运动,我们可以将其统一表示为一个齐次变换矩阵T。对于初始位置和旋转矩阵,可以通过以下公式计算得到变换矩阵: T = [R t; 0 1] 其中,R表示旋转矩阵,t表示平移向量。 三运动算法数学模型的具体公式因应用场景的不同而有所差异,上述所提到的只是其中的一种常见形式。在实际应用中,我们可以根据具体的需求和系统动力学方程,进行相应的数学模型和公式的推导和求解。 ### 回答3: 三运动算法是指计算物体在三个向(x、y、z)上的运动轨迹及相关参数的算法。其数学模型可以用数学公式表示。 首先,我们需要定义坐标系,通常使用笛卡尔坐标系,其中x表示水平方向的运动,y表示垂直方向的运动,z表示前后方向的运动。 物体在坐标系中的运动可以由位置向量表示,通常用r(t)表示物体在时间t时刻的位置。位置向量可以分解为x、y、z方向上的分量,即r(t) = (x(t), y(t), z(t))。 物体的运动可以由速度向量表示,通常用v(t)表示物体在时间t时刻的速度。速度向量也可以分解为x、y、z方向上的分量,即v(t) = (vx(t), vy(t), vz(t))。 根据物体在各向上的运动参数,我们可以推导出其数学模型。比如,物体在x上的位移可以由速度积分得到,即x(t) = ∫vx(t)dt + x0,其中x0为初始位置。同理,y(t)和z(t)也可以通过相应的分量积分得到。 在实际应用中,我们可能还需要考虑物体在三上的加速度和时间的变化等额外因素。因此,三运动算法的数学模型可能会更加复杂,涉及到微分方程和积分等数学方法。 综上所述,三运动算法的数学模型可以用位置向量和速度向量表示,并通过积分等数学方法推导出相应的数学公式。这些数学公式可以帮助我们理解和模拟物体在三个向上的运动行为。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值