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

Основы мехатроники. Учебник для СПО

.pdf
Скачиваний:
3
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
81
онной системы, что позволяет автоматически формировать так называемые правила инстинктивного поведения робота. Пред­посылкой в этих правилах является набор сенсорных сигналов, а заключением — решения о движении, принятые оператором. Таким образом, в результате многократных опытов происходит обучение управляющей нейронной сети правильным действиям в возникающих ситуациях.
Процесс обучения заканчивается, когда виртуальный робот в состоянии без помощи оператора выполнить заданные движения, не сталкиваясь с препятствиями. Далее нейроконтроллер, обу­ченный в виртуальной среде, устанавливается в систему управ­ления реального робота FRANK, к ее входам подключаются ре­альные сенсоры, а выходы НС соединяются с приводами колес. Лабораторные опыты показали, что НС эффективно выполняет управляющие функции в реальной среде.
2.4. Интеллектуальные датчики мехатронных систем
Задача управления в общем виде (в виде постановки задачи Колмогорова — Винера) формулируется следующим образом:
,
,
++=
++=
•
DuCxz
BuAxx
(2.6)
где
x
— вектор состояния системы,
A
— матрица состояния,
B
— матрица управления u — вектор управления,
C
и
D
—
матрицы измерения,
— случайный вектор ошибки управления,
— вектор ошибки измерения.
Решение первого уравнения в (2.6) при условии известного
z
дает нам вектор управления
),,,,(
zBAfu =
.
Следовательно, нахождение вектора
z
есть задача измерения
состояния системы
,x
возложенная на информационно- измери-
тельную подсистему сложной системы. В нашем случае (мы рас­сматриваем мехатронные системы) в связи с установившейся тер­минологией можем говорить об интеллектуальных датчиках МС.
82
Следует отметить, что в реальных ситуациях все матрицы и вектора (2.6) зависимы от времени и начальных условий. Для целей практического управления постановку задачи упрощают, например до вида:
.
,
+=
++=
•
Cxz
BuAxx
(2.7)
Тогда задача измерения сводится к вычислению обратной матрицы:
),(
1
−=
−
zAx
(2.8)
или еще проще — при отсутствии знаний об ошибках управления и измерений (2.6) представляется в форме Эйлера — Лагранжа:
,
,
Cxz
BuAxx
=
+=
•
(2.9)
а решение задачи информационно-измерительной системы в тривиальном виде:
.
1
zCx
−
=
(2.10)
Поэтому во многих алгоритмах, таких как, например, фильтр Калмана, система (2.6) рассматривается как
.
,
+=
++=
•
xz
BuAxx
(2.11)
Это означает, что задача измерения в этом случае — линей­ная задача, а ошибка измерения — аддитивная, то есть может считаться ошибкой шкалы (или считывателя данных — например, линейная ошибка аналого-цифрового преобразователя):
.
+= xz
(2.12)
Измерение физических величин при помощи датчиков электрическими методами даже в случае (2.10) может привести к большим ошибкам из-за неточной обратной матрицы. Если определитель матрицы
C
близок нулю, то это означает, что не-
большие погрешности вектора
z
приводят к большим погреш-
ностям определения вектора x, а это в свою очередь вызывает
83
неточность управления. Такие задачи измерения называются плохо обусловленными и требуют нетривиальных алгоритмов вычисления физических величин, определяющих состояние системы.
Исходя из приведенных способов определения вектора со­стояния в алгоритмах управления, можем говорить о двух спо­собах «интеллектуализации» датчиков МС:
1) датчики, основанные на применении оптимальных
фильтров в условиях воздействия внешних и внутренних помех;
2) датчики, основанные на алгоритмах обработки инфор-
мационных данных, снимающих плохую обусловленность задачи измерения.
В п. 2.4.1. приведена оптимальная фильтрация Колмогоро­ва — Винера, в п. 2.4.2 рассмотрен оптимальный фильтр Калмана, а в п. 2.4.3. даны основные алгоритмы решения плохо обуслов­ленных задач на примере обработки видеоизображений.
Фильтр Колмогорова — Винера
Задача фильтрации заключается в наилучшем выделении сигнала датчика (полезного сигнала) на фоне аддитивной помехи. Структурная схема фильтра изображена на рис. 2.10.
Рис. 2.10. Фильтр Колмогорова — Винера (постановка задачи)
)(tm
)(tn
)(tY
)(tX
+
+
+
−
),(
tk
)(t
84
Заданы взаимно некоррелированные центрированные не­стационарные случайные процессы в виде функций времени m(t) и n(t) с корреляционными функциями:
.
)]()([),(
)]()([),(
2121
2121
=
=
tntnMttR
tmtmMttR
nm
mm
(2.13)
Требуется найти импульсную передаточную функцию (ИПФ) k*(t, τ) фильтра, оптимальным образом выделяющего реализацию случайного процесса m(t) в виде некоторого процесса X(t) в условиях, когда на вход поступает аддитивная смесь полезного сигнала m(t) (сигнала датчика) и помехи n(t). Критерием опти­мальности является минимум среднеквадратической ошибки (СКО):
min,)]([
2
=tM
(2.14)
где
)()()( tXtmt −=
.
Оптимальная импульсная передаточная функция
),(
*
tk
находится, как решение уравнения, которое называется уравне­нием Винера — Хопфа, записываемое в виде
),,(),(),(
2121
0
1
tRdRtk
YmYY
t
=
(2.15)
t
21
,0
,
),0[ t
.
Рассмотрим случай стационарных m(t) и n(t). Постановка задачи для этого случая следующая.
Заданы взаимно некоррелированные случайные процессы (СП) в виде функций времени m(t) и n(t) с корреляционными
функциями (КФ)
)(
mm
R
и
)(
nn
R
, спектральными плотностями
(СПл)
)(
mm
S
и
)(
nn
S
; m(t) и n(t) — стационарные, эргодиче-
ские, центрированные случайные функции.
Требуется найти ИПФ k*(t, τ) фильтра, оптимальным обра­зом выделяющего реализацию СП m(t) в виде некоторого сигнала X(t) в условиях, когда на его вход поступает аддитивная смесь
m(t) + n(t).
85
Критерием оптимальности является минимум СКО
)()()( tXtmt −=
, то есть
min)]([
2
=tM
.
Для рассматриваемого случая уравнение Винера — Хопфа имеет вид:
duutRukR
YYYm
)()()(
0
*
−=
(2.16)
при
0
, где
)(
YY
R
— корреляционная функция случайного
процесса
)()()( tntmtY +=
, определяемая по формуле
)()()(
nnmmYY
RRR +=
;
)(
Ym
R
— взаимная корреляционная функция сигнала на входе
)()()( tntmtY +=
и полезного сигнала (сигнала датчика) m(t).
Применим к уравнению Винера — Хопфа (2.16) преобразо­вание Фурье, получим
),()()(
*
sSsWsS
YYYm
=
(2.17)
js =
.
Из (2.17) найдем оптимальную передаточную функцию (ПФ):
)(
)(
)(
*
jS
jS
jW
YY
Ym
=
. (2.18)
Обратное преобразование Фурье для (2.18) нам даст опти­мальную импульсную передаточную функцию:

dejWk
j
)(
2
1
)(
**
−
=
. (2.19)
Реализация алгоритма Винера — Колмогорова для цифро­вых систем будет реализована как дискретное обратное преоб­разование Фурье, то есть
kn
N
N
k
YY
Ym
kn
N
N
k
e
kS
kS
N
ekW
N
nk
2
1
0
2
1
0
**
)(
)(1
)(
1
)(
−
=
−
=
==
; (2.20)
1,0, −= Nnk
,
86
а сам фильтр — как цифровой нерекуррентный фильтр вида
)()()(
1
0
*
nyknx
N
−
=
=
. (2.21)
Реализация датчика в МС возможна в различных схемных вариантах:
- на микроконтроллерах;
- на цифровых сигнальных процессорах;
- на программируемых логических интегральных схемах.
Выбор варианта, естественно, определяется быстродей­ствием интеллектуального датчика.
Фильтр Калмана
Фильтр Калмана — это эффективный (то есть имеющий способ гарантированно достигать результат за конечное число действий) рекурсивный фильтр, оценивающий вектор состояния динамической системы, используя ряд неполных и зашумленных измерений.
Для эффективной работы фильтра необходима динамическая модель системы, к которой он будет применяться. В дискретном представлении времени в момент времени
k
вектор состояний
n
k
Rx
выражается через вектор состояний предыдущего мо-
мента времени
1−k
x
:
111 −−−
++=
kkkk
wBuAxx
, (2.22)
где
n
— количество наблюдаемых переменных в системе; m —
количество датчиков в системе;
)( nnA
— матрица перехода
между состояниями (динамическая модель системы), использу­ется в фазе предсказания.
Для каждого значения в векторе xзаписывается линейное
уравнение для предсказания будущего значения со всеми пере­менными, используемыми в векторе. Коэффициенты этих урав­нений используются для составления матрицы перехода;
)1( nx
— это вектор, который содержит значения всех пе-
ременных, рассматриваемых в системе;
87
)( nnB
— матрица управления процессом, отражающая
влияние управляющего воздействия на динамическую систему;
)1( nu
— вектор управляющего воздействия. Он отражает
внешнее воздействие на объект. Если же за системой просто наблюдают, то элементы этого вектора будут равны 0;
)1(1−nw
k
— вектор ошибки, характеризующий ошибку
динамической модели.
В каждый момент времени можно получить новые измере­ния
n
k
Rz
. Связь с вектором состояний характеризуется сле-
дующим уравнением:
kkk
vHxz +=
, (2.23)
где
)1( nz
— вектор измерений в текущий момент времени. Он
отражает информацию, поступающую с датчиков;
)( nmH
— матрица измерений, отображающая отношение
измерений и состояний;
)1( nv
— вектор ошибки, характеризующий ошибку
измерений.
В общем случае матрицы
HBA ,,
и вектора
vw,
могут за-
висеть от момента времени k. Вектора
vw,
считаются случай-
ными величинами с ковариационными матрицами
R
и Q
соответственно.
)( mmR
— матрица ковариации шума вектора измерения.
Она отражает дисперсию и ковариацию данных, поступающих с датчиков. Фильтр Калмана в процессе итераций не изменяет со­держимое этой матрицы, так как фильтр не влияет на процесс измерения и точность датчиков зависит только от них самих. Эти данные можно получить из документации или при тестировании сенсоров. Если компоненты вектора состояний не зависят друг от друга, то матрица будет диагональной.
)( nnQ
— матрица ковариации, предсказание ошибки. По
главной диагонали располагаются дисперсии элементов вектора
x
: чем больше число, тем больше рассеивание случайной вели-
чины относительно ее математического ожидания. Другие эле-
88
менты матрицы
ij
Q
показывают ковариацию между элементами
i
x
и
j
x
, таким образом матрица ковариации также может быть
симметричной относительно главной диагонали.
Алгоритм фильтра Калмана состоит из двух повторяющихся фаз: предсказание и корректировка. На первом этапе рассчиты­вается предсказание состояния в следующий момент времени (с учетом неточности их измерения). На втором новая информация с датчика корректирует предсказанное значение (также с учетом неточности и зашумленности этой информации).
Первый шаг — предсказание:
11
~~
−−
−
+=
kkk
BuxAx
,
(2.24)
QAAPP
T
kk
+=
−
−
1
.
(2.25)
Второй шаг — коррекция:
1)(−−−
+= RHHPHPK
T
k
T
kk
,
(2.26)
)
~
(
~~
−−
−+=
kkkkk
xHzKxx
,
(2.27)
−
−=
kkk
PHKEP )(
.
(2.28)
Матрица
K
— коэффициент усиления Калмана. Фактически
он определяет степень доверия предсказанному значению или показанию датчика. Матрица
K
минимизирует сумму квадратов
математических ожиданий ошибок оценки вектора состояний.
Алгоритмы восстановления изображений
Алгоритмы восстановления изображений относятся к ти­пичным плохо обусловленным задачам в теории информационно­измерительных систем. Представим изображение на матрице видеодатчика в виде
)2,1( nnf
. Тогда в частотной области мо-
жем записать:
)4,3()3,2,1()2,1( kkXkkkHkkF =
. (2.29)
Будем рассматривать только полутоновые черно-белые изображения в предположении, что для обработки полноцвет­ного изображения достаточно повторить все необходимые шаги
89
для каждого из цветовых каналов RGB. Введем следующие обо­значения:
),( yxf
— исходное неискаженное изображение;
),( yxh
— искажающая функция;
),( yxn
— аддитивный шум;
),( yxg
— наблюдаемое изображение (смазанное или рас-
фокусированное).
Сформулируем модель процесса искажения в простран­ственной области двумерных изображений следующим образом:
),(),(*),(),( yxnyxfyxhyxg +=
. (2.30)
Задача восстановления искаженного изображения заключа­ется в нахождении наилучшего приближения
),( yxf
исходного
изображения
),( yxf
. Рассмотрим функцию
),( yxh
более по-
дробно. В процессе искажения каждый пиксель исходного изоб­ражения превращается в пятно для случая расфокусировки и в отрезок — для случая простого «смаза». Либо же можно сказать наоборот, что каждый пиксель искаженного изображения «со­бирается» из пикселей некоторой окрестности исходного изоб­ражения. Все это друг на друга накладывается, и в результате мы получаем искаженное изображение. То, по какому закону раз­мазывается или собирается один пиксель, и называется функцией искажения. Другие синонимы — PSF (point spread function, то есть функция распределения точки), ядро искажающего опера­тора, kernel и некоторые другие. Размерность этой функции, как правило, меньше размерности самого изображения. Операция применения искажающей функции к другой функции (к изобра­жению, в данном случае) называется сверткой (convolution), то есть некоторая область исходного изображения сворачивается в один пиксель искаженного изображения. Обозначается через оператор «*» (не путать с обычным умножением!). Математи­чески для изображения
),( yxf
с размерами
NM
и искажа-
ющей функции
),( yxh
c размерами
nm
это записывается так:
,),(),(),(*),(),(
 
−= −=
++==
aaib
bj
jyixfjihyxfyxhyxg
(2.31)
90
где
2/)1( −= ma
,
2/)1( −= nb
. Операция, обратная свертке,
называется деконволюцией (deconvolution), и решение такой за­дачи весьма нетривиально.
Модель шума. Осталось рассмотреть последнее слагаемое, отвечающее за шум,
),( yxn
в формуле (2.30). Причины шума в
цифровых сенсорах могут быть самыми разными, но основные — тепловые колебания и темновые токи фотосенсора. На величину шума также влияет ряд факторов, таких как значение чувстви­тельности сенсора (устанавливается как значение чувствитель­ности ISO фотокамеры), тип матрицы, размер пикселя, темпера­тура, электромагнитные наводки и пр. В большинстве случаев шум является Гауссовым, задаваемым двумя параметрами — средним и дисперсией, а также является аддитивным, не корре­лируемым с изображением и не зависящим от координат пикселя. Последние три предположения являются очень важными для дальнейшей работы.
Теорема о свертке. Вернемся теперь к первоначальной по­становке задачи восстановления — нам необходимо каким-то образом обратить свертку, при этом не забывая про шум. Из формулы (2.30) видно, что получить
),( yxf
из
),( yxg
не так-то
просто — если решать, что называется, «в лоб», то получится огромная система уравнений. Воспользуемся преобразованием Фурье. Теорема о свертке гласит, что операция свертки в про­странственной области эквивалентна поэлементному умножению в частотной области. Соответственно, операция, обратная свертке, эквивалентна делению в частотной области, то есть это можно записать как:
),,(),(),(*),( vuFvuHyxfyxh
(2.32)
где
),( vuH
,
),( vuF
— Фурье-образы соответствующих функ-
ций. Значит, процесс искажения из формулы (2.30) можно пере­писать в частотной области как:
),(),(),(),( vuNvuFvuHvuG +=
. (2.33)
Инверсная фильтрация. Поделим равенство (2.33) на
),( vuH
и получим следующую оценку
),( vuF
исходного изоб-
ражения: