Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557

Рекламодатель:
ООО «С3Д Лабс»

ИНН 7715938849 ОГРН 1127747049209

12 - 2009

Программный комплекс для имитации работы системы технического зрения автономного транспортного средства

Алексей Баев (Марийский государственный технический университет (г.Йошкар-Ола))

Введение

Аппаратная подсистема

Системы координат, используемые в программе

Компоненты аппаратной подсистемы

Результаты работы тестовой версии программы

Заключение

В статье рассматриваются основные принципы и методы решения задачи имитации работы навигационных систем и систем технического зрения автономного транспортного средства, в частности получение данных с виртуального лазерного сканера, данных с видеокамер и GPS. Рассмотрены принципы глобального и локального позиционирования, используемые в данной работе. В качестве программной основы предлагается применять язык программирования Visual C# и графическую библиотеку OpenGL, содержащую обширную библиотеку для работы с плоскими и пространственными объектами и отличающуюся простотой реализации. Приведены результаты работы тестовой версии программы по имитации лазерного сканера.

Введение

В настоящее время решение значительного количества задач обработки изображений, в том числе изображений пространственных объектов, связано с проблемами ориентации автономных транспортных средств. В ряде случаев для управления такими средствами требуется выделение в пространственной сцене фрагментов с заданными характеристиками, например плоских фрагментов. Данные задачи могут быть решены математической подсистемой автономного транспортного средства. Необходимые для ее работы данные формируются аппаратной подсистемой, включающей само транспортное средство, а также систему компьютерного зрения, содержащую устройство обработки и управления и набор датчиков (лазерные сканеры, видеокамеры, GPS­приемник, ультразвуковые датчики). При разработке реальной системы требуется набор тестовых данных, результат обработки которых позволит выявить наилучшие пути реализации аппаратного комплекса, а также точность и быстродействие работы математических алгоритмов.

Получение тестовых данных может быть реализовано путем создания виртуального эмулятора автономного транспортного средства, его навигационной системы и системы технического зрения. Это возможно при использовании графической библиотеки OpenGL. Задачи обработки данных, расчета и прогнозирования маршрута могут быть решены методами  параллельной обработки, например применением технологии CUDA.

Актуальность тематики работы обусловлена необходимостью разработки фундаментальных основ функционирования автономных интеллектуальных систем управления транспортными средствами, способных в реальном или близком к нему  масштабе времени по результатам формирования цифровых трехмерных карт решать задачи определения их местоположения,  выбора оптимальной траектории движения транспортных средств и мест их остановки.

Целью данной работы является создание программного комплекса, позволяющего эмулировать действие автономного транспортного средства, получение данных, приближенных к реальным, а также предварительного варианта согласования компонентов системы на этапе разработки и создания прототипа.

В начало В начало

Аппаратная подсистема

В реальной сцене (рис. 1), получаемой при работе автономной системы, присутствует достаточно большое количество потенциальных помех, таких как деревья, здания и транспортные средства. Задача аппаратного комплекса состоит в управлении транспортным средством, а также получении данных об окружающей среде.

Рис. 1. Наблюдаемая сцена

Рис. 1. Наблюдаемая сцена

Одним из важных компонентов является устройство лазерного сканирования, обладающее высокой скоростью получения данных.

Предлагаемый подход к решению поставленной задачи основан на использовании графической библиотеки OpenGl и языка программирования Visual C#. OpenGL содержит библиотеку компонентов для работы с трехмерной графикой. При анализе данных предполагается применять алгоритмы параллельной обработки, использующие  как центральный процессор (CPU), так и графический процессор (GPU), в частности технологию CUDA.

В начало В начало

Системы координат, используемые в программе

Предполагается, что в качестве глобальной координатной системы будет выступать система координат OpenGL, в которой выполняется построение сцены. Транспортное средство будет двигаться по определенному маршруту, задаваемому контрольными точками и скорректированному в соответствии с окружающей обстановкой.

OpenGL подразумевает построение объекта в начале координат с последующим сдвигом сцены и построение следующего объекта. Учитывая данный факт, а также особенности работы OpenGL с матрицами трансформации, можно ввести локальную систему координат, к которой будут привязаны координатные системы датчиков, корпуса и колес, что удобно для имитации физических воздействий, таких как влияние неровности поверхности, от которых зависят углы наклона автомобиля относительно глобальной координатной системы и соответственно углы наклона датчиков.  Таким образом, при изменении курса или наклона транспортного средства нет необходимости пересчитывать координаты положения датчиков относительно глобальной системы координат.

На рис. 2 показан пример работы навигационной системы с имитацией помех в сцене, а также предполагаемый маршрут (Path), проложенный через контрольные точки и скорректированный относительно потенциальных помех.

Рис. 2. Пример взаимного расположения координатных систем

Рис. 2. Пример взаимного расположения координатных систем

Здесь OpenGL — координатная система OpenGL, Local — локальная координатная система транспортного средства. Точками Gpi обозначены контрольные точки маршрута. Закрашенные эллипсы — это потенциальные помехи.

Точки Gpi задаются пользователем для определения маршрута  и могут быть использованы при имитации работы глобальной навигационной системы (GPS, ГЛОНАСС).

В начало В начало

Компоненты аппаратной подсистемы

Рассмотрим модель взаимодействия устройств системы, а также принцип имитации работы лазерного сканера.

Датчики располагаются в локальной координатной системе транспортного средства Car, и относительно нее происходят все изменения. Положение колес определяется неровностью поверхности и маршрутом, заданным в глобальной системе координат, координаты положения и углы наклона колес пересчитываются относительно локальной координатной системы.

На рис. 3 показан пример имитации работы лазерного сканера LMS. Луч лазерного сканера, попадая на точку L исследуемой поверхности, проходит через плоскость виртуального экрана и пересекает его в точке Lproj. Зная расстояние от камеры до экрана, можно вычислить строку экрана, в которой находится точка L, и при помощи функции обратного проецирования — значение координат в локальной системе координат.

Рис. 3. Взаимное расположения компонентов аппаратной подсистемы 
транспортного средства

Рис. 3. Взаимное расположения компонентов аппаратной подсистемы транспортного средства

Проекции точки пересечения лазерных лучей с ровной плоской поверхностью экрана монитора представляют собой прямую линию, расположенную в некоторой строке экрана (рис. 4). В случае неровных поверхностей следует располагать лазер и камеру в одной точке. При программной реализации лазерный сканер будет представлять собой направленную камеру, в результате чего координата искомой строки соответствует координате середины экрана по оси Y.

Рис. 4. Изображение работы лазерного устройства на экране монитора

Рис. 4. Изображение работы лазерного устройства на экране монитора

Учитывая координату строки, с помощью методов из библиотеки OpenGL мы можем получить координаты точек пересечения в глобальной системе координат. По текущему положению транспортного средства легко вычислить координаты данных точек в локальной системе координат.

Весьма распространенным инструментом построения трехмерных сцен из плоских изображений является использование эффекта стереоскопии, когда по двум стереопарным изображениям восстанавливается объемное изображение (рис. 5). Предлагаемая система позволит  имитировать работу стереовидеосистемы.

Рис. 5. Модель имитации видеосистемы в режиме стереосъемки

Рис. 5. Модель имитации видеосистемы в режиме стереосъемки

Рис. 5. Модель имитации видеосистемы в режиме стереосъемки

В начало В начало

Результаты работы тестовой версии программы

На предварительном этапе проработаны алгоритмы отображения и получения плоских и трехмерных изображений сцен. Каждая сцена, проецируемая на экран средствами OpenGL, проходит ряд трансформаций (модельные, видовые, проекционные), однако OpenGL имеет и механизм обратной трансформации, который предполагается использовать в основе метода получения данных в трехмерном пространстве. Суть данного метода заключается в обратной трансформации каждого пиксела экрана. На рис. 6 представлен пример исходной сцены и результат обратной трансформации всех пикселов экрана.

Рис. 6. Применение обратной трансформации.  Исходная трехмерная сцена  и результат обратной трансформации

Рис. 6. Применение обратной трансформации.  Исходная трехмерная сцена  и результат обратной трансформации

Рис. 6. Применение обратной трансформации. Исходная трехмерная сцена и результат обратной трансформации

В начало В начало

Заключение

Условия реальной работы автономных транспортных средств включают большое количество потенциальных помех (автомобили, здания), в связи с чем для тестирования основных систем требуется специальный испытательный полигон или работа в реальных городских условиях. Предлагаемый программный комплекс предназначен для помощи разработчику в моделировании работы в условиях тестовых сцен, что позволит снизить затраты на испытания в реальных условиях.

При разработке систем автономного управления транспортными средствами работа над математическими и аппаратными системами идет параллельно. Зачастую, ввиду сложности согласования и изготовления аппаратной части, получение тестовых данных для математической системы затруднено. Предлагаемый программный продукт поможет получить тестовые данные еще на этапе разработки аппаратного комплекса. При создании программного комплекса планируется использовать спецификацию OpenGL и язык программирования Visual C# как основную языковую среду.

Работа выполнена при финансовой поддержке РФФИ, проекты № 08­01­00854­а, № 07­01­00058­а, № 08­01­12000­офи и по программе «Развитие научного потенциала высшей школы», проект 2.1.2/2204.

В начало В начало

САПР и графика 12`2009

Регистрация | Войти

Мы в телеграм:

Рекламодатель:
ООО «Нанософт разработка»

ИНН 7751031421 ОГРН 5167746333838

Рекламодатель: АО «Топ Системы»

ИНН 7726601967 ОГРН 1087746953557