Васильев Иван Анатольевич

Санкт-Петербург, ЦНИИ РТК, нач. лаб., к.т.н.

Михаил Викторович Коваль

Санкт-Петербург, ЦНИИ РТК, вед. программист

Евгений Константинович Игнатиади

Санкт-Петербург, ЦНИИ РТК, программист

УнифицированнАЯ системА управления мобильными роботами

Введение

Мобильная робототехника, как одно из самых актуальных направлений робототехники, в ЦНИИ РТК имеет высший приоритет в разработке. В ЦНИИ РТК сформулированы основные принципы, на которых должны базироваться все СУ мобильными роботами:

-     Модульность;

-     Наращиваемость;

-     Унифицированность;

-     Иерархическая структура аппаратной части;

-     Иерархическая структура программной части;

-     Иерархическая структура интеллектуального управления.

В настоящей работе рассматривается созданный в ЦНИИ РТК унифицированный программно-аппаратный комплекс, соответствующий заявленным принципам. Эта система реализована на многих роботах разной кинематики, разного сенсорного оснащения и разного назначения. Например, это такие роботы, как четырёхколёсный мобильный робот с поворотными колёсами, см. рис. 1, шестиколёсный мобильный робот с танковым разворотом, см. рис. 2, малый шестиколёсный мобильный робот с танковым разворотом, см. рис. 3, гусеничный робот, см. рис. 4 и некоторые другие.

Рис 01.jpg

Рисунок 1 - робот с поворотными колёсами

Рис 02.jpg

Рисунок 2 - робот с танковым разворотом

 

Рис 03.jpg

Рисунок 3 - малый шестиколёсный мобильный робот

 

Рис 04.jpg

Рисунок 4 – гусеничный робот

В настоящее время многие разработчики робототехнических комплексов начинают использовать унифицированные программные и аппаратные платформы (например, такое средство унификации, как Microsoft Robotics Developer Studio). Все эти попытки (или, во всяком случае, большинство из них) ориентируются на ограниченное множество операционных платформ, сенсорного оснащения и аппаратной реализации. В случае ЦНИИ РТК создан такой ПАК (программно-аппаратный комплекс), который применим практически для любой конфигурации систем управления робототехнических комплексом.

Любая СУ технической системой, как известно, состоит из трёх уровней иерархии:

- аппаратный уровень (датчики, привода, средства связи и пр.);

- ПО нижнего уровня (обмен сигналами с аппаратной частью);

- ПО верхнего уровня (целевой функционал управления).

 

Аппаратный уровень

Для обеспечения управления приводами, обработки различных датчиков а также обеспечения радиосвязи с пультом на расстоянии до 100 метров на открытой местности может использоваться стандартный роутер (к примеру, Dlink DIR-320)  который перепрошивается открытым ПО (OpenWRT). Прошивка содержит стандартный функционал роутера, а также туда могут быть добавлено специализированное ПО, разработанное в ЦНИИ РТК, и тем самым обеспечивается применение роутера в качестве центрального коммуникационного устройства робототехнического комплекса, что резко удешевляет создание робототехнического средства.

Таким образом получается платформа к которой могут быть подключены устройства с Ethernet и с CAN сетью.

Центральным местом платформы является микропроцессор. В ЦНИИ РТК используются микропроцессоры архитектур  x86, ARM, MIPS.  При этом с точки зрения:

·      Потребления энергии-наибольший интерес представляют ARM (потребление 10-20 мВт).

·      Коммуникационных возможностей-MIPS (5 штук ethernet, Wi-Fi)

·      Вычислительной мощности-x86 (Intel Atom)

Оба уровня ПО реализованы на базе GNU Linux и независимы от аппаратной платформы. В настоящее время не существует микропроцессоров (при достаточном обьеме ОЗУ и производительности) которые не поддерживались бы GNU Linux, которая, по сути, предоставляет равные с точки зрения задач программной платформы мобильного робота условия,  на любых процессорах. Таким образом, можно констатировать основные преимущества разработки программной платформы, как-то:

·      переносимость между аппаратными платформами

·      повторная применяемость программных модулей

·      структурирование кода за счет повторного использования

·      возможность одновременной разработки составных подпрограмм за счет структурирования

·      повышение надежности

·      простое взаимодействие роботов имеющих общую платформу

·      программно унифицированный пульт управления для всех роботов

      Что касается универсальности уровня контроллера привода то представляется разумным использовать связку контроллер двигатель (maxon) для макетов. А в случае серийного изделия разработку собственного контроллера двигателя (желательно на базе протоколов maxon).

 

Программный уровень.

Для уверенного и безопасного движения всех роботов в пределах рабочего пространства все их СУ должны выполнять следующие действия:

-     Строить безопасные траектории для движения в целевое положение;

-     Отслеживать и корректировать отработку этих траекторий при движении робота;

-     Останавливать работу при выходе параметров за допустимые пределы.

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

На рисунках 5 и 6, а также в таблице 1 приведены структурная, функциональная схема СУ мобильным роботом, а также её потоковая структура.

СУ строится на принципах конечного автомата: текущее управление роботом вычисляется на основании текущих показаний датчиков и текущего состояния системы.

 

Таблица 1 – Потоковая структура ПО

№ потока

0

1

2

3

4

5

6

7

Наз-вание потока

 

Управ-ление

 

Безопас-ность

 

Локализация/

карты

 

CAN

 

Дально-меры

 

БИНС

 

Спец.

датчики

 

Обмен по сети

 

 

 

Функ-циона-льное

назначение

потока

 

 

Формирует текущее управление в зависимости от задания и обстановки

 

Проверяет на безопасно-сть текущего положения, текущего движения и текущего задания

Определяет текущие координаты, комплексирует показания датчиков по текущему алгоритму,

уточняет карту на основе текущих датчиков.

Принимает текущие показания датчиков, подключенных к CAN-шине, преобра-зует их в физические значения

Принима-ет показания дальномеров, преобра-зует их в физиче-ские значения

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

Принимает текущие показания специальныхдатчиков и довычисляет их до актуальных физ. значений

Обмен с удален-ным пультом управления по сетевым каналам

Рис 05.jpg

 

Рисунок 5 – структурная схема СУ мобильным роботом

 

Рис 06.jpg

Рисунок 6 – функциональная схема СУ мобильным роботом

 

 

Заключение

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

На малом шестиколёсном мобильном роботе (рис. 3) установлены целых два вычислителя: один, на базе обычного WiFi-роутера служит для обработки показаний датчиков и, на основании этой информации, вычисления управления; и второй, на базе платформы Intel-Atom, предназначен для обработки видеоинформации с телекамер. Оба эти вычислителя объединены в комплекс на принципах программно-аппаратного комплекса.

На четырёхколёсном мобильном роботе с поворотными колёсами (рис. 1) реализован комплекс для поиска и эвакуации источников ионизирующего излучения (ИИИ). Для поиска ИИИ применяются специальные датчики, показания которых комплексируются с классическими навигационными датчиками, такими как БИНС, одометр и дальномер.