2026a

# constturn


恒转弯率运动模型

函数库: TyRadar

# 语法

updatedstate = constturn(state)
updatedstate = constturn(state, dt)
updatedstate = constturn(state, w, dt)

# 说明

updatedstate = constturn(state) 返回经过一秒步进时间后从上一状态 state 得到的更新状态 updatestate,运动模式为恒转弯率。恒转弯率意味着 x-y 平面上的运动遵循恒定角速度,垂直 z 方向上的运动遵循恒定速度模型。示例


updatedstate = constturn(state, dt) 还指定了时间步长 dt。示例


updatedstate = constturn(state, w, dt) 还指定了噪声 w。

# 示例

恒转弯率运动的更新状态

定义二维恒转弯率运动的初始状态。转动速度为 12°/s。将状态更新到 1s 后。

using TyRadar
state = [500, 0, 0, 100, 12]
state = constturn(state)
state = 5-element Vector{Float64}:
 489.5662479151024
 -20.791169081775934
  99.27051996072068
  97.81476007338057
  12.0
以指定时间步长更新恒转弯率运动状态

定义二维恒转弯率运动的初始状态。转动速度为 12°/s。将状态更新到 0.1s 后。

using TyRadar
state = [500, 0, 0, 100, 12]
state = constturn(state, 0.1)
state = 5-element Vector{Float64}:
 499.89528407275975
  -2.094241988335696
   9.999268934226762
  99.97806834748455
  12.0

# 输入参数

state - 状态向量
实值 5 元向量 | 实值 7 元向量 | 5 × N 实值矩阵 | 7 × N 实值矩阵

二维或三维空间中恒转弯率运动模型的状态向量,指定为实值向量或矩阵。

  • 指定为 5 元素矢量时,状态矢量描述的是 x-y 平面上的二维运动。可以将状态向量指定为行向量或列向量。状态向量的分量为 [x; vx; y; vy; omega],其中 x 代表 x 坐标,vx 代表 x 方向的速度。y 代表 Y 坐标,vy 代表 Y 方向的速度;

当指定为 5 × N 矩阵时,每列代表一个不同的状态向量;

  • 指定为 7 元素矢量时,状态矢量描述的是三维运动。可以将状态向量指定为行向量或列向量。状态向量的分量为 [x; vx; y; vy; omega; z; vz],其中 x 代表 x 坐标,vx 代表 x 方向的速度。y 表示 y 坐标,vy 表示 y 方向的速度。omega 表示转弯速率。z 表示 z 坐标,vz 表示 z 方向上的速度;

当指定为 7 × N 矩阵时,每列代表一个不同的状态向量。N 代表状态数。

位置坐标以 m 为单位。速度坐标单位为 m/s。转弯率单位为 °/s。

示例: [5; 0.1; 4; -0.2; 0.01]

dt - 滤波器的时间步长间隔
1.0(默认) | 正标量

滤波器的时间步长间隔,指定为正标量。时间单位为 s。

示例: 0.5

w - 状态噪声
标量 | 实值 (D+1)×N 矩阵

状态噪声,指定为标量或实值 (D+1)-length × N 矩阵。D 是运动维度的数量,N 是状态向量的数量。分量是每个列对于 2-D 运动是 [ax; ay; alpha],或者对于 3-D 运动是 [az; ay; alpha; az]。ax、ay 和 az 分别是 x、y 和 z 轴上的线性加速度噪声值,alpha 是角加速度噪声值。如果指定为标量,则该值将扩展为 (D+1)×N 矩阵。

# 输出参数

updatedstate - 更新的状态向量
实值向量 | 实值矩阵

更新的状态向量,以实值向量或实值矩阵的形式返回,其元素个数和维数与输入状态向量相同。

# 另请参阅

constaccjac | ctmeas | ctmeasjac | constvel | constveljac | cvmeas | cvmeasjac