Визуальное сервоуправление, часть I: базовые подходы
Администратор
Содержание · 10 разделов
Источник и адаптация. Материал представляет собой перевод и адаптацию учебного обзора François Chaumette, Seth Hutchinson — «Visual Servo Control, Part I: Basic Approaches», IEEE Robotics & Automation Magazine, vol. 13, no. 4, pp. 82–90, декабрь 2006.
Авторы оригинала: François Chaumette (IRISA/INRIA Rennes), Seth Hutchinson.
Официальные ссылки: HAL inria-00350283v1 · IEEE RAM 13(4):82–90, 2006 · DOI: 10.1109/MRA.2006.1638022
Юридическая ответственность за публикацию материала лежит на издателе базы знаний DroneLab. Данный фрагмент предназначен исключительно для образовательных целей.
Продолжение: часть II — продвинутые подходы (гибридные схемы, 2½-D, partitioned IBVS, сопровождение целей) — см. материал «Визуальное сервоуправление, часть II» в базе знаний.
1. Введение
«Визуальное сервоуправление — это замыкание контура управления не по энкодерам суставов, а по тому, что видит камера. Робот или беспилотник движется так, чтобы изображение цели пришло к желаемому виду.»
Что такое visual servo control
Визуальное сервоуправление (visual servo control, visual servoing) — использование данных компьютерного зрения в контуре обратной связи для управления движением робота. Камера может быть:
- eye-in-hand — закреплена на манипуляторе или мобильном роботе; движение робота непосредственно двигает камеру;
- eye-to-hand — неподвижна в рабочей зоне и наблюдает робота снаружи;
- на поворотных головках (pan-tilt), в стереопаре, на борту БПЛА и т.д.
Математическая постановка во всех конфигурациях схожа. В данном обзоре основной акцент — на конфигурации eye-in-hand: камера с 6 DOF на конце шестиосевого манипулятора или на подвесе дрона.
Место visual servoing среди смежных дисциплин
Метод опирается на обработку изображений, компьютерное зрение и теорию управления. Полный охват всех трёх областей в одной статье невозможен; здесь акцент — на управлении и на геометрических аспектах зрения, непосредственно связанных с сервоуправлением по изображению.
Отдельно не рассматриваются:
- отслеживание признаков (feature tracking) — тема для отдельного tutorial;
- оценка 3D-позы (pose estimation) — также отдельная большая тема.
Для DroneLab visual servoing актуален при посадке на маркер, слежении за целью, точном позиционировании камеры для инспекции и при управлении подвесом gimbal+camera.
Структура серии из двух частей
Настоящий материал — Часть I: базовые, уже классические схемы. Описываются две архетипические стратегии:
- IBVS (image-based visual servo) — управление в координатах изображения;
- PBVS (position-based visual servo) — управление в 3D-параметрах позы камеры.
Затем анализируются производительность и устойчивость обеих схем — это мотивирует Часть II, где рассматриваются продвинутые методы (2½D, partitioned control, инвариантные признаки и др.).
В Части I предполагается: неподвижная цель, фиксированная желаемая поза камеры (s* = const), управление 6 DOF камеры.
┌─────────────┐ m(t) ┌──────────────┐
│ Камера │──────────────▶│ Измерения │
│ (6 DOF) │ │ в изображ. │
└──────▲──────┘ └──────┬───────┘
│ │
│ v_c ▼
│ s = s(m, a)
┌──────┴──────┐ e = s − s*
│ Контроллер │◀────────────── ṡ = L_s v_c
│ v_c=−λL̂⁺e │ ẋ = L_x v_c
└─────────────┘
▲
│ обратная связь по изображению (visual servo loop)2. Базовые компоненты визуального сервоуправления
Цель любой vision-based схемы — минимизировать вектор ошибки e(t), как правило:
e(t) = s(m(t), a) − s* (1)
Эта формулировка охватывает широкий класс подходов; различие между IBVS и PBVS — в выборе вектора признаков s.
Обозначения
- m(t) — вектор измерений в изображении: координаты точек, центроид объекта, моменты и т.д.;
- s(m, a) — k-мерный вектор визуальных признаков, вычисляемый из m; a — дополнительные параметры (калибровка камеры, грубая 3D-модель);
- s* — желаемые значения признаков (задаются заранее из эталонного кадра или конфигурации).
Связь признаков с пространственной скоростью камеры
После выбора s строится контроллер скорости. Нужна связь между ṡ и пространственной скоростью камеры:
v_c = (v_c, ω_c) — линейная и угловая скорость системы координат камеры F_c ṡ = L_s v_c (2)
Матрица L_s ∈ ℝk×6 называется матрицей взаимодействия (interaction matrix) для s. В литературе также используют термин feature Jacobian — по сути синоним.
Из (1) и (2):
ė = L_e v_c, где L_e = L_s (3)
Закон управления с экспоненциальным спадом ошибки
Если v_c — вход роботического контроллера и требуется экспоненциальное убывание ошибки (ė = −λe, λ > 0):
v_c = −λ L⁺_e e (4)
L⁺_e — псевдообратная матрица Мура–Penrose L_e ∈ ℝ6×k. При полном ранге 6: L⁺_e = (L_eᵀ L_e)⁻¹ L_eᵀ. Этот выбор минимизирует ‖ė − λL_e L⁺_e e‖ и ‖v_c‖.
Если k = 6 и det L_e ≠ 0, можно инвертировать: v_c = −λ L_e⁻¹ e.
Практическая аппроксимация
В реальных системах L_e и L⁺_e неизвестны точно (глубина Z, калибровка, шум). Используют оценку:
v_c = −λ L̂⁺_e e (5)
Обозначение L̂⁺_e охватывает и псевдообратную от приближённой L_e, и приближение самой псевдообратной — в зависимости от реализации.
Дальнейшие вопросы: как выбрать s? Какова форма L_s? Как оценить L̂⁺_e? Каковы свойства замкнутого контура? На них отвечают разделы 3–8.
ПОТОК ДАННЫХ VISUAL SERVO (общая схема)
Кадр ──▶ m(t) ──▶ s(m,a) ──▶ e = s − s*
│
▼
Робот ◀── v_c ◀── −λ L̂⁺_e e ◀── ė = L_e v_c
│ ▲
└── движение камеры ──▶ новый m(t) ──┘3. Классический IBVS — матрица взаимодействия точки
Классический image-based visual servo [1], [2] задаёт s через координаты точек на плоскости изображения. Другие признаки (моменты, прямые, контуры) — в Части II.
Проекция точки и признаки
3D-точка X = (X, Y, Z) в системе камеры проецируется в x = (x, y):
{ x = X/Z = (u − c_u) / (f α)
{ y = Y/Z = (v − c_v) / f (6)
где m = (u, v) — пиксельные координаты; a = (c_u, c_v, f, α) — intrinsics (главная точка, фокусное расстояние, соотношение сторон пикселя). Признак: s = x = (x, y).
Вывод матрицы взаимодействия L_x
Дифференцирование (6):
{ ẋ = (Ẋ − x Ż) / Z
{ ẏ = (Ẏ − y Ż) / Z (7)
Связь скорости 3D-точки с v_c (камера движется, точка неподвижна в мире):
Ẋ = −v_c − ω_c × X ⇔ Ẋ = −v_x − ω_y Z + ω_z Y Ẏ = −v_y − ω_z X + ω_x Z Ż = −v_z − ω_x Y + ω_y X (8)
Подстановка в (7) и группировка:
{ ẋ = −v_x/Z + x v_z/Z + xy ω_x − (1+x²) ω_y + y ω_z
{ ẏ = −v_y/Z + y v_z/Z + (1+y²) ω_x − xy ω_y − x ω_z (9)
ẋ = L_x v_c (10)
Матрица взаимодействия одной точки:
L_x = [ −1/Z 0 x/Z xy −(1+x²) y ]
[ 0 −1/Z y/Z 1+y² −xy −x ] (11)
Столбцы соответствуют (v_x, v_y, v_z, ω_x, ω_y, ω_z). В L_x входит глубина Z — её нужно оценивать или фиксировать приближённо. Intrinsics участвуют при переходе от пикселей к (x, y). В закон (4) подставляют L̂_x, а не точную L_x.
Необходимость ≥3 точек (k ≥ 6)
Для управления 6 DOF нужно k ≥ 6 независимых скалярных признаков. Минимум — три точки (6 координат). Стекинг:
L_x = [ L_{x1} ]
[ L_{x2} ]
[ L_{x3} ] ∈ ℝ^{6×6}
Проблемы минимальной конфигурации:
- существуют конфигурации, где L_x вырождена (сингулярна) [5];
- для трёх точек существуют четыре различные позы камеры с e = 0 — четыре глобальных минимума, их нельзя различить по одному изображению [6].
Поэтому на практике используют четыре и более точек (k > 6): избыточность повышает устойчивость к шуму, но меняет свойства устойчивости (см. раздел 8).
Пример задачи позиционирования
Типичная задача: совместить изображение квадрата из четырёх точек с эталоном — квадрат по центру кадра. Начальная поза сильно отличается от желаемой, особенно по поворотам — для IBVS это наиболее проблематичный режим.
Задача позиционирования (eye-in-hand)
(a) Желаемая поза (b) Начальная поза (c) Изображения
камера над целью камера смещена/ ● начальные точки
квадрат в центре повёрнута ○ желаемые точки
[камера] [камера]
│ ╲
▼ ▼
┌─────┐ ┌─────┐
│ ■ │ │ ■ │ ← квадрат смещён и повёрнут
└─────┘ └─────┘
s = (x₁,y₁, x₂,y₂, x₃,y₃, x₄,y₄)ᵀ ∈ ℝ⁸, k = 8 > 64. Аппроксимация матрицы взаимодействия
Три распространённых способа построить L̂⁺_e в законе (5).
1. Текущая глубина: L̂⁺_e = L⁺_e
Используют L_e с текущими оценками Z для каждой точки на каждой итерации [7]. Глубины оценивают методами pose estimation (кратко — в контексте PBVS) или триангуляцией. L_e постоянно меняется → выше вычислительная нагрузка, но часто лучше поведение в плоскости изображения.
2. Желаемая конфигурация: L̂⁺_e = L⁺_{e*}
L_{e*} — L_e при желаемой позе (e = 0) [8]. Матрица постоянна на всём серво; достаточно задать желаемые глубины Z* точек один раз. Не нужно обновлять 3D-параметры в цикле — проще реализация.
3. Среднее: L̂⁺_e = ½(L_e + L_{e*})⁺
Предложено в [9]. Нужны и текущие, и желаемые глубины. Компромисс между двумя крайними стратегиями.
Сравнение поведения (симуляция квадрата, идеальные условия)
Без шума и ошибок модели, чтобы сравнить чистую динамику трёх законов.
L⁺_{e*} — сходимость есть, траектории «рваные»
- Система сходится даже при большом начальном смещении.
- Далеко от цели (~первые 30 итераций): нежелательные траектории точек в изображении, большие скачки компонент v_c, извилистая 3D-траектория камеры.
L⁺_e — прямые линии в изображении, плохая 3D-динамика
- Траектории точек в кадре почти прямые (экспоненциальный спад e в координатах изображения).
- В 3D — ещё хуже: огромные v_c в начале (высокое число обусловленности L̂⁺_e), траектория камеры далека от прямой.
½(L_e + L_{e*})⁺ — лучший компромисс
- Компоненты v_c без сильных осцилляций.
- Плавные траектории и в изображении, и в 3D.
- На практике — частый выбор для «крупных» начальных ошибок.
| Выбор L̂⁺_e | Траектории в image plane | 3D-траектория камеры | Нужна текущая Z | Нужна Z* |
|---|---|---|---|---|
| L⁺_{e*} | Кривые далеко от цели | Извилистая | Нет | Да |
| L⁺_e | Почти прямые | Очень плохая в начале | Да | Нет |
| ½(L_e+L_{e*})⁺ | Умеренно гладкие | Гладкая | Да | Да |
5. Геометрическая интерпретация IBVS
Поведение законов (4)/(5) удобно понимать геометрически. Рассмотрим чистый поворот вокруг оптической оси: четыре coplanar точки, начальная конфигурация (синяя) → желаемая (красная), обе параллельны плоскости изображения.
L⁺_e — поворот + отступ по оси Z
L⁺_e стремится обеспечить экспоненциальное убывание e. Для координат (x, y) точки движутся по прямым в изображении (зелёные траектории на рис. 5 оригинала). Чтобы реализовать такое image motion, камера должна:
- вращаться вокруг оптической оси — ожидаемо;
- одновременно отступать вдоль оптической оси (translational retreat) [10] — неожиданно.
Причина — выбор признаков и связь между 3-м и 6-м столбцами L_x (v_z и ω_z). При большом начальном угле эффект усиливается; при повороте на π рад управление может не породить вращательного движения вообще [11]. При малой ошибке эффект почти исчезает → поведение локально удовлетворительное, при большой ошибке — нет. Это согласуется с локальной асимптотической устойчивостью IBVS (раздел 8).
L⁺_{e*} — поворот + движение вперёд
Рассмотрим «обратную» задачу: из s* к s:
v_c = −λ L⁺_{e*} (s* − s)
Точки идут по прямым от красных к синим (коричневые траектории). В исходной задаче v_c = −λ L⁺_{e*} (s − s*) — противоположная скорость → красные траектории в image plane, что на синих позициях даёт синее image motion: снова поворот вокруг оси, но теперь с неожиданным движением вперёд по оптической оси.
При уменьшении e оба закона сходятся к одному (L_e → L_{e*} при e → 0): траектории стремятся к чёрным прямым, камера — к чистому повороту.
½(L_e + L_{e*})⁺ — чистый поворот
Усреднение L_e и L_{e*} даёт image motion, близкий к «чёрным» прямым, даже при большой ошибке. Во всех случаях, кроме поворота на π, камера выполняет чистое вращение вокруг оптической оси без паразитной трансляции.
Геометрическая интерпретация (поворот вокруг оптической оси)
Image plane (вид сверху на плоскость изображения):
L⁺_e L⁺_{e*} ½(L_e+L_{e*})⁺
───── ─────── ──────────────
●───→○ ●╭──→○ ●────→○
│ зелёная │ красная/ │ чёрная/
│ + │ синяя │ прямая
│ камера │ камера │ камера:
│ ОТСТУП │ ВПЕРЁД │ только ω_z
● — начальное положение точки ○ — желаемое
Вывод: IBVS минимизирует ошибку В ИЗОБРАЖЕНИИ, но 3D-движение
может быть контринтуитивным из-за coupling в L_x.6. IBVS со стереосистемой
IBVS естественно обобщается на мультикамерные системы. Для стереопары и 3D-точки, видимой в левом и правом кадрах:
s = x_s = (x_l, x_r) = (x_l, y_l, x_r, y_r) [12]
— координаты одной точки в обоих изображениях (4 признака на точку).
Матрица взаимодействия стереопары
Формула (11) записана в СК левой или правой камеры. Для каждой:
ẋ_l = L_{x_l} v_l
ẋ_r = L_{x_r} v_r
Выбирают сенсорную систему координат F_s, жёстко связанную со стереоблоком. Скорости камер преобразуют через матрицу кинематики V [13]:
V = [ R [t]× R ]
[ 0 R ] (12)
(R, t) ∈ SE(3) — преобразование из СК камеры в СК сенсора; [t]× — кососимметричная матрица вектора t. Калибровка стереопары даёт численные R, t.
ẋ_s = L_{x_s} v_s
L_{x_s} = [ L_{x_l} · lV_s ]
[ L_{x_r} · rV_s ]
(индексы l, r — преобразование из левой/правой камеры в сенсорную СК).
Ранг и эпиполярное ограничение
L_{x_s} ∈ ℝ4×6 имеет ранг не более 3 из-за эпиполярного ограничения: проекции одной 3D-точки в двух камерах связаны; независимых параметров у точки в 3D — три. Одна точка в стереопаре не даёт 6 независимых уравнений.
Для 6 DOF нужно минимум три точки (12 признаков; ранг стека ≥ 6). Для двух точек ранг interaction matrix = 5 — недостаточно.
Стерео IBVS vs триангуляция + PBVS
3D-координаты точки из стереопары получают триангуляцией. Их можно включить в s — это уже по сути position-based подход (3D-параметры в признаках), хотя триангуляция выполняется «на лету» из двух изображений. Чистый IBVS использует именно 2D-координаты в обоих кадрах без явной реконструкции в s.
Стереосистема (вид сверху)
Левая камера Правая камера
●──────────────────●
\ /
\ baseline /
\ |t| /
\ /
\ P / ← 3D-точка
\ /
\ /
●
(точка в 3D)
s для одной точки: (x_l, y_l, x_r, y_r)
Эпиполярная линия связывает (x_l,y_l) ↔ (x_r,y_r)
⇒ rank(L_{x_s}) ≤ 3 для одной точки7. Position-Based Visual Servo (PBVS)
Position-based visual servo [2], [14], [15] определяет s через позу камеры относительно опорной системы координат. Для одного изображения нужны intrinsics и 3D-модель объекта — классическая задача 3D localization / pose estimation (PnP, Lowe, Dementhon–Davis [16], [17]). Детали pose estimation здесь не разбираются.
Три системы координат
- F_c — текущая СК камеры;
- F_{c*} — желаемая СК камеры;
- F_o — СК объекта (неподвижная цель).
Верхний индекс у вектора — в какой СК выражены координаты. ct_o — положение начала F_o в F_c; c*t_o — то же в желаемой СК. R = c*R_c — ориентация текущей камеры относительно желаемой.
Параметризация s = (t, θ_u)
t — вектор переноса; θ_u — угол-ось (angle-axis) для вращения: ось u, угол θ.
Вариант A: t относительно объекта — s = (ct_o, θ_u)
s* = (c*t_o, 0), e = (ct_o − c*t_o, θ_u)
L_e = [ −I₃ [ct_o]× ]
[ 0 L_{θ_u} ] (13)
L_{θ_u} для angle-axis [18]:
L_{θ_u} = I₃ − (θ/2)[u]× + (1 − sinc θ / sinc²(θ/2))[u]²× (14)
sinc x: x·sinc x = sin x, sinc 0 = 1.
При k = 6 используют обратную (не псевдообратную) с аппроксимацией:
L̂_e⁻¹ = [ −I₃ [ct_o]× L_{θ_u}⁻¹ ]
[ 0 L_{θ_u}⁻¹ ] (15)
⇒ v_c = −λ((c*t_o − ct_o) + [ct_o]× θ_u)
ω_c = −λ θ_u (16)
(т.к. L_{θ_u}⁻¹ θ_u = θ_u).
Свойства:
- вращение — геодезическое на SO(3) с экспоненциальным спадом;
- трансляционные компоненты s убывают с той же скоростью λ;
- траектория начала объекта в изображении — прямая;
- 3D-траектория камеры — не прямая.
Вариант B: t в желаемой СК камеры — s = (c*t_c, θ_u)
s* = 0, e = s
L_e = [ R 0 ]
[ 0 L_{θ_u} ] (17)
Decoupling трансляции и вращения:
v_c = −λ Rᵀ c*t_c ω_c = −λ θ_u (18)
При точной оценке позы:
- 3D-траектория камеры — прямая линия к цели;
- траектории точек в изображении — менее «красивые», чем в варианте A;
- возможны конфигурации, где точки выходят из поля зрения [15].
IBVS vs PBVS — где живёт ошибка
IBVS PBVS
──── ────
s = (x,y) в image plane s = (t, θ_u) в 3D / SE(3)
e минимизируется в 2D e минимизируется в Cartesian
Z нужна только для L̂_e pose нужна для e И для L_e
«2D-сенсор» «3D-сенсор через vision»
Image plane 3D space
┌───────────┐ F_o (объект)
│ ●→○ e_2D │ ▲
└───────────┘ │ t, R
▲ │
│ s ▼
[Camera F_c] ──────────────▶ [Camera F_c*]
PBVS: прямая в 3D (вариант B)
IBVS: прямая в 2D (при L⁺_e)8. Анализ устойчивости
Для оценки устойчивости замкнутого visual servo используют анализ Ляпунова. Кандидат:
L = ½ ‖e(t)‖² Ḣ = eᵀ ė = −λ eᵀ L_e L̂⁺_e e
Достаточное условие глобальной асимптотической устойчивости (GAS):
L_e L̂⁺_e > 0 (положительно определена) (19)
Если k = 6, L_e и L̂⁺_e полного ранга 6 и аппроксимации не слишком грубы — (19) выполнимо.
Устойчивость IBVS
Для типичного IBVS k > 6 (например, 8 координат четырёх точек). Тогда L_e L̂⁺_e ∈ ℝk×k ранг ≤ 6 ⇒ матрица вырождена, есть нетривиальное ядро. Конфигурации с e ∈ Ker L̂⁺_e — локальные минимумы: v_c = 0, но e ≠ 0.
Пример (рис. 9 оригинала): все компоненты e экспоненциально убывают, траектории в изображении прямые, но финальная поза далека от желаемой — система «застряла» в локальном минимуме.
Вывод: IBVS обеспечивает только локальную асимптотическую устойчивость (LAS), не GAS.
Локальная устойчивость при k > 6
Вводят e′ = L̂⁺_e e:
ė′ = L̂⁺_e ė + L̂̇⁺_e e = (L̂⁺_e L_e + O) v_c
O ∈ ℝ6×6 = 0 при e = 0 для любого выбора L̂⁺_e [19]. С законом (5):
ė′ = −λ (L̂⁺_e L_e + O) e′
Локальная асимптотическая устойчивость в окрестности e = 0, если:
L̂⁺_e L_e > 0 (20)
(линеаризованная система ė′ = −λ L̂⁺_e L_e e′ [20]).
Дополнительно показывают: в малой окрестности желаемой позы p* нет e ≠ e* с e ∈ Ker L̂⁺_e — иначе существовало бы v_c, дающее ė ∉ Ker L̂⁺_e, что противоречит L̂⁺_e L_e > 0.
Глобальной устойчивости нет: локальные минимумы могут лежать вне малой окрестности. Размер «basin of attraction» — открытый вопрос; на практике он часто у surprisingly большой.
Устойчивость PBVS
При k = 6 и невырожденном L_{θ_u} (θ ≠ 2kπ) из (19):
L_e L̂_e⁻¹ = I₆ ⇒ GAS
при идеально точных параметрах позы в L_e и e. Это верно для обоих вариантов (13) и (17).
Робастность и «истинная» устойчивость
В реальности L_e строят из оценок позы по изображению. Ошибки калибровки, шум, неточная 3D-модель → реальная матрица L̃_e ≠ L_e из (13). Условие должно быть:
L̃_e L̂_e⁻¹ > 0 (21)
Малые ошибки в положении точек на изображении могут давать значительные ошибки позы и нарушать (21) — см. рис. 10: две сильно различающиеся позы камеры дают почти одинаковое изображение четырёх coplanar точек. PBVS чувствителен к тому, насколько «3D-сенсором» можно считать монокular vision.
Сводка условий устойчивости
| Схема | Размерность k | Глобальная уст.? | Ключевое условие | Типичная проблема |
|---|---|---|---|---|
| IBVS | k > 6 | Нет | L̂⁺_e L_e > 0 локально | Локальные минимумы, e ∈ Ker L̂⁺_e |
| IBVS | k = 6 | Возможна* | L_e L̂⁺_e > 0 | Сингулярности L_x |
| PBVS | k = 6 | Да (идеал) | L_e L̂_e⁻¹ = I | Ошибки pose → потеря (21) |
* при полном ранге и точной L_e
9. Заключение
IBVS или PBVS — нет универсального победителя
Как и в большинстве инженерных задач, ответ — в компромиссах.
Роль 3D-параметров
- IBVS: глубина Z входит в L_e и в условие (20). Грубая оценка Z искажает траекторию, но не обязательно финальную точность в image plane (при e → 0). Сильно неверная Z может сделать систему неустойчивой.
- PBVS: поза входит и в e, и в L_e. Ошибки pose влияют и на путь, и на конечную точность в 3D. Vision используется как 3D-сенсор — вопрос: насколько это оправдано для одной камеры?
Философия сенсора
PBVS задаёт поведение s в Cartesian-пространстве → теоретически оптимальные 3D-траектории (вариант B), но не обязательно хорошие траектории в изображении; риск потери цели из FOV; высокая чувствительность к ошибкам pose на coplanar конфигурациях.
IBVS рассматривает vision как 2D-сенсор — реалистичнее для монокулярной камеры. Робастность к ошибкам калибровки и шуму изображения выше. Недостатки: локальные минимумы при больших смещениях, сингулярности L_x, непредсказуемые и часто субоптимальные 3D-траектории (отступ/рывок вдоль оптической оси).
Мотивация Части II
Оба базовых подхода в большинстве задач работают удовлетворительно, но недостатки породили большой объём исследований:
- 2½D visual servoing [18] — компромисс IBVS/PBVS;
- partitioned / hybrid control [10];
- признаки, инвариантные к изменению intrinsics [19];
- реконструкция из двух видов без полной 3D-модели объекта.
Эти направления — содержание Visual Servo Control, Part II: Advanced Approaches (Chaumette & Hutchinson, IEEE RAM 2007).
Сравнение IBVS и PBVS (инженерная сводка) Критерий IBVS PBVS ───────────────────────────────────────────────────────── Пространство s Image plane (2D) Pose SE(3) (3D) Нужна 3D-модель Нет (только Z*) Да (PnP) Траектория в image Хорошая (L⁺_e) Средняя / FOV risk Траектория в 3D Часто плохая Хорошая (вар. B) Устойчивость LAS (k>6) GAS (идеал) Робастность к шуму Выше Ниже (pose errors) Локальные минимумы Да Реже (но pose ambig.) ──▶ Part II: 2½D, partitioned, invariant features, …
10. Литература
Ключевые ссылки из оригинальной статьи и смежных обзоров. DOI и HAL даны где доступны.
Основной источник серии
- F. Chaumette, S. Hutchinson, «Visual servo control, Part I: Basic approaches,» IEEE Robotics & Automation Magazine, vol. 13, no. 4, pp. 82–90, Dec. 2006. HAL inria-00350283v1 · DOI 10.1109/MRA.2006.1638022
- F. Chaumette, S. Hutchinson, «Visual servo control, Part II: Advanced approaches,» IEEE Robotics & Automation Magazine, vol. 14, no. 1, pp. 109–118, Mar. 2007. DOI 10.1109/MRA.2007.339607
Классические схемы IBVS и PBVS
- [1] J. Feddema, O. Mitchell, «Vision-guided servoing with feature-based trajectory generation,» IEEE Trans. Robot. Automat., vol. 5, pp. 691–700, Oct. 1989.
- [2] L. Weiss, A. Sanderson, C. Neuman, «Dynamic sensor-based control of robots with visual feedback,» IEEE J. Robot. Automat., vol. 3, pp. 404–417, Oct. 1987.
- [7] S. Hutchinson, G. Hager, P. Corke, «A tutorial on visual servo control,» IEEE Trans. Robot. Automat., vol. 12, pp. 651–670, Oct. 1996. DOI 10.1109/70.538972
- [8] B. Espiau, F. Chaumette, P. Rives, «A new approach to visual servoing in robotics,» IEEE Trans. Robotics and Automation, vol. 8, pp. 313–326, June 1992.
- [14] W. Wilson, C. Hulls, G. Bell, «Relative end-effector control using cartesian position based visual servoing,» IEEE Trans. Robot. Automat., vol. 12, pp. 684–696, Oct. 1996.
- [15] B. Thuilot, P. Martinet, L. Cordesses, J. Gallice, «Position based visual servoing: Keeping the object in the field of vision,» Proc. IEEE ICRA, pp. 1624–1629, May 2002.
Матрица взаимодействия и аппроксимации
- [9] E. Malis, «Improving vision-based control using efficient second-order minimization techniques,» Proc. IEEE ICRA, pp. 1843–1848, Apr. 2004.
- [10] P. Corke, S. Hutchinson, «A new partitioned approach to image-based visual servo control,» IEEE Trans. Robot. Automat., vol. 17, no. 4, pp. 507–515, 2001.
- [18] E. Malis, F. Chaumette, S. Boudet, «2-1/2D visual servoing,» IEEE Trans. Robot. Automat., vol. 15, pp. 238–250, Apr. 1999.
- [19] E. Malis, «Visual servoing invariant to changes in camera intrinsic parameters,» IEEE Trans. Robot. Automat., vol. 20, pp. 72–81, Feb. 2004.
Устойчивость, сингулярности, стерео
- [5] H. Michel, P. Rives, «Singularities in the determination of the situation of a robot effector from the perspective view of three points,» INRIA RR 1850, Feb. 1993.
- [6] M. Fischler, R. Bolles, «Random sample consensus: A paradigm for model fitting with applications to image analysis and automated cartography,» Communicat. ACM, vol. 24, pp. 381–395, June 1981.
- [11] F. Chaumette, «Potential problems of stability and convergence in image-based and position-based visual servoing,» in The Confluence of Vision and Control, LNCIS vol. 237, Springer, 1998, pp. 66–78.
- [12] G. Hager, W. Chang, A. Morse, «Robot feedback control based on stereo vision: Towards calibration-free hand-eye coordination,» IEEE Control Syst. Mag., vol. 15, pp. 30–39, Feb. 1995.
- [13] R. Paul, Robot Manipulators: Mathematics, Programming and Control, MIT Press, 1982.
Компьютерное зрение и pose estimation
- [3] D. Forsyth, J. Ponce, Computer Vision: A Modern Approach, Prentice Hall, 2003.
- [4] Y. Ma, S. Soatto, J. Kosecka, S. Sastry, An Invitation to 3-D Vision, Springer, 2003.
- [16] D. Dementhon, L. Davis, «Model-based object pose in 25 lines of code,» Int. J. Comput. Vis., vol. 15, pp. 123–141, June 1995.
- [17] D. Lowe, «Three-dimensional object recognition from single two-dimensional images,» Artif. Intell., vol. 31, no. 3, pp. 355–395, 1987.
- [20] A. Isidori, Nonlinear Control Systems, 3rd ed., Springer, 1995.
Контакт авторов оригинала: François Chaumette, IRISA/INRIA Rennes, Campus de Beaulieu, 35042 Rennes cedex, France — Francois.Chaumette@irisa.fr
Конец Части I. Продолжение — «Visual Servo Control, Part II: Advanced Approaches».






