ВИДЕО В СИСТЕМЕ УПРАВЛЕНИЯ МАРСОХОДОМ SPIRIT-OPPORTUNITY А. Астапкович Государственный университет аэрокосмического приборостроения, СПб, 2012 Лекция 2 Встроенные системы управления
КОНЦЕПЦИЯ СИСТЕМЫ УПРАВЛЕНИЯ: ЛУЧШЕ ОДИН РАЗ УВИДЕТЬ, ЧЕМ СТО РАЗ УСЛЫШАТЬ
ПОДСИСТЕМА НАВИГАЦИИ Состав атмосферы Марса не позволяет построить системы измерения расстояний до препятствий с использованием ультразвука, обеспечивающих необходимую точность При разработке концепции было принято решение строить систему автономного перемещения на основе стерео видеоизображений При этом возникло ограничение на максимально возможную скорость перемещения марсохода, связанное с производительностью бортового компьютера Задача измерения текущего положения робота критически важна для функционирования системы управления в целом
Видеосистема включала в себя камеру высокого разрешения на манипуляторе робота, которая использовалась для получения детальных снимков геологических структур. Кроме того, на посадочной ступени имелась еще одна камера, которая использовалась при съезде марсохода на поверхность Марса. СТРУКТУРА ВИДЕОСИСТЕМЫ Оценка ситуации по пути следования использовалась с помощью стереоизображений получаемых с помощью выбранной пары камер. Марсоход имел для этого три типа камер: - две пары камер для отслеживания препятствий (HazCams) - пара поворотных камер для оценки ситуации на маршруте - пара поворотных камер панорамного обзора (PanCam).
Подсистема навигации по изображениям окружающей местности проводит анализ пути следования на предмет наличия препятствий и определения их параметров. Видеоданные использовались для построения карта возможных путей следования к заданной точке. По этой карте подсистема навигации выбирала оптимальный путь следования, обеспечивающий объезд препятствий. Движение по выбранному маршруту обеспечивалось системой управления движения с анализом текущего состояния марсохода на предмет соответствия критериям безопасности ПОДСИСТЕМА НАВИГАЦИИ
Видеосистема марсохода Параметры камер марсохода ПараметрЗначениеЕд. HazCAmNavCamPanCam Количество камер211пара камер Высота52152 cмcм Расстояние между камерами cмcм Угол зрения градус Максимальный размер изображения 1024*1024 пиксел Бит на пиксел12 Дистанция стереоизображения м Управление поворот-наклон НетЕсть
Управление камерами Система управления перемещениями марсохода и его манипультора строится на использовании видеоизображений. Перемещение по пересеченной местности сильно отличается от идеализированных моделей перемещения по идеально ровной поверхности из-за наличия склонов, неровностей и препятствий. Для решения задач навигации требуется обеспечить возможность управления камерами и решить ряд задач обработки изображений с учетом взаимного положения камер и марсохода. система координат робота система координат камеры
ЗАДАЧА УПРАВЛЕНИЯ ДВИЖЕНИЕМ
Требуется доставить научное оборудование марсохода в точку, представляющую интерес, т.е. переместится из текущей точки А в заданную операторами наземного пульта управления точку В. Выбираемый маршрут следования должен быть безопасным. При этом следует минимизировать требуемые ресурсы, т.е. перемещение должно быть осуществлено за минимально возможное время.
Программа действий на текущие сутки формировалась как последовательность высокоуровневых команд, например : ПРОЕХАТЬ ВПЕРЕД НА 2.3 МЕТРА ПОВЕРНУТЬСЯ НА МЕСТЕ ВПРАВО НА рад. ПЕРЕМЕСТИТСЯ В ТОЧКУ (X,Y) СНЯТЬ ЦВЕТНУЮ ФОТО МЕСТНОСТИ В ТОЧКЕ X,Y,Z ВЫСОКОУРОВНЕВОЕ УПРАВЛЕНИЕ
ВЫБОР МАРШРУТА СЛЕДОВАНИЯ На практике выбор оптимального маршрута требовал учета квази оптимального решения, обеспечивающего наличия марсохода в конечной точке маршрута. Требовалось обеспечить условия для применения научной аппаратуры к выбранному объекту исследований. Требовалось обеспечить: минимально необходимый уровень освещенности панелей солнечных батарей. возможность комфортного использования манипулятора.
ИЗМЕРЕНИЕ РАССТОЯНИЙ D f b X2X1 S1S2 При движении робота следует учитывать движение камеры относительно объекта наблюдения и влияние перемещения робота на навигационные камеры
КАРТА МЕСТНОСТИ ДЛЯ ВЫБОРА МАРШРУТА СЛЕДОВАНИЯ ТРЕБУЕТСЯ ПОСТРОЕНИЕ ТРЕХМЕРНОЙ КАРТЫ
Система управления движением реализована по трехуровневой схеме : уровень низкоуровневых команд; уровень движения по дуге с заданными параметрами; уровень автономного движения в заданную точку. Низкоуровневые команды обеспечивают возможность оператору задать точно на сколько следует повернуть каждое колесо и угол поворота егооси. Уровень низкоуровневых команд обеспечивает возможность реализации операций тестирования и нестандартных операций. УПРАВЛЕНИЕ ДВИЖЕНИЕМ
Движение по дуге является базовым примитивом, из которого формируются все возможные типы перемещений. Движение по прямой или поворот на месте являются частным случаем движения по дуге. Маршрут движения к заданной точке конструировался из дуг, обходящих препятствия. Текущее положение робота оценивалось с помощью инерционной системы навигации Litton LN-200, включавшей в себя 3-D асселерометры и датчики угловых скоростей, а также датчики оборотов колес. На основании этой информации и реализуемой траектории движения вырабатывались команды управления моторами. Эта же информация использовалась в подсистеме обеспечения безопасности движения. РЕАЛИЗАЦИЯ ПЕРЕМЕЩЕНИЙ
Практическая реализация
РЕЖИМЫ УПРАВЛЕНИЯ ПЕРЕМЕЩЕНИЯМИ
Режим программного управления перемещениями - Directed Driving. Режим автономного навигации -Autonomous Navigation - AutoNav. При реализации того или иного варианта режима автономной навигации использовался менеджер ограничения активности – Activity Constraint Manager. Базовая функция этого компонента сохранение функциональности марсохода, т.е. проверка противопоказаний к выполнению планируемых операций. РЕЖИМЫ УПРАВЛЕНИЯ ПЕРЕМЕЩЕНИЯМИ
НАБОР КОМАНД перемещение без использования автономного анализа на наличие препятствий. перемещения с построением карты проходимости маршрута, но без использования подсистемы объезда препятствий. автономное перемещение с анализом наличия препятствий и использованием подсистемы объезда. автономное перемещение с использованием подсистемы визуальной одометрии.
Подсистема проверяет отсутствие противопоказаний к выполнению планируемых операций. К ограничениям этого класса относились: походное положение манипулятора, отсутствие принятых команд, отсутствие ошибок при выполнении предыдущих операций и т.д. Следует подчеркнуть, что при отработке алгоритмов управления движением на Земле не могли быть смоделированы в полном объеме марсианские условия. Соответственно, отработка техники управления велась на протяжении всей миссии. МЕНЕДЖЕР ОГРАНИЧЕНИЯ АКТИВНОСТИ
Перемещение по заданной траектории без использования своих возможностей анализа видеоизображения окружающей местности или адаптации способа перемещения к ее особенностям. В этом режиме обеспечивалась максимальная скорость перемещения – до 124 м/час. Этот режим использовали на относительно плоских и чистых участках, полагаясь на подсистему обеспечения безопасности перемещения. Критерием возможности использования этого режима на пути следования являлось отсутствие на траектории движения препятствий с высотой больше чем 20 см Анализ ситуации проводился на Земле, куда передавались изображения с каждой из пар камер. Как правило, для анализа ситуации требовалось от 8 до 12 стереоизображений в направлении движения марсохода. Directed Driving
Autonomous Navigation Для более сложных участков, например при перемещении по склонам кратеров или холмов с уклонами градусов, по команде оператора осуществлялся переход в режим автономного навигации В этом режиме марсоход мог самостоятельно выбирать путь следования к указанной точке. В результате анализа генерировалась программа действий в виде конкретного набора примитивов, обеспечивающих объезд препятствий. Максимальная скорость перемещения в этом режиме составляла 36 м/час. Реализация сгенерированной программы движения могла выполняться с использованием разных подсистем обеспечения автономного движения. При движении по неровным и песчаным участкам подсистема счисления пути на основе показаний датчиков числа оборотов не обеспечивала объективной информации.
Концепция Visual Odometry Знание пройденного пути L от точки А до точки В и углов ά1 и ά2 позволяет оценить минимальное расстояние до препятствия P с помощью даже одной камеры Необходимо учитывать влияние сложного рельефа местности на точность оценки Можно также оценивать пройденный путь L используя результаты измерений D1 и D2 ; D1 D2D2 L A B P ά2 ά1 D min
Visual Odometry В этих случаях эта подсистема счисления пути начинала использовать видеоинформацию. Идея алгоритма заключалась в выделении в поле зрения марсохода базового объекта и вычислении смещения относительно его. Так как обработка снимков осуществляется бортовым компьютером с очень скромными по сегодняшним меркам параметрами, то скорость перемещения, по сути дела, ограничивалась этой подсистемой и составляла 10 м/час. По опыту эксплуатации этот подход к построению подсистемы великолепно себя зарекомендовал. Ограничения на скорость перемещения являются недостатками аппаратной реализации этой подсистемы.
Структура и принципы построения ПО Структура ПО строились на основе аналогичного и проверенного на практике программного обеспечения для марсохода Mars Pathfinder. Была использована коммерческая операционная система VxWorks компании Wind River. Это система с вытесняющей многозадачностью (preemptive multitasking), которая широко используется в авиакосмической отрасли. Программное обеспечение системы управления марсохода требует 9 Мбайт памяти, из которых 1.4 Мбайта занимает модуль управления перемещениями.
Программное обеспечение делится на высокоуровневые объекты. Все электронные устройства марсохода представляютсяь в виде таких объектов. Кроме этого имеются чисто программные объекты для предоставления сервисов. Например, записи телеметрических измерений или сохранения текущего состояния объекта. Каждому программному объекту соответствует нить или задача. Каждый объект имеет собственный массив переменных описания состояния и собственную память, которая принадлежит только ему. Объекты обмениваются информацию посредством сообщений. При этом вся информация содержится в сообщении, т.е. не используются указатели на память задачи. Объекты включают в себя описание в виде машины состояний. Сообщения, получаемые из других задач, могут приводить к изменению состояния объекта. Структура и принципы построения ПО
ПРАКТИЧЕСКИЙ ОПЫТ
Экспериментальные данные Использование того или иного режима определялись конкретными условиями на маршруте следования
Экспериментальные данные
ВИДЕО В КАНАЛЕ MAРC-ЗЕМЛЯ
ХАРАКТЕРИСТИКИ ПОТОКА Видеоинформация существенным образом использовалась в наземном пункте управления как при планировании исследований ( выбор перспективных для исследования объекта), так и в качестве фактического материала результатов проводимых исследований Видеосистема включала в себя камеру высокого разрешения на манипуляторе робота, которая использовалась для получения детальных снимков геологических структур Видеоинформация существенно больше по объему по сравнению с командной и телеметрической информацией, но она обладает избыточность, что позволяет использовать ее сжатия с целью обеспечения разумного времен на ее передачу в наземный центр управления.
Стандарт CCIR 601 (NTSC, несжатые видеоданные) Разрешение 720*486*29.97 FPS (кадров в секунду) Представлениеданных 8 бит на элемент представляемых данных Представление пикселя 4:2:2 (на каждые два горизонтально расположенных пикселя 2 Y : 1 Cr : 1 Cb) Количество кадров в секунду Оценка информационных потоков Яркость (Y) 720*486*29.97 FPS = байт в секунду Цветность R (Cr) 360*486*29.97 FPS = байт в секунду * 8 бит на байт = бит в секунду Цветность B (Cb)360*486*29.97 FPS = байт в секунду * 8 бит на байт = бит в секунду Сумма байт в секунду = бит в секунду Трафик CCIR601 (NTSC) : около 20 Мбайт/сек или Мбит/сек. Оценка информационных потоков
Представление PAL Способ представления видеоданных PAL, также входит в стандарт CCIR 601; Использует передачу 25 кадров в секунду с 576 горизонтальными линиями; Каждая горизонтальная линия представляется 720 пикселями (Y), плюс 360 пикселов( R-Y), плюс 360 пикселов (B-Y), что дает 1440 байт на линию; Для представления одного «экрана» ( frame) требуется Мбайт; 25 кадров в секунду требует обеспечивать информационный поток Мбайта/сек;
Алгоритм ICER Применение теории крупномасштабного анализа на практике обеспечивало возможность проведения анализ сцен до получения всего изображения и использовать изображения нужного качества в зависимости от решаемой задачи. Фактически использовалась комбинированная схема с управляемой степенью сжатия. Для реализации сжатия был использован оригинальный алгоритм c пространным названием ICER Progressive Wavelet Image Compression, разработанный сотрудниками JPL. Считается, что это первый случай использования вейвлет преобразований в космической технике. Использованный алгоритм имел много общего JPEG2000, в частности, использовался метод битовых плоскостей.
Детали алгоритма ICER A. Kiely, A. Ansar, A. Castano, M. Klimesh, J. Maki A Lossy Image Compression and Stereo Ranging Quality from Mars Rovers IPN Progress Report February 15, 2007 Kiely A., Klimesh M. The ICER Progressive Wavelet Image Compressor IPN Progress Report 42(155), November 15, 2003 A. Kiely, M. Klimesh, H. Xie, N. Aranki ICER-3D: A Progressive Wavelet-Based Compressor for Hyperspectral Images IPN Progress Report February 15, 2006
ПРИНЦИПЫ СЖАТИЯ ВИДЕОИНФОРМАЦИИ
ИЗБЫТОЧНОСТЬ ПРЕДСТАВЛЕНИЯ a) ИСХОДНАЯ КАРТИНКА б) СЖАТИЕ 6: 1 в) СЖАТИЕ 42: 1 г) СЖАТИЕ 222: 1
Сжатие без потерь подразумевает фильтрацию избыточной информации Сжатие с потерями подразумевает отбрасывание малосущественной информации Идея сжатия информации выражается формулой f(x) = Σ С i ϕ i (x) i = 0..N ПРИНЦИПЫ СЖАТИЯ Реализация включает в три этапа: Разложение f(x) по системе заданных базисных функций ϕ i (x) Обработка и передача коэффициентов С i ВОССТАНОВЛЕНИЕ функции f(x) по полученным (считанным) значениям С i и базисных функций ϕ i (x)
Разложение и восстановление требует определенных вычислительных затрат, которые сильно зависят от свойств выбранных базисных функций Требования, предъявляемые к системе базисных функций ϕ i достаточно противоречивы Для приложений реального времени (живое видео) существенным является возможность нахождения коэффициентов С i в темпе поступления исходной информации с учетом реальных ограничений по скорости используемых в системе вычислителей Требования к базисным функциям С вычислительной точки зрения предпочтительнее разложение в ортогональном базисе
БАЗИС ХААРА
Вейвлет-преобразование Хаара Рассмотрим одномерное изображение из 4 пикселов F(N) = [ ] Средние Разности Попарное усреднение даст [ 8 6 ] [1 -3] Еще раз усредним [7] [1] Вейвлет-преобразование Хаара [ ] массива F(N) Базис ХААРА Ψ j i(x) = Ψ (2 j x - i) i= 0..2 j -1 i= 0..2 j -1 W0W0 V2V2 V1V1 Вейвлет ХААРА 1 0 x ½ Ψ(x) = -1 ½ x 1 0
- I Мeтод блока фильтров - I Тестовое 16 пиксельное БЛОК ФИЛЬТРОВ изображение описывается матрицей ВЕЙВЛЕТ ПРЕОБРАЗОВАНИЕ СOEF = F16* TEST16
Функции одномерного базиса ХААРА Следует отмасштабировать 15 к 1 ! Пусть одномерное изображение с числом пикселей 2 J есть вектор в V J ; Вектора из V J описываются в V J+1, т.е. пространства V J являются вложенными; Это свойство ключевой элемент теории крупномасштабного анализа;
ВOCCТАНОВЛЕНИЕ : RES = F16 -1 СOEF -II Метод блока фильтров -II
Двумерный Базис Хаара LL,HL,LH,HH Haar компоненты ab cd (a+b+c+d)/4(a-b+c-d)/4 (a+b-c-d)/4(a-b-c+d)/4 LLLH HLHH
Пример сжатия изображения a) ИСХОДНАЯ КАРТИНКА б) СЖАТИЕ 6: 1 в) СЖАТИЕ 42: 1 г) СЖАТИЕ 222: 1