Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Основы мехатроники. Учебник для СПО
.pdf
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
исходного изоб-
ражения:
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
