LS-Sb89550
.pdf3.7.Сигналы, сформированные в пп. 3.1–3.6, подаются на входы блока Mux (рис. 1.8). Выходной сигнал с данного блока поступает на вход блока MatLab Function, непосредственно в котором осуществляется моделирование показаний гироскопов и акселерометров.
3.8.Блок MatLab Function загружает в рабочую область ППК MatLab М- file, содержащий текст программы. В параметрах данного
блока указывается название программы, т. е. название М- file.
В практической работе программа, на которую ссылается блок MatLab Function, моделирует сигналы гироскопов и акселерометров, используя основные кинематические соотношения, описывающие проекции векторов абсолютной угловой скорости и линейного ускорения на оси связанной с объектом системы координат.
3.8.1.В параметрах блока MatLab Function указывается имя будущего файла программы, например «generation».
3.8.2.На панели инструментов ППК MatLab нажи-
мается кнопка , открывающая новый М-file, который необходимо сохранить под именем, указанным в пара-
метрах MatLab Function, т. е. «generation.m».
3.8.3. Создание программы формирования показаний датчиков. В программе используется вектор Х, элементы которого соответствуют данным, поступающим на вход мультиплексора (рис. 1.8):
Рис. 1.8. Объединение сформированных сигналов
1 2 3 4 5 6 7 8 9 10 11 12
X=[V; W; Kurs; Tetta; Psi; d_Kurs; d_Tetta; d_Psi; g; Om; fi; R]
Согласно конспекту лекций сначала формируется матрица перехода из географической системы координат OENh (ГСК) в связанную систему координат Oxyz (ССК). Затем с использованием кинематических выражений определяются проекции скорости и ускорения движения объекта на оси ГСК, проекции переносной угловой скорости ГСК, производится расчет проекций кажущегося ускорения и вектора угловой скорости на оси ГСК и ССК.
11
Вприл. 1 представлен текст программы, который необходимо сохранить
всозданном в п. 3.8.2 файле «generation.m».
3.9.В окне Simulink выходной сигнал с блока MatLab Function подается на вход блока Demux, в параметрах которого задается количество выходов, равное 9. Таким образом, на выходы данного блока будут выведены 3 составляющие вектора угловой скорости на оси ССК, 3 составляющие ускорения движения объекта на оси ССК и 3 составляющие скорости движения объекта на оси ГСК.
Для просмотра и регистрации необходимых сигналов необходимо использовать блок Scope.
3.10.Выходной сигнал, соответствующий северной составляющей вектора линейной скорости движения объекта, подается на блок Goto, в параметрах которого указывается название «Vn». Соответствующий ему блок From («Vn») необходим для коррекции текущей широты места.
Выходной сигнал, соответствующий восточной составляющей вектора линейной скорости движения объекта, подается на блок Goto, в параметрах которого указывается название «Ve». Соответствующий ему блок From («Ve») необходим для определения текущей долготы места.
3.11.Коррекция текущей широты места. Сигнал с блока From («Vn») подается на один из входов блока Mux, на другой вход подается текущий радиус Земли, полученный в п. 3.5. Выходной сигнал блока Mux необходимо
подать на вход блока Fcn, в параметрах которого вводится формула скорости изменения широты u(1) / u(2) , что соответствует ϕɺ = vN R.
Данный сигнал должен быть проинтегрирован и просуммирован с сигналом исходной широты (см. п. 3.4), для чего используются блоки Integrator и Sum соответственно.
Внимание! Блок Goto («fi»), используемый в п. 3.4, должен стоять после блока Sum.
3.12. Формирование текущей долготы места. Сигнал восточной составляющей линейной скорости, полученный в п. 3.9, сигналы текущего радиуса (см. п. 3.5) и широты места (см. п. 3.11) подаются на 3 входа блока Mux. Выходной сигнал с данного блока подается на вход блока Fcn, в котором указывается формула определения скорости изменения долготы места как отноше-
ние vE к R × cos j: u(1) /(u(2) * cos(u(3))) .
12
Далее сигнал подается на интегратор (блок Integrator). Интегрирование проводится при начальных условиях, поэтому в параметрах данного блока в строке Initial condition source выбирается «external». При этом у интегратора появится второй вход, куда необходимо подать начальные условия. Началь-
ное значение долготы места, например pi / 6 , задается в блоке Constant.
На выходе ставится блок Scope для наблюдения текущей долготы места. При этом для наглядности целесообразно перевести полученный сигнал в градусы, используя блок Gain с коэффициентом усиления 180 / pi .
В результате выполнения пп. 3.1–3.12 должна быть получена схема, представленная в прил. 2.
4.В меню «Simulation» выбирается пункт «Simulation parameters». Зада-
ется время моделирования 50 с (строка Stop time), дискретность 0.01 с (строка Fixed step size) и численный алгоритм (Euler) интегрирования (рис. 1.9).
5.Сохраняют блок-схему, нажав
на кнопку |
на панели инструментов |
|
|||
(или выбрав в меню «File» |
пункт |
|
|||
«Save»). |
|
|
|
|
|
6. Запускается процесс реализа- |
|
||||
ции схемы |
путем |
выбора в |
меню |
|
|
«Simulation» пункта «Start» (или |
|
||||
нажатия кнопки |
на панели инстру- |
|
|||
ментов). После начала работы блок- |
|
||||
схемы |
на |
осциллографах |
можно |
|
|
наблюдать смоделированные сигналы. |
|
||||
7. |
Для |
проверки достоверности |
Рис. 1.9. Параметры моделирования |
||
|
работы модели должны рассматриваться случаи неподвижного объекта при следующих угловых ориентациях:
1)K = 0, ψ = 0, θ = 0;
2)K = 0, ψ = π, θ = 0;
2
3) K = π, ψ = 0, θ = 0. 3
8. Рассматривается работа модели в условиях угловых колебаний неподвижного объекта. Параметры угловых колебаний задаются в таблице
(см. п. 3.2).
13
1.3. Требования к отчету
Отчет по практической работе должен содержать:
1.Титульный лист.
2.Описание работы.
3.Распечатку графиков, подтверждающих достоверность реализованных моделей (показания гироскопов и акселерометров при определенных угловых ориентациях неподвижного объекта).
4.Распечатку графиков показаний гироскопов и акселерометров при угловых колебаниях неподвижного объекта.
5.Выводы по работе.
14
Практическая работа № 2 ИССЛЕДОВАНИЕ АЛГОРИТМОВ ОБРАБОТКИ
ПОКАЗАНИЙ ГИРОСОКОПОВ
Цель работы – моделирование алгоритмов обработки показаний гироскопов с использованием ППК Matlab (Simulink).
Методика проведения работы предусматривает развитие схем, реализованных при выполнении практической работы № 1: смоделированные сигналы гироскопов обрабатываются согласно алгоритмам, реализующим решение уравнений Эйлера и Пуассона. Моделирование выполняется с использовани-
ем ППК Matlab в среде Simulink.
2.1. Основные теоретические сведения
Вычисления в соответствии с формулами (1.4)–(1.7) образуют замкнутый цикл, блок-схема которого приведена на рис. 2.1. Соответствующие алгоритмы реализуются в ЭВМ.
|
|
|
|
|
|
|
|
K0 ,ψ0 ,θ0 |
|
|
||
|
ωx |
|
|
|
p |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Блок |
ωy |
|
|
(–) |
q |
|
Блок |
|
K ,ψ,θ |
|||
гироско- |
|
|
|
|
|
|
|
интегрирования |
|
|
|
|
пов |
ωz |
|
(–) |
r |
|
|
|
|
|
|
||
|
|
(–) |
u x |
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Блок |
|
vN ,vE ,ϕ |
||
|
|
|
|
|
u y |
|
|
|
|
|||
|
|
|
|
|
|
B |
|
выработки |
|
|||
|
|
|
|
|
u z |
|
|
uE ,u N ,uh |
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 2.1. Блок-схема определения параметров ориентации
Интегрирование уравнений (1.6) требует достаточно большого объема вычислений. Кроме того, использование углов Эйлера может привести к вы-
рождению уравнений при определенной ориентации объекта ( ψ = ±π2 ), т. е.
к эффекту, аналогичному складыванию рамок карданова подвеса гиростабилизированной платформы. С этих точек зрения более удобны для применения
15
в бесплатформенных инерциальных системах ориентации (БИСО) кинематические уравнения Пуассона, которые могут быть представлены в матричном виде
|
|
Bɺ = −ωˆ B , |
|
(2.1) |
|
где |
|
|
|
||
|
|
0 |
− r |
q |
|
|
|
||||
ωˆ = |
|
r |
0 |
− p |
(2.2) |
|
|
− q |
p |
0 |
|
|
|
|
|
|
|
– кососимметричная матрица.
Матричному уравнению (2.1) соответствует система девяти линейных дифференциальных уравнений. Их интегрирование с учетом начальных условий дает непосредственно матрицу направляющих косинусов В. Углы
ориентации |
объекта |
могут быть |
определены |
из |
матрицы |
(1.2) как |
K = arctg b21 |
b22 , ψ = arcsin b23 , θ = arctg(− b13 b33 ). |
|
|
|
||
Задача может быть решена и другим способом. Обозначим через С мат- |
||||||
рицу перехода от |
инерциальной |
геоцентрической |
системы |
координат |
Oξa ηa ζa (с началом в центре Земли, осью Oζa , направленной вдоль поляр-
ной оси к северному полюсу и осями Oξa , Oηa , лежащими в плоскости эк-
ватора и не участвующими в суточном вращении Земли) к связанной с объектом системе координат. Тогда уравнение Пуассона (2.1) принимает вид
|
C = − Ω C , |
|
|
|
||
|
ɺ |
ˆ |
|
|
|
|
где по аналогии с (2.2) |
|
|
|
|
||
|
− ωz |
ωy |
|
|
||
ˆ |
0 |
|
|
|||
ωz |
0 |
− ωx |
. |
(2.3) |
||
Ω = |
||||||
|
− ωy |
ωx |
0 |
|
|
Матрица С связана с искомой матрицей В соотношением
C = AB ,
где
|
− sin λ* |
cos λ* |
0 |
|
|
A = |
− sin ϕ cos λ* |
− sin ϕ sin λ* |
cos ϕ |
. |
(2.4) |
|
cos ϕ cos λ* |
cos ϕ sin λ* |
sin ϕ |
|
|
– матрица перехода от инерциальной геоцентрической системы координат к географической топоцентрической.
16
В выражении (2.4) ϕ – широта, λ* – инерциальная долгота, связанная с географической долготой λ соотношением λ* = λ(t0 ) + ΩE (t − t0 ) + λ(t) .
Матрица направляющих косинусов связанной системы координат по от-
ношению к географической топоцентрической находится как B = CA−1.
2.2.Порядок выполнения работы
1.Запускается программа Matlab (ярлык программы находится на
«Рабочем столе»).
2.В окне «Current Directory» указывается путь к рабочей папке, в которой содержится файл с блок-схемой (схема 1), полученной в практической работе № 1. Данный файл открывается.
3.Создается блок-схема (схема 2), моделирующая алгоритмы обработки показаний гироскопов, которые реализуются в соответствии со схемой, приведенной на рис. 2.1. Показания гироскопов содержат помимо информации об угловой скорости вращения объекта относительно ГСК (ω) также и ин-
формацию о переносной угловой скорости ГСК (u) . Следовательно, необхо-
димо производить коррекцию показаний гироскопов.
Согласно указанию преподавателя студентом реализуется алгоритм обработки показаний гироскопов с использованием уравнений Эйлера или Пуассона (см. далее п. 3.3).
3.1. Каждая из проекций абсолютной угловой скорости объекта, полученной в схеме 1, подается на вход отдельного сумматора (3 проекции – 3 сумматора). В параметрах каждого блока Sum указываются знаки входов: «+», «–». Знаки «–» необходимы для того, чтобы корректировать показания гироскопов на значение переносной угловой скорости ГСК. Тогда на выходе блоков Sum будут получены проекции угловой скорости вращения объекта относительно ГСК ( p, q, r) .
Процесс моделирования сигнала переносной угловой скорости ГСК будет рассматриваться далее.
Внимание! Здесь и далее для удобства использования смоделированных в схеме 1 сигналов предлагается использовать пары блоков Goto и From, которые подсоединяются к соответствующим выходам и входам.
17
3.2. Проекции ( p, q, r) подаются на входы блока Mux. Данный блок должен иметь 6 входов. На оставшиеся 3 входа подаются значения углов курса, тангажа и крена, для этого используются 3 блока From, в параметрах которых в строке Goto tag указываются: out_kurs, out_psi, out_tetta соответственно. Далее выходной сигнал с мультиплексора поступает на вход блока
MatLab Function.
3.3. Формирование алгоритмов обработки показаний гироскопов.
3.3.1. С использованием уравнений Эйлера. В уравнениях Эйлера ис-
пользуются скорости изменения углов ориентации Kɺ, ψɺ, θɺ .
В параметрах блока MatLab Function указывается название M-file с программой, например «integration». Далее создается файл, в который вносится следующий текст программы:
% |
1 |
2 3 |
4 |
5 |
6 |
% X=[p |
q r; |
Kurs; Psi; Tetta] |
function out4=fun(x)
z1=(x(1)*sin(x(6))-x(3)*cos(x(6)))/cos(x(5)); z2=x(1)*cos(x(6))+x(3)*sin(x(6)); z3=x(2)+tan(x(5))*(x(1)*sin(x(6))-x(3)*cos(x(6)));
% Результат
out4=[z1;z2;z3];
Выходной вектор, сформированный в блоке MatLab Function, разбивается на элементы, для чего поступает на вход блока Demux. На выходе по-
следнего образованные сигналы скоростей изменения углов Kɺ, ψɺ, θɺ инте-
грируются (блок Integrator) для получения углов K , ψ, θ . Эти сигналы необ-
ходимо скорректировать на величину их начальных значений K0 , ψ0 , θ0 , ко-
торые задавались в схеме 1, для чего сигналы K и K0 подаются на входы сумматора (блок Sum).
Та же последовательность действий выполняется для углов тангажа и крена.
18
3.3.2. С использованием уравнений Пуассона. Уравнения Пуассона ис-
пользуют матрицу Bɺ .
В параметрах блока MatLab Function указывается название M-file с программой, например «integration». Далее создается файл, в который вносится следующий текст программы:
% 1...3 4 5 6
%X=[pqr; Kurs; Psi; Tetta]
function out4=fun(x)
%Результат
om=[ 0 |
-x(3) |
x(2); |
|
||
x(3) |
0 |
-x(1); |
|
||
-x(2) |
x(1) |
0]; |
|
||
% матрицы поворотов |
|
||||
Bk=[cos(x(4)) |
-sin(x(4)) |
0; |
|||
sin(x(4)) |
cos(x(4)) |
0; |
|||
|
0 |
|
|
0 |
1]; |
Bp=[1 |
|
0 |
|
0; |
|
0 |
cos(x(5)) |
sin(x(5)); |
|||
0 |
-sin(x(5)) |
cos(x(5))]; |
|||
Bt=[cos(x(6)) |
0 |
-sin(x(6)); |
|||
|
0 |
|
1 |
0; |
|
sin(x(6)) |
0 |
cos(x(6))]; |
% Переход из ГСК в СКК
B1=Bt*Bp*Bk;
out4=-om*B1;
19
Выходной сигнал с блока MatLab Function представляет собой матрицу
Bɺ с размерами 3×3. Для дальнейших вычислений данный сигнал преобразуется в вектор с размерами 9×1. Для этого используется блок Reshape, в параметрах которого указываются размеры получаемого вектора (рис. 2.2).
Рис. 2.2. Параметры блока Reshape
Далее сигнал подается на интегратор (блок Integrator). Интегрирование проводится при начальных условиях, поэтому в параметрах данного блока в строке Initial condition source выбирается «external». При этом у интегратора появится второй вход, куда необходимо подать начальные условия.
Формирование начальных условий. Сигналы K0 , ψ0 , θ0 , сформирован-
ные в схеме 1, с использованием блоков From подаются на вход блока Mux. Затем полученный сигнал подается на вход блока MatLab Function, в котором указывается название M-file (например, «B0») с программой формирования начального значения матрицы перехода B . Указанный M-file создается студентом и должен содержать следующий текст программы:
% |
1 2 3 |
% X=[Kurs; Psi; Tetta]
function out7=fun(x)
% Результат
Bk=[cos(x(1)) -sin(x(1)) 0;
sin(x(1)) cos(x(1)) 0;
20