Васильев Иван
Анатольевич
Санкт-Петербург, ЦНИИ
РТК, нач. лаб., к.т.н.
Михаил Викторович Коваль
Санкт-Петербург, ЦНИИ РТК,
вед. программист
Евгений
Константинович Игнатиади
Санкт-Петербург, ЦНИИ РТК, программист
УнифицированнАЯ
системА управления мобильными роботами
Введение
Мобильная
робототехника, как одно из самых актуальных направлений робототехники, в ЦНИИ
РТК имеет высший приоритет в разработке. В ЦНИИ РТК сформулированы основные принципы,
на которых должны базироваться все СУ мобильными роботами:
-
Модульность;
-
Наращиваемость;
-
Унифицированность;
-
Иерархическая
структура аппаратной части;
-
Иерархическая
структура программной части;
-
Иерархическая
структура интеллектуального управления.
В настоящей
работе рассматривается созданный в ЦНИИ РТК унифицированный программно-аппаратный
комплекс, соответствующий заявленным принципам. Эта система реализована на многих
роботах разной кинематики, разного сенсорного оснащения и разного назначения. Например,
это такие роботы, как четырёхколёсный мобильный робот с поворотными колёсами,
см. рис. 1, шестиколёсный мобильный робот с танковым разворотом, см. рис. 2, малый
шестиколёсный мобильный робот с танковым разворотом, см. рис. 3, гусеничный
робот, см. рис. 4 и некоторые другие.
Рисунок
1 - робот с поворотными колёсами |
Рисунок
2 - робот с танковым разворотом |
Рисунок
3 - малый шестиколёсный мобильный робот |
Рисунок 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-шине, преобра-зует их в
физические значения |
Принима-ет
показания дальномеров, преобра-зует их в физиче-ские значения |
Принимает
текущие показания бесплатформе-нной инерциальной навигационной системы и
довычисляет их до актуальных физ. значений |
Принимает
текущие показания специальныхдатчиков и довычисляет их до актуальных физ.
значений |
Обмен с
удален-ным пультом управления по сетевым каналам |
Рисунок
5 – структурная схема СУ мобильным роботом
Рисунок 6 – функциональная схема СУ мобильным роботом
Заключение
Описанный
программно-аппаратный комплекс показал свою отличную применимость на множествах
разных роботов, в том числе на специализированном робототехническом комплексе,
состоящем из двух манипуляторов.
На
малом шестиколёсном мобильном роботе (рис. 3) установлены целых два
вычислителя: один, на базе обычного WiFi-роутера служит для
обработки показаний датчиков и, на основании этой информации, вычисления
управления; и второй, на базе платформы Intel-Atom,
предназначен для обработки видеоинформации с телекамер. Оба эти вычислителя
объединены в комплекс на принципах программно-аппаратного комплекса.
На
четырёхколёсном мобильном роботе с поворотными колёсами (рис. 1) реализован
комплекс для поиска и эвакуации источников ионизирующего излучения (ИИИ). Для
поиска ИИИ применяются специальные датчики, показания которых комплексируются с
классическими навигационными датчиками, такими как БИНС, одометр и дальномер.