Электронный журнал «Труды МАИ». Выпуск №74 www.mai.ru/science/trudy/_
УДК 004.896
Разработка системы управления автономным мобильным роботом
на базе воксельного вычислителя Бимаков Е.В.*, Касимов Т.Р.
Ижевский институт комплексного приборостроения,
ИИКП, ул. Максима Горького, 90, Ижевск, 426000, Россия
*e-mail: [email protected]
Аннотация
Рассматриваются вопросы построения системы управления высокоадаптивными и автономными мобильными роботами (СУАМР), основанной на использовании нового программно-управляемого вычислительного устройства, т.н. воксельного вычислителя (ВВ). Высокая производительность ВВ достигается за счёт глубокого распараллеливания операций и процедур, наиболее часто используемых при обработке сцен и изображений. В статье приводится структурная схема СУАМР, описывается состав, назначение и принцип функционирования её отдельных узлов. Излагаются результаты макетирования ВВ и СУАМР с целью отработки основных технических решений и доказательства их аппаратной и программной реализуемости на примере действующего макета мобильного робота.
Ключевые слова: высокоскоростная обработка, воксельный вычислитель, распараллеливание, пиксель, воксель.
1. Обоснование актуальности выполняемой работы
Несмотря на огромные достижения в области автоматизации, до сих пор существуют сферы человеческой деятельности, автоматизация которых либо крайне неэффективна, либо вообще не представляется возможной, когда, казалось бы, весьма несложные операции (с которыми легко справляется любой малоквалифицированный персонал) вообще не поддаются автоматизации. Заполнить многие из таких «свободных от автоматизации ниш» могли бы высокоадаптивные и автономные мобильные роботы (МР).
«Интеллектуализация» МР является важнейшим направлением развития МР. Под этим термином здесь понимается повышение уровня адаптивности МР к сложным быстроизменяющимся внешним условиям или повышение степени независимости (автономности) процесса функционирования МР от человека-оператора. С увеличением степени автономности МР упрощается процесс управления роботом, уменьшается отрицательное влияние человеческого фактора, возрастает общая эффективность от применения МР.
Предлагаемый проект направлен на создание универсальной системы управления мобильным роботом (СУАМР), способной стать основой для создания целой линейки высокоадаптивных и автономных МР, отличающихся функциональным назначением, габаритами и стоимостью. Общим для таких МР будут:
• размерность сцен (2Б и 3Б), внутри которых функционирует МР;
• высокая геометрическая сложность обрабатываемых реальных сцен;
• общие способы внутреннего представления сцен в памяти МР;
• сверхскоростные методы обработки моделей сцен в бортовом вычислителе МР;
• одинаковые способы автоматического реагирования МР на выявленные раздражители и внешние угрозы;
• применение одинаковых (или совместимых) инерциальных и глобальных систем навигации;
• одинаковые (или совместимые) способы обмена информацией между МР и оператором, а также между отдельными МР.
2. Научная новизна проекта
Главной особенностью разрабатываемой СУАМР является использование в ней принципиально нового программно-управляемого вычислительного устройства, т.н. вокселъного вычислителя (ВВ) [1]. Работа ВВ основана на глубоком распараллеливании основных операций и процедур (ОПОС), наиболее часто используемых при обработке плоских изображений и трёхмерных сцен и в которых функцию исходных операндов выполняют геометрические модели объектов обрабатываемой сцены. К ОПОС относятся:
• теоретико-множественные операции (ТМО) над объектами сцен;
• геометрические преобразования (ГП);
• анализ объектов на пересекаемость;
• вычисление объёмов и площадей объектов;
• определение положения объектов в пространстве.
В настоящее время для скоростной программной обработки изображений и трехмерных сцен наибольшее применение нашли два метода геометрического моделирования:
1) метод моделирования многогранниками (многоугольниками);
2) пиксельный (иначе дискретный, точечный, воксельный) метод моделирования.
Пиксельный метод применяется сейчас, главным образом, лишь на этапе предварительной обработки введенных видеоизображений, а также на этапе визуализации синтезированных моделей-многогранников на экране растрового дисплея. Метод моделирования многогранниками используется сейчас на самом трудоёмком вычислительном этапе (этапе анализа и синтеза сцен), поскольку математическое описание моделей-многогранников максимально соответствует аппаратным возможностям арифметико-логических узлов (АЛУ) существующих компьютеров.
Совместное использование двух указанных методов моделирования на разных
этапах решения одной задачи обработки сцены имеет существенные недостатки.
Прежде всего, это приводит к неизбежным потерям машинного времени из-за
необходимости изменения внутреннего представления сцены при переходе от
одного этапа решения задачи к другому. Однако главным недостатком является то,
что моделирование многогранниками принципиально не может обеспечить
максимальной степени распараллеливания ОПОС (т.е. выполнения ОПОС за один
машинный такт). Именно применением моделей-многогранников объясняется
чрезвычайно сильная зависимость времени анализа и синтеза сцен от сложности
геометрической формы объектов, образующих эти сцены.
Наоборот пиксельный (воксельный) метод моделирования позволяет максимально распараллелить ОПОС, предложить новые скоростные алгоритмы обработки, время выполнения которых не зависит от геометрической формы обрабатываемых объектов. Однако для реализации этих потенциальных возможностей пиксельного метода моделирования нужен переход к вычислительным устройствам другого рода, существенно отличающимся от традиционных вычислителей, применяемых в настоящее время в этой области (однопроцессорных и конвейерных вычислительных систем, нейронных сетей), к т.н. устройствам параллельной обработки n-мерных пиксельных моделей (УПОпПМ) [1,2,3,4].
3. Краткое описание вексельного вычислителя
Воксельный вычислитель представляет собой частный случай УПОпПМ и предназначен для параллельной обработки как 2D (пиксельных), так и 3D (воксельных) геометрических моделей. Отличительными признаками ВВ являются:
1) в ВВ роль адресуемых информационных единиц выполняют не только числовые двоичные переменные (байты и слова - как в обычных числовых компьютерах), но также адресуемые бинарные изображения (АБИ):
• двумерные АБИ квадратного формата MÍA х MÍA (где A = q2, q > 2 -целое);
• трёхмерные АБИ кубического формата A х A х A;
2) в состав ВВ помимо обычного арифметико-логического узла,
предназначенного для обработки чисел, входят аппаратные средства,
5
позволяющие выполнять все вышеперечисленные ОПОС над любыми пиксельными и воксельными геометрическими моделями (представленными в виде одноцветного содержимого АБИ) за время, сравнимое с элементарным тактом управления ВВ;
3) система команд ВВ помимо арифметико-логических команд, используемых для обработки чисел, содержит набор команд, оперирующих адресуемыми 2D и 3D бинарными изображениями (БИ). Каждая из таких команд реализует одну ОПОС над одноцветным содержимым АБИ, этот набор является функционально полным, позволяющим выполнить весь цикл обработки сцены или изображения с использованием только пиксельных и воксельных моделей.
ВВ позволяет обрабатывать с высокой степенью параллелизации не только сцены и изображения, но также и большие двумерные и трёхмерные числовые массивы. Это делает ВВ практически идеальным средством для обработки полутоновых изображений и одновременного регулирования большим (и даже сверхбольшим) числом близкодействующих (тактильных) датчиков и исполнительных элементов (двигателей, реле и т.п.).
Современная элементная база позволяет строить подобные ВВ с тактовой частотой до 100 МГц с низким энергопотреблением и малыми габаритами.
3.1. Операции, апиаратио реализуемые в ВВ
Рассмотрим архитектуру и систему команд одного из вариантов ВВ, для
которого д = 3, Л = д2 = 9 (рис.1). Блок 1 управления (БУ) содержит центральный
управляющий процессор 3 с регистром 4 микрослова и программно-адресуемыми регистрами 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, память 16 программ и данных (ППД), мультиплексор 17 адреса сверхоперативную память адресуемых бинарных изображений (СПАБИ). Связь блока 1 с внешними устройствами осуществляется посредством интерфейса 18. Блок 2 обработки бинарных изображений (БОБИ) включает в себя:
- однородную процессорную матрицу 19, состоящую из 729 одноразрядных процессорных элементов 20 (ОПЭ);
- узел 21 скоростного вычисления объема единичного содержимого АБИ 9x9x9 (площади единичного содержимого АБИ 27x27);
- формирователь 22 для скоростного формирования кода заполнения АБИ (9x9x9 или 27x27);
- оперативную память 23 адресуемых БИ 9x9x3;
- коммутаторы 24 внутрислойного перемещения;
- узлы 25 ввода видеоизображений;
- узел 26 отображения;
- коммутатор 27 слова;
- матрицы 28 (9x9) одноразрядных контроллеров внешних датчиков фотоизображений.
Рис.1. Вариант архитектуры воксельного вычислителя Управление входами матрицы 19 осуществляет дешифратор 29. Каждый ОПЭ 20 (рис.2) состоит из узла 30 оперативной локальной памяти, одноразрядного регистра 31 первого АБИ-операнда, одноразрядного регистра 32 второго АБИ-
операнда, одноразрядного регистра 33 АБИ-операнда, ключа 34, мультиплексора 35, состоящего из дешифратора 36 кода микрокоманды (INS), двухвходовых схем 37 И, схемы 38 ИЛИ.
Рис.2. Вариант ОПЭ матрицы 9x9x9 воксельного вычислителя
В процессор 20 входит простейший АЛУ, состоящий из схемы 39 2И-НЕ и схемы 40 2И. АЛУ всех 729 ОПЭ матрицы 19 образуют вместе функционально-полный набор теоретико-множественных операций над одноцветным содержимым АБИ. Коммутатор 24 внутрислойных перемещений содержит первую матрицу 41 (9x9) и вторую матрицу 42 (9x9) одноразрядных узлов буферной памяти фрагментов АБИ, коммутатор 43 плоского поворота, матрицу 44 (9x9x1) ключей циклического переноса, матрицу 45 (9x9) ключей 3Б-сдвигов, матрицу 46 (9x9) ключей 2Б-сдвигов.
В памяти ППД (16) хранятся программы обработки. Каждая команда такой программы перед выполнением извлекается из памяти 16 и размещается в регистрах процессора 3, при этом адрес первого операнда размещается в регистре 11, адрес второго операнда - в регистре 12. Далее дешифрируется код операции извлеченной команды, после чего узел микропрограммного управления процессора 3 вырабатывает сигналы микроопераций, необходимые для выполнения данной команды. Система команд ВВ помимо традиционных арифметико-логических команд, оперирующих «одномерными БИ», дополнительно содержит набор команд (табл. 1), каждая из которых реализует одну из процедур ОПОС над пиксельными или воксельными моделями (представленными в виде одноцветного содержимого АБИ). Набор этих дополнительных команд в ВВ должен быть функционально полным, позволяющим выполнять весь цикл обработки содержимого сцен и изображений почти без использования традиционных арифметических и логических команд над числовыми и булевыми переменными.
НЕКОТОРЫЕ ИЗ КОМАНД БОБИ, ВЫПОЛНЯЕМЫЕ ВОКСЕЛЬНЫМ ВЫЧИСЛИТЕЛЕМ С МАКСИМАЛЬНОЙ СТЕПЕНЬЮ ПАРАЛЛЕЛИЗАЦИИ
Таблица 1
№ Мнемоническое обозначение команды Выполняемая функция
1 ЯЛХА а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с поворотом содержимого АБИ вокруг оси Ох на 90°
2 ЯЛУА а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с поворотом содержимого АБИ вокруг оси Оу на 90°
3 RAZA а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с поворотом содержимого АБИ вокруг оси на 90°
4 РЯЛЛ а2, а1 Содержимое АБИ 27x27 с адресом а1 скопировать в АБИ 27x27 с адресом а2 с поворотом содержимого АБИ вокруг его центра на 90°
5 SH1A а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с одновременным сдвигом содержимого на 1 шаг в направлении оси Ох
6 SH2A а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с одновременным сдвигом содержимого на 3 шага в направлении оси Ох
7 TRNA а2, а1 Содержимое АБИ с адресом а1 скопировать в АБИ с адресом а2
8 TRNAV а2, а1 Содержимое АБИ с адресом а1 скопировать в АБИ с адресом а2, вычислить объем единичного содержимого АБИ
9 TRNAK а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2, определить код заполнения АБИ (КЗБИ)
10 INEA а2, а1 Выполнить теоретико-множественную операцию Л2 п Л1, где А1 - множество единичных вокселей 1x1x1 АБИ 9x9x9 с адресом а1, А2 - множество единичных вокселей 1x1x1 АБИ 9x9x9 с адресом а2), результат записать по а2
11 SBTA а2, а1 Выполнить теоретико-множественную операцию Л2 п Л1, где А1 - множество единичных вокселей 1x1x1 АБИ 9x9x9 с адресом а1, А2 - множество единичных вокселей 1х1х1 АБИ 9x9x9 с адресом а2. Результат записать по а2
12 FTI Чтение фотоизображений в процессорную матрицу в фиксированную адресную область локальной памяти
13 SIMA а2, а1 Содержимое АБИ 9x9x9 с адресом а1 скопировать в АБИ 9x9x9 с адресом а2 с выполнением преобразования симметрии относительно плоскости х07
14 ANG Содержимое АБИ 9x9x9 с адресом, хранящимся в регистре адреса первого операнда, перевести в угловое положение
Рис.3. Аппаратное вычисление интегральных числовых характеристик
Для организации условных программных ветвлений по результатам анализа содержимого сцен и изображений в состав ВВ введены специальные высокопараллельные сумматор и формирователь кода заполнения АБИ (рис.3). На рисунке предствлено аппаратное вычисление интегральных числовых характеристик одноцветного содержимого АБИ 9x9x9 (объёма и кода заполнения БИ) в ВВ.
4. Преимущества применения ВВ в системах управления высокоадаптивными
и автономными мобильными роботами
Из всех возможных применений ВВ наиболее интересным и наиболее перспективным, на наш взгляд, является использование ВВ в составе системы управления высокоадаптивным или автономным мобильным роботом.
В процессе своего функционирования автономный робот решает некоторую поставленную перед ним стратегическую целевую задачу (СЦЗ). Под автономностью робота здесь понимается не способность робота самому
вырабатывать СЦЗ, а лишь способность робота самостоятельно находить пути решения уже поставленной ему СЦЗ в зависимости от текущего состояния окружающей обстановки и текущего внутреннего состояния робота. Примером такой СЦЗ может быть задача поиска трехмерного предмета заданной геометрической формы, заданной окраски и размеров в некоторой области пространства (сведения о геометрии которой априорно отсутствуют), захвата обнаруженного предмета и переноса его в указанное место.
Высокая производительность ВВ позволяет в кратчайший срок осуществлять мониторинг сверхбольшого числа датчиков робота, строить текущие модели окружающей сцены и самого робота, сверхоперативно строить модели возбужденных участков "кожи" робота, своевременно предупреждать о возможных столкновениях робота с препятствиями и т.п. Здесь наиболее полно раскрываются достоинства ВВ, а именно:
• высокая скорость ввода и обработки 2Б и 3Б изображений;
• высокая скорость обработки больших числовых массивов;
• малые габариты и энергопотребление;
• возможность одновременного регулирования большим числом сервоприводов и сенсорных датчиков робота;
• небольшая стоимость (по сравнению с универсальными суперкомпьютерами).
Процесс функционирования автономного робота невозможен без постоянного мониторинга внутреннего состояния робота и состояния пространства,
окружающего робота. Чем чаще производится такой мониторинг (т.е. опрос и анализ состояния датчиков МР), тем точнее машинные модели, синтезированные СУАМР, отображают реальное состояние самого МР и состояние сцены, окружающей робота.
ВВ позволяет значительно сократить период мониторинга всех датчиков робота благодаря распараллеливанию процесса обмена информацией между ВВ и сенсорными датчиками робота.
5. Структуриая схема и состав СУАМР
Обобщённая структурная схема базового ядра СУАМР показана на рис.4. В состав этого ядра входят:
• аппаратура формирования оцифрованных видеоизображений (АФВ);
• воксельный вычислитель (ВВ);
• контроллеры управления исполнительными элементами МР (КУИЭ);
• контроллеры управления сенсорными матрицами МР (КУСМ);
• типовые интерфейсы для подключения типовых датчиков инерциальной системы навигации (гироскопов, инклинометров, акселерометров и т.п.) и глобальной системы навигации (вРБ, ГЛОНАСС и т.п.).
АФВ включает в себя набор цифровых видеокамер с единым управлением, информационные выходы камер соединены с единой магистралью изображений (МИ) ВВ. Работа всех камер синхронизирована сигналом блока управления ВВ. Каждая видеокамера может иметь собственную сервоуправляемую гиростабилизированную платформу, регулируемую посредством того же ВВ.
Рис.4. Обобщённая структурная схема базового ядра СУАМР ВВ состоит из БУ и БОБИ. Назначением БУ является хранение команд и данных, организация последовательного извлечения команд, обработка чисел и булевых переменных.
БОБИ предназначен для организации сверхвысокопараллельного выполнения ОПОС над содержимым АБИ. Обработка бинарных изображений (БИ), имеющих большее разрешение чем АБИ, выполняется в ВВ последовательно (адресуемыми фрагментами Ал/л х Ал/Л или А х А х А). Полутоновые и цветные 2Б и 3Б изображения представляются в ВВ при помощи нескольких «разрядных» БИ того же формата (например, 256-уровневое полутоновое изображение формата в х в х в , где В - кратно А, представляется в виде 8 бинарных изображений формата в х вх в). В состав БОБИ входят:
• процессорная матрица Л х А х А (ПМ), состоящая из Л3 одинаковых процессорных элементов (ПЭ), связанных между собой сверхбольшим числом проводных межпроцессорных связей;
• формирователи двоичных кодов, интегрально описывающих характер заполнения одноцветным содержимым АБИ формата Ал/А х Ал/А или А х А х А ;
• оперативная память для хранения АБИ формата А х А х А (ОПИ).
Для увеличения разрешения АБИ каждый ПЭ выполнен одноразрядным, содержит собственную одноразрядную локальную память (ЛП) произвольного доступа. Одноразрядные узлы ЛП всех
А3 ПЭ матрицы образуют вместе единую
СПАБИ.
Существующая элементная база позволяет реализовать на одном кристалле процессорную матрицу с разрешением А = 9, 16 и локальной памятью каждого ПЭ от нескольких килобит до нескольких десятков килобит.
6. Макет СУАМР
С целью отработки основных технических решений и доказательства их аппаратной и программной реализуемости (с использованием существующих технологий и современной элементной базы) авторами данной статьи в рамках инициативной НИР, выполняемой в ООО «ИИКП» (г. Ижевск, ОАО «ИМЗ «Аксион-холдинг»), разработан макет автономного мобильного робота, включающего в себя:
1) макет воксельного вычислителя (макет ВВ);
2) макет системы управления адаптивным мобильным роботом (макет СУАМР);
3) макет робототехнической платформы мобильного робота.
Рис.5. Макет воксельного вычислителя
На рис.5 показана фотография макета ВВ, плата БОБИ которого содержит матрицу одноразрядных ПЭ формата 9x9x9, а объём локальной памяти каждого ПЭ имеет объём 4К адресуемых бит. Таким образом, АБИ, обрабатываемыми в ВВ с предельной степенью параллелизации (т.е. за один машинный такт), в макете ВВ являются бинарные 3Б-изображения формата 9x9x9 и 2Б-изображения формата 27x27. Функцию БПУ в низкочастотной версии макета ВВ выполняет обычный персональный компьютер (который на рис.2 не показан), осуществляющий управление платой БОБИ (поз.1) через адаптер своего ЬРТ-порта (поз.4). Функцию БПУ в высокочастотной версии макета ВВ выполняет уже не ЬРТ-порт РС, а контроллер Сог!ех-М3 (поз.5), управляющий платой БОБИ посредством своих портов общего назначения и программируемый программатором (поз.6).
Все составные части БОБИ (кроме памяти адресуемых бинарных изображений 9x9x3) расположены внутри ПЛИС Cyclone III (поз.2), конфигурируемой с помощью программатора (поз.3).
Относительно большие габариты платы БОБИ (170 мм x 130мм) объясняются наличием на её поверхности избыточного числа контрольных гнёзд.
Макетированию СУАМР предшествовало макетирование ВВ с использованием двух БУ: 1) БУ на базе LPT-порта персонального контроллера (эмулируемая тактовая частота - 2 кГц); 2) БУ на базе контроллера Cortex-M3 (эмулируемая тактовая частота - 10 МГц). В первом случае за 1 сек. было выполнено 4300 пространственных поворота, во втором случае - 21,5 млн. пространственных поворота. Такая высокая скорость реализации поворотов воксельных моделей, а также процедуры проецирования этих моделей на плоскость (с удалением невидимых линий) позволяет предложить новые методы, технологии и алгоритмы, связанные с анализом и синтезом сцен и изображений.
Разрешающая способность большинства сцен (изображений), встречающихся в прикладных задачах, значительно превышает разрешение 9x9x9 (27x27). В этом случае обрабатываемые сцены представляются в ВВ с помощью бинарных составных изображений, состоящих из нескольких АБИ.
При проведении исследовательских испытаний СУАМР в качестве испытательного стенда используется макет мобильного робота (рис.6). Исполнительными элементами макета МР управляет макет СУАМР.
Рис.6. Макет сервисного мобильного робота с СУАМР Проведённая к настоящему времени серия исследовательских испытаний макета ВВ и макета СУАМР подтверждают правильность выбранных технических решений (аппаратных и программных) и позволяют надеяться на большие перспективы применения ВВ в качестве вычислительного ядра в системах управления высокоадаптивными и автономными мобильными роботами.
Библиографический список
1. Бимаков В.А., Бимаков Е.В. Устройство обработки двухмерных и трехмерных изображений. Патент РФ № 2289161, Бюл. № 34 от 10.12.2006.
2. Бимаков В. А., Бимаков Е.В. Устройство обработки двухмерных и трехмерных изображений. Патент РФ № 2376637, Бюл. № 35 от 20.12.2009.
3. Бимаков В.А., Касимов Т.Р. Использование воксельных вычислителей для скоростного преобразования 2D и 3D изображений высокого разрешения. Журнал «Информационные технологии» № 3, 2013.
4. Бимаков В.А., Бимаков Е.В., Касимов Т.Р. Параллельная обработка и-мерных пиксельных геометрических моделей. Монография. Издатель: LAMBERT Academic Publishing, Германия, 2013.