На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

Программное обеспечение интеллектуально-механических мобильных роботов

Статья опубликована в выпуске журнала № 3 за 2000 год.
Аннотация:
Abstract:
Автор: Шевченко А.И. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 13272
Версия для печати
Выпуск в формате PDF (1.53Мб)

Размер шрифта:       Шрифт:

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

Интерес к роботам сохраняется на протяжении всей истории человечества, и сейчас продолжается их конструирование с использованием нанотехнологий и последних достижений в области систем искусственного интеллекта [1-7].

Одним из последних сообщений об использовании робототехнических систем в Украине была информация о демонстрации робота-разведчика ''Пионер'' в зоне чернобыльского саркофага, или объекта ''Укрытие''. Международный план расчистки помещений реактора SIP рассчитан на восемь лет и обойдется по расчетам специалистов в 760 млн. долларов США. Для удаления кусков лавы, излучающей тысячи рентген, ''биороботы'' не годятся. Сюда должны прийти автоматы. Американцы по своей инициативе создали робот для саркофага. Правительство США истратило на разработку около 2 млн. долларов со стоимостью самого ''Пионера'' в 450 тысяч долларов. Работы выполняли ведущие научные лаборатории, в том числе и НАСА, где создавались марсоходы.

Институту проблем искусственного интеллекта выставочный комитет CeBIT заказал разработку и изготовление самодвижущегося робота с автоматическим синтезом программ и техническими органами слуха, зрения, речи и т.д. Эту разработку в ближайшие годы планируется также испытать в объекте “Укрытие” на Чернобыльской АЭС.

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

Структура робота

Интеллектуально-механический мобильный робот представляет собой самоходное колесное шасси со своим питанием, датчиками положения механических частей, TV-камерами, дальномерами, модемами, однокристальными микроконтроллерами и ЭВМ или бортовыми компьютерами.

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

Поставленная цель может быть достигнута, если робот будет состоять из следующих аппаратных и программных подсистем:

-    движения: перемещение робота, питание всех систем управления;

-    управления движением: принятие и исполнение команд движения;

-    дистанционного ручного управления: оператор управляет роботом с клавиатуры небортовой ЭВМ;

-    речевого управления: управление движениями робота голосом оператора;

-    планирования движения: планирование и отслеживание точности выполнения команд движения механизмов робота;

-    технического зрения: распознавание объектов на пути следования робота;

-    дальномеров: определение расстояний до заданных объектов.

Структурно робот делится на физические и программные компоненты, исполнительные механизмы, датчики положения механизмов частей, управляющие и информационные микроконтроллеры и ЭВМ. Все они связаны между собой либо механически, либо электрически, либо по информационным каналам (см. блок-схему).

Подсистема движения (ПДР): система питания (СП), двигатели движения робота (ДДР), механизм поворота передних колес (МППК), телекамеры обзора (ТКО), механизм поворота телекамер (МПТК), управляющая ЭВМ или бортовой компьютер (УЭВМ или БК), дуплексный радиоканал (ДРК), датчики положения и вращения колес (ДПВК), микроконтроллеры (МК), датчик дальномера (ДД), пульт локального управления (ПЛУ).

Программное обеспечение робота (ПОР) составили следующие программы:

-    управления движением (ПУД): обработки данных о движении (ПОДД), управление механизмами (ПУМ), обработки данных с датчиков (ПОДД), обслуживание радиомодема (ПОРМ-2);

-    дистанционного управления (ПДУ): обслуживание радиомодема (ПОРМ-3), отображения движения (ПОД), мониторинга команд (ПМК);

-    речевого управления (ПРУ): обучение командам (ПОК), распознавания команд (ПРК), генерация кодов управления (ПГКУ-4);

-    планирования движения (ППД): представления мира робота (ППМР), ввода траектории движения (ПВТД), расчета и оптимизации траектории (ПРОТД), контроля движения (ПКД);

-    технического зрения (ПТЗ): ввода изображения (ПВИ), обнаружения людей (или живых объектов) (ПОЧ), обнаружения препятствий (ПОП), классификации препятствий (ПКП), генерации кодов управления (ПГКУ-6);

-    дальномеров (ПД): ввода данных с датчиков (ПВДД), построения изображений (ППИ), генерации кодов управления (ПГКУ-7).

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

Основные алгоритмы и программы робота

Программа голосового управления. Для работы с программой используются команды: “ОСТАНОВ”, “ВПЕРЕД”, “НАЗАД”, “НАЛЕВО”, “ЛЕВЕЕ”, “НАПРАВО”, “ПРАВЕЕ”.

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

Программа распознавания вызывается резидентно по окончании записи сигнала. Во время записи сигнала так же резидентно вызывается функция проверки порога записи. В случае определения начала записи сигналы записываются.

Система планирования маршрутов. Традиционные подходы к навигации роботов основываются на детальном описании мира действия робота. При этом возможно применение предварительного оптимального планирования маршрутов движения робота. Однако при больших вариациях окружающей среды возникают трудности с адаптацией построенных автоматических систем. В настоящее время для проектирования автономных транспортных средств все чаще привлекают методы теории искусственного интеллекта. Однако эти методы не ориентированы на работу в реальном масштабе времени. Решаемая задача планирования маршрутов робота в статичном мире с полной информацией базируется на традиционном подходе в навигации роботов с модификациями, вызванными особенностями поставленных задач. Основной решаемой проблемой является получение грубой, первичной траектории движения робота в статичном мире с полной информацией. Известны геометрические характеристики мира и препятствий в нем. Считается, что препятствие – это так называемые стенки, местность плоская и уклоны можно не учитывать. При заданных начальной и конечной точках маршрута необходимо проложить маршрут, являющийся оптимальным по данному критерию, следуя которому робот успешно обходит препятствия. Обычно оптимизируется длина маршрута с учетом количества разворотов робота.

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

Алгоритм обработки сигналов с датчиков поворота. Система определения угла поворота передних колес конструктивно включает в себя систему полуавтоматического управления, принимающую данные от мобильного пульта управления (радиотелефона).

Для выполнения основных функций к системе подключен датчик угла поворота передних колес. Выдаваемая им информация регистрируется микропроцессором и преобразуется в угол поворота. Датчик нулевого положения также подключается к микропроцессору. Для обеспечения возможности оперативной замены прошивок ПЗУ программ в ходе отладки устройства применена внешняя флеш-память. Тактовый генератор подает тактовую последовательность на микропроцессор. На декодер частотного набора номера поступают DTMF-коды трубки радиотелефона как реакция на команды движения от оператора. Схема преобразует эти коды в цифровой вид и подает на микропроцессор. Дополнительно на вход прерывания подается сигнал опознавания нового DTMF-кода.

Используется два подключения к физически различным портам. Интерфейс 1 подключен к компьютеру, на котором функционирует программа планирования движения, и по нему выдается информация по значениям датчиков, а принимаются как запросы на выдачу этой информации, так и команды движения. Как результат распознавания DTMF-кода либо приема от системы планирования движения команды должна быть выдана информация в систему управления движением, что и осуществляет однонаправленный Интерфейс 2. Схема сопряжения в данном случае обеспечивает гальваническую развязку Интерфейса 1 от Интерфейса 2 и обоих интерфейсов от микропроцессора.

В качестве микропроцессора для программно-аппаратной системы обработки информации с датчиков и реализации механизма обмена по коммуникационному порту с компьютером был выбран процессор фирмы Intel 87С51FA.

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

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

Время в системе отсчитывается с помощью таймера, работающего в режиме Auto‑Reload (8 бит) и переполняющегося каждые 250 мкС (4 КГц). Связующим звеном между прерываниями и основной программой служат два буфера.

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

Характеристики и функции подсистем

Подсистема движения. Самоходное колесное шасси, являющееся основой системы движения, способно нести до 150 кг нагрузки и двигаться со скорость до 4 км/час. На шасси смонтированы три аккумулятора напряжением 12 В и емкостью 48 А/часов каждый, что обеспечивает автономное движение робота в течение десяти часов.

В качестве двигателей движения применены два двигателя постоянного тока на напряжение 27 В с последовательным возбуждением. Суммарная мощность двигателей 120 Вт. Мощность, подаваемая на двигатели, регулируется через полевые транзисторы, работающие в ключевом режиме. Скважность открытия ключей задается ШИМ- регуляторами, которые управляются через бортовую ЭВМ. На каждом колесе установлен датчик вращения, позволяющий контролировать угол поворота с точностью до двух градусов.

Для поворота передних колес используется механизм типа МП-100 с усилием 100 кг на штоке. Напряжение питания 27 В. Направление перемещения МП-100 задается включением одного из двух транзисторных ключей, управляемых от бортовой ЭВМ типа IBM PC/AT 386. С целью уменьшения энергопотребления с бортовой ЭВМ удалены слот видеокарты и микросхемы кэш-памяти. Вместо штатного винчестера установлен винчестер от переносного компьютера, что обеспечивает большую механическую устойчивость. Вместо штатного блока питания в 220 В установлен импульсный блок питания от 12 В, который обеспечивает все требуемые напряжения.

В качестве телекамер обзора применены три черно-белые телекамеры с короткофокусными объективами, углом зрения 56 °, питанием 12 В, стандартным выходом TV-сигнала.

Камеры установлены неподвижно друг относительно друга. Механизм поворота TV-камер позволяет вращать все три камеры вокруг вертикальной оси. Угол поворота определяется с помощью датчика поворота с точностью до градуса.

Микроконтроллеры используются для сбора информации с датчиков, ее предварительной обработки и передачи в управляющую ЭВМ. Микроконтроллеры основаны на микропроцессоре типа 87С51FA с объемом внутренней памяти 8 Кб и тактовой частотой 12 MГц. Все микроконтроллеры работают на один общий канал типа RS-232, соединенный с портом СОМ 1 управляющей ЭВМ. Скорость обмена 75 Кбит/сек.

В качестве датчика дальномера используется стандартный лазерный дальномер с углом развертки луча 180 °.

Пульт местного управления представляет собой модернизированную стандартную клавиатуру, подключенную к управляющей ЭВМ.

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

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

Программа управления механизмами генерирует коды управления и подает их непосредственно в порты управляющей ЭВМ. Добавление новых механизмов или модернизация имеющихся требует пересмотра работы этой программы.

Программа обработки данных с датчиков через порт СОМ 1 опрашивает все микроконтроллеры датчиков и полученную информацию помещает в информационные буфера. Данные в этих буферах рассортировываются по принадлежности механизмам и времени поступления, то есть времени наступления события. Данные из информационных буферов доступны всем системам через различные каналы. Например, программа управления механизмами может контролировать выполнение заданной команды. Каждый микроконтроллер имеет уникальный адрес в системе и данные в канал выгружает только по требованию управляющей ЭВМ.

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

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

Физическая связь с бортовой ЭВМ поддерживается через радиомодем, который построен аналогично радиомодему на борту робота.

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

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

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

Подсистема речевого управления размещается на ЭВМ типа NoteBook на борту робота, сообщается с управляющей ЭВМ через канал RS-232 (порт COM 2) и служит для управления движением робота голосом оператора. Система включает в себя обычный радиотелефон, база которого размещена на роботе и ее выход в линию соединен со входом звуковой карты NoteBook. Трубка радиотелефона находится у оператора. Программная часть состоит из трех программ: обучения командам, распознавания команд и генерации кодов управления.

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

Программа распознавания команд следит за голосом оператора и при наличии достаточного уровня громкости начинает анализ речи. При встрече слова, совпадающего с образом одного из слов, входящих в текущую кодовую книгу, индексируется процент совпадения и передается управление программе генерации кодов управления.

Программа генерации кодов управления ставит в соответствие распознанному слову код выполняемой команды и передает этот код через канал RS-232 в управляющую ЭВМ.

Подсистема планирования движения размещается на ЭВМ вне робота, сообщается с управляющей ЭВМ через радиомодем и представляет собой набор следующих программ: представления мира робота, ввода траектории движения, расчета и оптимизации траектории, контроля движения.

Программа представления мира робота хранит в памяти ЭВМ план местности, по которой перемещается робот, размеры и размещение препятствий. Эта же программа производит вывод мира робота на экран монитора ЭВМ в плоском двухмерном отображении.

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

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

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

Подсистема технического зрения размещается в бортовой ЭВМ, сообщается с управляющей ЭВМ через канал RS-232 и представляет собой набор следующих программ: ввода изображения, обнаружения людей, обнаружения препятствий, классификации препятствий, генерации кодов управления.

Программа ввода изображения производит переключение трех видеокамер, покадрово вводит изображение в память ЭВМ.

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

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

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

Программа генерации кодов управления на каждое сообщение о препятствии генерирует код управления системой движения.

Подсистема дальномеров размещается на борту робота и базируется на лазерном дальномере типа RS3.

Информация с лазерного дальномера поступает в бортовую ЭВМ и обрабатывается для получения детальной карты мира робота.

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

Список литературы

1.  Глушков В.М. Мышление и кибернетика. - М.: Знание, 1966.

2.  Спыну Г.А. Роботы с искусственным интеллектом. - К.: Тэхника, 1989.

3.  Малиновский Б.Н. История вычислительной техники в лицах. - К., 1995.

4.   Сергієнко І.В. Становлення і розвиток досліджень з інформатики. Київ: Наукова думка, 1998.

5.  Поспелов Д.А., Пушкин В.Н. Мышление и автоматы. - М., 1972.

6.  Васильев В.И., Шевченко А.И. Искусственный интеллект: проблема обучения опознаванию образов. - Донецк: ДонГИИИ, 1997.

7.   КИИ-98. Сб. труд. конф. Российской Ассоциа- ции искусственного интеллекта (Пущино). - М.: РАН. - Т 1-3.  - 1998.


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=894
Версия для печати
Выпуск в формате PDF (1.53Мб)
Статья опубликована в выпуске журнала № 3 за 2000 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: