Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Математическое моделирование объектов и систем управления. Учебно-методическое пособие

.pdf
Скачиваний:
0
Добавлен:
12.08.2026
Размер:
810 Кб
Скачать

x''cos ϑcos ψ + y ''(cos γsin ϑcos ψ −sin γsin ψ) + z ''(sin γsin ϑcos ψ −cos γsin ψ)

 

x''sin ϑ+ y ''cos γcos ϑ− z ''sin γcos ϑ

 

=

.

 

 

 

x''cos ϑsin ψ + y ''(cos γsin ϑsin ψ +sin γcos ψ) + z ''(sin γsin ϑsin ψ +cos γcos ψ)

Вынося в выражении (1.7) отдельный вектор (x’’y’’z’’)Т, определим конечную матрицу перехода из связанной СК в навигационную:

 

 

 

N

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

U =

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

E

 

 

 

 

(1.8)

cos ϑcos ψ

cos γsin ϑcos ψ −sin

γsin ψ

sin γsin ϑcos ψ −cos γsin ψ x''

 

 

sin ϑ

cos γcos ϑ

 

 

sin γcos ϑ

 

 

,

=

 

 

 

y ''

 

 

 

cos γsin ϑsin ψ +sin γcos ψ

 

 

 

 

 

cos ϑsin ψ

sin γsin ϑsin ψ +cos γcos ψ z ''

 

где

 

 

 

 

 

 

 

 

 

 

cos ϑcos ψ −cos γsin ϑcos ψ −sin γsin ψ

sin γsin ϑcos ψ −cos γsin ψ

 

Cn =

 

sin ϑ

cos γcos ϑ

 

sin γcos ϑ

 

 

.(1.9)

b

 

 

 

 

 

 

 

 

 

 

 

 

cos γsin ϑsin ψ +sin γcos ψ

 

 

 

 

 

cos ϑsin ψ

sin γsin ϑsin ψ +cos γcos ψ

 

Оператор Cbn называется матрицей направляющих косинусов (МНК), которая описывает параметры движения БПЛА в навигационной СК (обозначена как «n» – navigation – навигация) относительно связанной («b» – body – тело) с БПЛА СК. Зная углы ориентации БПЛА, можно с помощью нее получить проекции координат состояния БПЛА на оси NUE.

В целях упрощения моделирования будем рассматривать малые величины ψ, γ, ϑ в пределах –5о…5о или –0,0872…0,0872 рад. Учитывая, что при малых углах sinα ≈ α, cosα ≈ 1, перепишем МНК в более упрощенной форме:

 

1

−ϑ− γψ

γϑ−ψ

 

Cn =

 

ϑ

1

−γ

.

(1.10)

b

 

 

 

 

 

 

 

 

ψ

−ϑψ + γ

 

 

 

 

 

γϑψ +1

 

Произведениями γψ, γϑ, ϑψ, γϑψ пренебрегаем в силу их малости. Тогда матрица Cbn будет представлена только углами поворота:

 

1

−ϑ

−ψ

 

Cn =

 

ϑ

1

−γ

.

(1.11)

b

 

 

 

 

 

 

 

 

ψ

γ

1

 

 

 

 

 

 

11

Обозначим вектор абсолютных ускорений БПЛА вдоль осей x, y, z через [ax ay az]T, а вектор угловой скорости вращения вокруг них как [ωx ωy ωz]T. Проекции ускорений на оси навигационной СК вычисляются по формуле

aNaUaE

 

ax

 

 

=Cn a

.

(1.12)

 

b

y

 

 

 

 

 

 

az

 

Динамика линейных скоростей в проекциях на оси NUE описывается уравнением

W

 

a

 

 

 

 

N

 

N

 

(1.13)

WU

= aU

.

 

 

 

 

 

 

WE

aE

 

 

Подставляя правую часть (1.12) в выражение (1.13), получаем:

W

 

1

 

N

 

ϑ

или WU

=

 

 

 

ψ

WE

 

−ϑ −ψ 1 −γ

γ1

W

 

a

 

 

 

 

N

n

x

 

(1.14)

WU

=Cb ay

 

 

 

 

 

 

 

WE

az

 

 

axay .az

Для преобразования угловых скоростей вращения БПЛА вокруг осей x, y, z в проекции на оси навигационной СК, используется коссометрическая матрица вида [1]:

 

0

 

−ωz

ωy

 

 

ωz

 

0

 

 

(1.15)

[ω ×] =

 

−ωx

 

−ω

y

ω

x

0

 

 

 

 

 

 

 

 

Динамика углового положения описывается как произведение (1.11) и (1.15) и называется уравнением Пуассона [1]:

12

1

или d ϑ dt ψ

 

 

 

n

=C

n

[ω ×]

 

 

 

 

C

 

 

 

 

 

 

b

 

b

 

 

 

−ϑ

−ψ

1

−ϑ

−ψ

0

−ωz

1

 

 

ϑ

 

1

 

 

ωz

0

−γ

=

 

−γ

 

 

 

ψ γ

 

 

−ωy

ωx

γ 1

 

 

1

(1.16)

ωy

−ωx .

0

Запишем выражения для динамики каждого элемента матрицы Cbn, учитывая (1.16):

n

(1,1) = 0 = −ωzϑ+ωyψ;

 

n

(1, 2)

 

 

 

 

 

 

Cb

 

Cb

= −ϑ= −ωz −ωxψ;

 

n

(1,3) = −ψ = ωy −ωxϑ;

 

n

 

 

 

 

 

 

 

Cb

Cb (2,1) = ϑ= ωz y γ;

 

 

n

(2, 2) = 0 = −ω

ϑ−ω

γ;

 

n

(2,3)

= −γ = ω

ϑ−ω

;

(1.17)

C

 

C

b

 

 

z

 

 

x

 

 

b

 

 

y

 

x

 

 

n

(3,1)

= ψ = ω

γ −ω

;

n

(3, 2) = γ = −ω

ψ +ω

;

 

 

C

C

 

 

 

b

 

z

 

y

 

 

 

b

 

 

z

 

x

 

 

 

n

(3,3)

= 0 = ω

ψ −ω

 

γ.

 

 

 

 

 

 

 

 

 

C

 

 

 

 

 

 

 

 

 

 

b

 

y

 

x

 

 

 

 

 

 

 

 

 

 

 

Из системы (1.17) оставим только уравнения с положительными производными элементов МНК:

ϑ= ωz y γ;

γ = −ωzψ +ωx ;

(1.18)

ψ = ωz γ −ωy .

 

Из системы (1.14) получим динамическую модель линейных скоростей WN, WU, WE:

W

= a

x

a

ϑ−a

ψ;

 

N

 

y

 

 

z

 

 

 

W

= a

 

ϑ+ a

y

a

γ;

(1.19)

U

x

 

 

z

 

 

 

W

= a

 

ψ + a

γ + a

.

 

E

x

 

 

y

 

z

 

 

В уравнениях (1.18) и (1.19) также необходимо учитывать случайную составляющую шума параметров ax, ay, az и ωx, ωy, ωz. Сюда входят погрешности датчиков угловой скорости и ускорения, а также ветровое возмущение, турбулентные потоки воздуха и т.д. Будем обозначать ее как δax, δay, δaz иδωx, δωy, δωz соответственно для каждого из измерений.

13

Тогда выражения (1.18) и (1.19) преобразуются к виду:

 

 

 

 

 

 

+δωy )γ = (ωz y γ) +(δωz +δωy γ);

 

ϑ= (ωz +δωz ) +(ωy

 

γ = −(ωz +δωz )ψ +(ωx +δωx ) = −ωzψ +ωx +(δωx −δωzψ);

 

ψ = (ωz +δωz )γ −(ωy +δωy ) = ωz γ −ωy +(δωz γ −δωy );

 

W

= (a

x

a

) (a

y

a

y

)ϑ−(a

z

a

)ψ =

 

N

 

x

 

 

 

 

 

z

 

 

= (ax ayϑ−azψ) +(δax −δayϑ−δazψ);

(1.20)

W

= (a

x

a

) +(a

y

a

y

) (a

z

a

)γ =

 

U

 

x

 

 

 

 

z

 

 

 

=(axϑ+ ay az γ) +(δayϑ+δaxϑ+δaz γ); WE = (ax ax )ψ +(ay ay )γ −(az az ) =

=(axψ + ay γ + az ) +(δay γ +δaxψ +δaz ).

Вцелях упрощения моделирования исключим из рассмотрения

проекцию скорости на вертикальную ось WU = 0. Проведем исследования для случая, когда БПЛА движется с постоянными скоростями

WN, WE, а следовательно, ускорения равны нулю, углы ориентации ψ, γ, ϑ не изменяются. Колебания значений WN, WE, ψ, γ, ϑ будут обусловлены лишь шумовыми составляющими δωx, δωy, δωz и δax, δay, δaz. В качестве вектора наблюдения возьмем y = (WN WE).

Выполним замену переменных:

ϑ→ x1, γ → x2

,ψ → x3 ,WN x4

,WE x5

,

(1.21)

ωx u1,ωy u2 , ωz u3 , ax u4 , az u5 .

 

Будем рассматривать систему (1.20) в виде динамической модели:

x1 = ωy x2 +u3 + w1;

 

x2 = −ωz x3 +u1 + w2 ;

 

x3 = ωz x2 u2 + w3 ;

 

x4 = −ay x1 az x3 +u4 + w4 ;

(22)

x5 = ay x2 + ax x3 +u5 + w5 ;

 

y1 = x4 +v1; y2 = x5 +v2 ,

14

где v1, v2 – шум измерений скорости СНС;

w 1, w2, w3, w4, w5 – шум каждой из координат состояния x1, x2, x3, x4, x5 соответственно, определяемый из (1.20):

w1 = δωz +δωy γ;

 

w2

= δωx −δωzψ;

 

w3

= δωz γ −δωy ;

(1.23)

w4 = δax −δayϑ−δazψ; w5 = δay γ +δaxψ +δaz .

В общем виде динамическая модель движения БПЛА, исходя из (1.21) описывается уравнением:

x = Ax + Bu + w, x(0),

(1.24)

y =Cx +v.

 

При этом:

x =(x1 x2 x3 x4 x5 )T , u =(u1 u2 u3 u4 u5 )T , w =(w1 w2 w3 w4 w5 )T ,v =(v1 v2 )T ,

0

ωy

0

0

0

0

0

1

0

0

 

 

0

0

−ωz

0

0

 

 

1

0

0

0

0

 

 

 

 

 

 

 

A =

0

ωz

0

0

0

 

, B =

0

1 0 0 0

 

,

 

ay

0

az

0

0

 

 

0

0

0

1

0

 

(1.25)

 

 

 

 

 

0

ay

ax

0

0

 

 

0

0

0

0

1

 

 

 

 

 

 

 

0

0

0

1

0

 

,

C =

0

0

0

0

1

 

 

 

 

где B – матрица управления; С – матрица наблюдения; y – вектор выхода модели.

Пусть координаты состояния, представленные вектором x, измеря-

ются с шагом h. Тогда, учитывая, что производная

x =

x(k +1) x(k)

,

h

преобразуем (1.24) в дискретную модель:

 

 

 

 

 

15

x(k +1) x(k)

= Ax(k) + Bu(k) + w(k)

 

h

 

 

 

x(k +1) = x(k) + h(Ax(k) + Bu(k) + w(k))

(1.26)

x(k +1) = x(k)(E + Ah) + Bh u(k) + h w(k),

z(k) = Hx(k) +v(k),

где x(k + 1), x(k) – координаты состояния системы, измеренные на (k + 1)-м и k-м шагах;

u (k), w(k), v(k) – вектор управления, шумов системы и измерений соответственно на k-м шаге;

E – единичная матрица размером (5×5).

Во избежание путаницы была выполнена замена вектора выхода y на z(k) и C на H в дискретной модели.

Обозначим матрицы в (26) как F = (E + Ah); N = Bh. Если принять h = 1, то матрица управления N останется без изменения, а матрица состояния F примет вид

 

1

ωy

0

0

0

 

 

 

0

1

−ωz

0

0

 

 

 

 

 

F =

0

ωz

1

0

0

.

(1.27)

 

ay

0

az

1

0

 

 

 

 

 

 

0

a

y

a

x

0

1

 

 

 

 

 

 

 

 

 

 

Тогда дискретная динамическая модель движения БПЛА:

x(k +1) = Fx(k) + Nu(k) + w(k);

(1.28)

z(k) = Hx(k) +v(k).

 

1.3 Модель оптимального фильтра Калмана для САУ БПЛА

Фильтр Калмана находит широкое применение в области автоматизации и управления навигационными системами. Он позволяет по серии неточных измерений z(k) выполнять фильтрацию зашумленных сигналов, оценивать ненаблюдаемые координаты и прогнозировать будущее состояние системы.

16

Прежде чем переходить непосредственно к разработке модели фильтра, следует дать ряд определений некоторых терминов, которые будут встречаться в дальнейшем.

Корреляция – взаимосвязь двух или более случайных величин, которые с некоторой допустимой степенью точности можно считать таковыми. При этом, если нет никакой связи между параметрами измеренными в момент времени t и t + t, t + t и t + 2Δt и т.д., то полагают, они некоррелированы по времени.

Математическое ожидание (μ) – среднее значение случайной величины.

Пусть имеется выборка из n измерений угловой скорости и ускоре-

ния [ωx1, ωx2, …, ωxn], [ωy1, ωy2, …, ωyn], [ωz1, ωz, …, ωzn],[ax1, ax2, …, axn], [ay1, ay2, …, ayn], [az1, az2, …, azn]. У каждого из них есть шумовая составляющая [δωx1, δωx2, …, δωxn], [δωy1, δωy2, …, δωyn], [δωz1, δωz, …, δωzn],[δax1, δax2, …, δaxn], [δay1, δay2, …, δayn], [δaz1, δaz2, …, δazn].

Найдем математическое ожидание шума, например, для измерителя угловой скорости в проекции на ось x:

 

 

1

n

 

µδωx

=

δωxi .

(1.29)

 

 

n i=1

 

При отсутствии дрейфа или смещения нуля у приборов, как прави-

ло, μ = 0.

Среднеквадратичное отклонение, СКО (σ) – показатель рассеи-

вания случайной величины относительно ее математического ожидания.

Параметр σ, в частности, в условиях предыдущего примера, вычисляется по формуле

 

 

 

 

 

 

 

1

n

)2 .

 

σδωx =

(δωxi −µδωx

(1.30)

 

n i=1

 

 

 

Дисперсия 2) – мера разброса случайной величины относительно ее математического ожидания. Для ее вычисления достаточно СКО возвести в квадрат:

 

 

 

1

n

)2 .

 

σδω2

x

=

(δωxi −µδωx

(1.31)

 

 

 

n i=1

 

 

По формулам (1.29) – (1.31) аналогично определяются μ, σ, σ2 для остальных измерителей.

17

Спектральная мощность сигнала – функция, описывающая рас-

пределение мощности в зависимости от частоты.

Белый шум – шум, спектральная мощность которого одинакова на всех частотах или слабо отличается в рассматриваемом диапазоне частот.

Нормальное распределение (распределение Гаусса) – распределе-

ние, которое имеет функцию плотности вероятности вида

 

 

1

 

e

( x−µ)2

 

f (x) =

 

 

2σ2

.

(1.32)

 

 

 

 

σ

 

2π

 

 

 

 

 

 

 

Существует ошибочное предположение, что данный вид шума является эквивалентным понятию «белый шум». Однако термин «белый» имеет отношение к корреляции сигнала в два различных момента времени, которая не зависит от распределения амплитуды шума. Белый шум может иметь не только распределение Гаусса, но и Пуассона, Коши и т.д.

Ковариация (cov) – показатель линейной зависимости двух величин, представленных выборкой случайных значений. Определим данный параметр для вектора шумов измерений [v11, v12, …, v1n], [v21, v22, …, v2n]:

 

n

 

 

 

 

 

 

 

cov(v1,v2 ) = 1n i=1

(v1i

−µv1 )(v2i

−µv2 ),

 

 

 

 

 

n

 

 

−µv1 )= cov(v1, v2 ),

 

 

cov(v2 ,v1 ) =

1 (v2i −µv2 )(v1i

 

 

 

n i=1

 

 

 

 

 

 

(1.33)

 

n

 

 

 

 

n

 

 

 

−µv1 )(v1i −µv1 )=

 

)2 = σv21 ,

cov(v1,v1 ) =

1 (v1i

1

(v1i −µv1

 

n i=1

 

 

 

n i=1

 

 

 

n

 

 

 

 

n

 

)2 = σv22 ,

cov(v2 ,v2 ) =

1 (v2i −µv2 )(v2i −µv2 )

=

1 (v2i −µv2

 

n i=1

 

 

 

 

n i=1

 

 

где µv1 , µv2 – математические ожидания шумов v1 и v2.

Обычно два канала СНС независимы, поэтому обычно выраже-

ния cov(v1, v2) и cov(v2, v1) близки к нулю, как и µv1 , µv2 а cov(v1, v1) и cov(v2, v2), как видно из (1.33), являются частным случаем диспер-

сии σv21 , σv22 величин v1 и v2.

18

Ковариационная матрица – квадратная симметрическая неотрицательно определенная матрица, главная диагональ которой представлена дисперсиями компонент случайного вектора, а остальные элементы – ковариациями между двумя компонентами.

Так, ковариационная матрица шумов измерений определяется из выражения

 

σv2

cov(v1,v2 )

 

R =

1

 

.

(1.34)

 

σ2

cov(v ,v )

 

 

 

2 1

v2

 

 

Для шумов системы она примет вид

 

σ2w

 

 

1

 

cov(w2 , w1 )

 

 

 

Q = cov(w3

, w1 )

 

 

 

cov(w4

, w1 )

 

 

, w )

cov(w

 

5

1

cov(w1, w2 )

cov(w1, w3 )

cov(w1, w4 ) cov(w1, w5 )

 

 

 

 

σ2w

cov(w2 , w3 )

cov(w2 , w4 )

cov(w2 , w5 )

 

2

 

 

cov(w3 , w5 )

.(1.35)

cov(w3 , w2 )

σ2w

cov(w3 , w4 )

 

3

 

 

 

 

 

 

 

 

 

cov(w , w )

cov(w , w )

σ2

cov(w , w )

 

4 2

4 3

w

4 5

 

 

 

 

4

 

 

 

 

 

 

 

 

cov(w5 , w2 )

cov(w5 , w3 )

cov(w5 , w4 )

2

 

 

σw5

 

 

Алгоритм работы фильтра Калмана состоит из двух этапов [6]:

1 Предсказание состояния системы. Оно заключается в вычисле-

нии оценки координат xˆk =(xˆ1 xˆ2 xˆ3 xˆ4 xˆ5 )T по результатам предыдущих измерений xˆk 1 :

xˆ

 

= Fxˆk 1 + Nuk .

(1.36)

k

Управление uk= 0, в нем присутствует лишь только шумовая составляющая (δωz δωx –δωy δax δaz)Т без координат состояния соглас-

но (1.23).

Прогноз ошибок оценивания координат состояния, которые определяются ковариационной матрицей Pk :

P

 

= FP

FT +Q.

(1.37)

 

k

k 1

 

 

Матрица Pk–1 представляет из себя ковариационную матрицу оши-

бок оценивания координат состояния δxˆk =(δxˆ1 δxˆ2 δxˆ3 δxˆ4 δxˆ5 )T , вычисленную на предыдущем такте и состоящую из попарных ковариа-

ций двух компонент данного вектора:

19

 

 

 

 

 

 

 

 

 

 

Pk 1 =

 

 

 

 

 

 

 

 

 

σδ2

ˆ

 

 

cov(δxˆ1

,δxˆ

 

)

cov(δxˆ1

,δxˆ

)

cov(δxˆ1

,δxˆ

 

)

cov(δxˆ1

,δxˆ

)

 

x1

 

σδ2xˆ

2

 

 

 

3

 

 

4

 

 

5

 

cov(δxˆ2 , δxˆ1 )

 

 

 

cov(δxˆ2 , δxˆ3 )

cov(δxˆ2 , δxˆ4 )

cov(δxˆ2

, δxˆ5 )

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, δxˆ

)

cov(δxˆ

, δxˆ

 

)

σ2

 

 

cov(δxˆ

, δxˆ

 

)

cov(δxˆ

,δxˆ

= cov(δxˆ

2

 

 

4

) . (1.38)

 

 

3

1

 

 

3

 

 

δxˆ

 

 

3

 

 

3

5

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

,δxˆ

)

cov(δxˆ

 

, δxˆ

)

cov(δxˆ

 

,δxˆ

)

σ2

 

 

 

cov(δxˆ

, δxˆ

cov(δxˆ

4

4

4

 

 

 

)

 

 

1

 

 

 

2

 

 

3

 

δxˆ

 

 

 

4

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

,δxˆ

)

cov(δxˆ

,δxˆ

 

)

cov(δxˆ

,δxˆ

)

cov(δxˆ

,δxˆ

 

)

σ2

 

cov(δxˆ

2

4

 

 

 

 

5

1

 

 

5

 

 

 

5

3

 

5

 

 

δxˆ5

 

2 Корректировка вектора состояния. На данном этапе вычисляется коэффициент усиления фильтра Калмана kk, затем пересчитываются обновленные значение xˆk и Pk:

k

k

= P

 

 

 

H T (HP

 

H T + R)1

,

 

 

 

 

k

 

k

 

xˆk = xˆ

 

 

+ kk (zk Hxˆ

 

),

(1.39)

k

 

k

Pk = (E kk H )P

 

.

 

k

 

Вектор измерений в k-й момент времени обозначен через zk и представляет собой данные СНС о скоростях WN и WE.

1.4 Разработка модели движения БПЛА и фильтра Калмана в Matlab

Возьмем следующие исходные данные для построения модели движения и синтеза фильтра Калмана:

-- тангаж ϑ = 1°; -- крен γ = 0°; -- курс ψ = 1°;

-- начальные скорости движения WN = 25 м/с, WE = 0 м/с; -- СКО шума измерителя угловой скорости σω = 5·10–5 рад/с; -- СКО шума измерителя ускорения σa = 2·10–2 м/с2;

-- СКО шума СНС σснс = 0,5 м/с.

Перед прочтением данного раздела рекомендуется предварительно ознакомиться с основами программирования в среде Matlab в литературе [2, 4, 5, 7], а также с обозначением переменных, используемых в данной программе и их соответствием с параметрами расчетных формул настоящих методических указаний (приложение А, таблица А.1).

Блок-схема алгоритма программы, реализующей модель движения БПЛА и фильтра Калмана, приведена в приложении Б.

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]