close

Вход

Забыли?

вход по аккаунту

?

RonzhinPrischepa

код для вставкиСкачать
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
АЭРОКОСМИЧЕСКОГО ПРИБОРОСТРОЕНИЯ
А. Л. Ронжин, М. В. Прищепа, В. Ю. Будков
МЕТОДЫ И СРЕДСТВА
ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ
МОБИЛЬНЫМ ИНФОРМАЦИОННЫМ
РОБОТОМ
Учебное пособие
Санкт-Петербург
2012
УДК 004.9
ББК 328:3
Р71
Рецензенты:
лаборатория интегрированных систем автоматизации
Санкт-Петербургского института информатики и автоматизации
Российской академии наук;
кандидат технических наук, профессор Л. А. Станкевич
Утверждено
редакционно-издательским советом университета
в качестве учебного пособия
Ронжин, А. Л.
Р71 Методы и средства интеллектуального управления мобильным информационным роботом: учеб. пособие / А. Л. Ронжин,
М. В. Прищепа, В. Ю. Будков. – СПб.: ГУАП, 2012. – 64 с.
ISBN 978-5-8088-0704-4
Рассматриваются методы и программно-аппаратное обеспечение, используемые при проектировании нового поколения социальных роботов.
Естественность взаимодействия пользователя с роботом в условиях динамически изменяющейся обстановки является основной задачей в этой области.
Приведен обзор существующих человеко-машинных интерфейсов и примеры социальных роботов с многомодальными и другими естественно-языковыми интерфейсами. Проанализированы проблемы навигации и управления
движением роботов с учетом текущего положения препятствий и пользователей в ходе сеанса взаимодействия. Приведен лабораторный практикум, направленный на приобретение навыков программирования интеллектуального управления подвижным роботом.
Учебное пособие предназначено для студентов, обучающихся по специальностям 2202, 2204, 2301, может быть полезно студентам смежных специальностей, а также аспирантам и специалистам, работающим над созданием
интеллектуальных информационно-управляющих систем.
Учебное издание
УДК 004.9
ББК 328:3
МЕТОДЫ И СРЕДСТВА
ИНТЕЛЛЕКТУАЛЬНОГО УПРАВЛЕНИЯ
МОБИЛЬНЫМ ИНФОРМАЦИОННЫМ
РОБОТОМ
Учебное пособие
Редактор В. П. Зуева
Верстальщик С. Б. Мацапура
Сдано в набор 17.02.12. Подписано к печати 29.03.12.
Формат 60×84 1/16. Бумага офсетная. Усл. печ. л. 3,7.
Уч.-изд. л. 4,0. Тираж 100 экз. Заказ № 162.
Редакционно-издательский центр ГУАП
190000, Санкт-Петербург, Б. Морская ул., 67
ISBN 978-5-8088-0704-4
© Санкт-Петербургский государственный
университет аэрокосмического
приборостроения (ГУАП), 2012
© СПИИРАН, 2012
© А. Л. Ронжин, М. В. Прищепа,
В. Ю. Будков, 2012
ПРЕДИСЛОВИЕ
В настоящее время роботы широко используются на предприятиях, особенно в таких отраслях как автомобильная, электротехническая, электронная и химическая, где выполняют множество задач по обработке материалов, сварке, пайке и другие
функции. В настоящее время разрабатываются роботы нового
поколения, которые будут функционировать в тесном сотрудничестве с людьми в широком спектре приложений. Например,
сервисные роботы для помощи пожилым людям и инвалидам,
бытовые роботы для применения в домах и офисах, детские развлекательные роботы. В области медицины актуально применение роботов-хирургов, робототехнических протезов для людей с
ампутированными конечностями, использование ортезов и экзоскелетов для восстановления подвижности или манипуляционных навыков.
Социальные роботы должны работать в тесном контакте с людьми и уметь общаться как вербальными, так и невербальными способами. Робот должен не только понимать речь и жесты человека,
но и самостоятельно воспроизводить их. Идея социально-ориентированных роботов заключается в создании систем, с которыми человек мог бы взаимодействовать без предварительного обучения на
естественном языке. Разработка таких систем ведется во многих
странах, и получено уже достаточное количество результатов, которые говорят об успешности идеи в целом.
Данное учебное пособие содержит аналитический обзор существующих робототехнических систем массового обслуживания и
анализ проблем функционирования робота в ходе диалога с пользователем и передвижения по территории обслуживания.
Учебное пособие организовано следующим образом. В первом
разделе кратко изложен обзор интерфейсов человеко-машинного
взаимодействия, приведен обзор и классификация существующих
робототехнических систем.
Второй раздел посвящен методам навигации и управления движением роботов. Рассматриваются основные понятия и подходы
к навигации мобильных роботов. Рассматривается задача бесконтактного обнаружения препятствий. Даны основные понятия и
принципы работы ультразвуковых и инфракрасных датчиков, позволяющие определить расстояние до препятствий в ходе передвижения робота. Обсуждаются особенности алгоритмов управления
движением роботов.
3
В третьем разделе представлен лабораторный практикум, направленный на закрепление полученных теоретических знаний и
приобретение навыков программирования функций мобильного
робота в условиях динамически изменяющейся обстановки. Лабораторные работы охватывают все уровни управления движением
мобильного робота: от управления приводами платформы до считывания и обработки показаний датчиков.
Вопросы, рассматриваемые в учебном пособии, соответствуют
программе курсов «Методы искусственного интеллекта», «Нейронные сети и экспертные системы» по специальности 220201, 220402,
230102, 230201.
Научные результаты по естественному человеко-машинному
взаимодействию, вошедшие в учебное пособие, и экспериментальный образец мобильного информационно-справочного робота на
подвижной платформе, используемый при проведении лабораторного практикума, были получены и разработаны в ходе выполнения
работ по государственным контрактам №П876 и № 14.740.11.0357
в рамках федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009–2013 годы
Министерства образования и науки Российской Федерации.
4
1. СПОСОБЫ ВЗАИМОДЕЙСТВИЯ ПОЛЬЗОВАТЕЛЯ
С РОБОТОМ
1.1. Человеко-машинные интерфейсы
для социальных роботов
Человеко-машинные интерфейсы обеспечивают взаимодействие
между пользователем и компьютером. Под взаимодействием понимается некоторый обмен действиями и реакциями на эти действия
между компьютером и пользователем. Первые интерфейсы использовали в качестве основного вида взаимодействия текстовые сообщения (это были так называемые терминальные или командные
системы) [37]. В настоящее время в ходе взаимодействия может
также использоваться и обрабатываться графика, речь и жесты
вместо или в дополнение к текстовым сообщениям. Таким образом,
следует выделить несколько способов, которыми пользователь может общаться с компьютером:
− ручной ввод текста, при котором пользователь управляет системой посредством ввода соответствующих команд в текстовом
или графическом режиме;
− диалог, в ходе которого компьютер задает вопросы, а пользователь вербально отвечает ему (или наоборот);
− визуальное взаимодействие с помощью жестов, мимики или
направленности взгляда;
− эмоциональное взаимодействие.
Ручной ввод подразумевает под собой ввод определенных команд
или запросов с клавиатуры или мыши. Хотя это наиболее распространенный в настоящее время способ взаимодействия с машиной,
он не является самым удобным для всех групп людей. При взаимодействии таким способом человек должен знать основные команды
или запросы для того, чтобы получить нужную информацию от робота. Вполне естественно, что эти команды известны далеко не всем
пользователям, а скорее подходят для профессионалов, которые
обслуживают системы. Также подобный способ не подходит для
людей с ограниченными физическими возможностями, например,
таких как незрячие люди.
Речь является наиболее естественным способом общения для
человека, поэтому для эффективной коммуникации робот должен
уметь поддерживать разговор с человеком. Речевая форма диалога
обладает рядом преимуществ таких, как естественность, оперативность, смысловая точность ввода, освобождение рук и зрения поль5
зователя, возможность управления и обработки в экстремальных
условиях. В то же время, в отличие от общепринятых интерфейсов,
речь, с одной стороны, обладает бесспорными преимуществами, а
с другой стороны, накладывает ряд существенных ограничений на
условия эксплуатации. Пользователь, которому предлагают речевые технологии, чаще всего, оказывается не готов самостоятельно
адаптировать речевой интерфейс к решаемой задаче и необходимым
для нее программно-аппаратным средствам. Также существующие
модели автоматического понимания речи пока еще значительно
уступают речевым способностям человека, что свидетельствует об
их недостаточной адекватности и ограничивает применение речевых технологий в промышленности и быту.
Визуальный способ взаимодействия является очень удобным
для большинства людей. Визуализация может включать в себя такие способы как жестикуляция, мимика или отображение информации на экране в виде картинок, пиктограмм или видеороликов.
Конечно, наиболее приоритетными направлениями являются жестикуляция и мимика, так как это естественные для человека способы взаимодействия.
Жестикуляция является основным невербальным способом взаимодействия, а для некоторых групп населения с проблемами речи
и слуха – главным средством общения. С помощью жестов человек
может выражать свои потребности и желания. Например, жестом
подозвать или указать направление или объект.
Мимические выражения являются больше второстепенным способом, дополняющим какой-либо другой, например, речь или жестикуляцию, но зачастую без использования мимики информация
может быть искажена или вообще непонятна.
Эмоции являются крайне важным элементом человеко-машинного взаимодействия в социальной сфере. Выражение эмоций роботом может происходить как с помощью речи, так и с помощью
визуального отображения, например, аватара человеческой головы на экране, который способен воспроизводить мимику (улыбка,
удивление и т.п.). Выражение эмоций с помощью речи происходит
за счет изменения интонаций голоса или специфических проявлений (смех, плач, крик и др.).
При проектировании диалоговых моделей взаимодействия
пользователей с роботами в основу закладываются базовые принципы из области человеко-машинного взаимодействия, а также
учитываются возможности современных технических и программных средств, реализующих ввод, вывод и обработку информацион6
ных каналов, доступных пользователю [38]. С учетом предыдущей
классификации современные пользовательские интерфейсы можно разделить на два основных типа: стандартный графический и
многомодальный.
Стандартный
графический
интерфейс
(graphical
user
interface (GUI)) оставался наиболее распространенным до появления сложных робототехнических систем массового обслуживания.
Как только началась активная разработка социальных обслуживающих роботов, стало понятно, что для взаимодействия робота с
человеком необходимы простые интуитивно понятные и не требующие дополнительных знаний и подготовки интерфейсы [40]. Поэтому параллельно разработке социальных роботов стали разрабатываться многомодальные интерфейсы. На рис. 1.1 представлены
некоторые варианты пользовательских интерфейсов.
Стандартный интерфейс представляет собой графическое пользовательское меню и предполагает ввод информации от пользователей в ручном режиме (клавиатура, мышь, сенсорный монитор).
Наибольшее распространение подобный интерфейс получил в автоматах самообслуживания, например, терминалах оплаты услуг
или банкоматах. Такой вид взаимодействия не всегда удобен для
пользователя, а зачастую даже невозможен, например, для людей
Пользовательский
интерфейс
Стандартный GUI
Сенсорный
монитор
(визуальное меню)
Сенсорный монитор
+ динамики
(голосовое меню)
Многомодальный
пользовательский интерфейс
GUI + Дистанционное
распознавание
речи + говорящая голова
GUI + дистанционное
распознавание речи +
определение лица
GUI + дистанционное
распознавание речи
Говорящая
голова + дистанционное
распознавание речи
Рис. 1.1. Пользовательские интерфейсы
7
с ограниченными физическими возможностями, не способных взаимодействовать подобным образом (слепые, безрукие и т.д.). Для
увеличения возможностей графического интерфейса в автоматах
самообслуживания и в роботах стали использовать голосовые подсказки к меню. Например, робот Neel, разработанный индийской
группой HitechRoboticSystemz Ltd, является автономным справочным роботом, оказывающим информационные услуги посетителям
торговых центров [4, 5]. Система навигации робота базируется на
лазерных датчиках и планировании пути по заданной карте. Робот
оснащен сенсорным монитором с графическим меню, пункты меню
могут озвучиваться с помощью стандартного приложения Microsoft
Windows text-to-speech. Взаимодействие системы с пользователем
происходит с помощью синтеза речи и графического меню. Пользователь выбирает товар или услуги на сенсорном мониторе, робот
озвучивает выбор и ответ на запрос пользователя. Робот Neel подключен к информационной сети торгового центра и оповещается
обо всех изменениях, наличии товаров и предоставляемых услугах. Также при взаимодействии с людьми робот составляет базу
данных посетителей и их предпочтений на основе анализа запросов
пользователей. В настоящее время робот способен самостоятельно
перемещаться по заданному маршруту и определять препятствия.
Пользовательский интерфейс основан на JavaFX, что дает возможность быстрой смены дизайна графического интерфейса.
Гораздо большее внимание сейчас уделяется разработке систем
массового обслуживания с многомодальными пользовательскими
интерфейсами, в основу которых закладываются такие способы
взаимодействия, как речь, жесты, графический интерфейс, трехмерные модели человеческой головы с выраженной артикуляцией
речи, мимикой и другие естественные для межчеловеческой коммуникации способы передачи информации [19]. На рис. 1.1 представлены только четыре варианта комбинаций модальностей, чаще
всего используемых при разработке прикладных систем взаимодействия человека с роботом.
Системой с многомодальным пользовательским интерфейсом,
включающим хотя бы распознавание и синтез речи в дополнение к
графическому меню, смогут воспользоваться гораздо больше групп
населения. Например, слабовидящие люди смогут взаимодействовать с системой естественным способом с помощью речи. Одним из
примеров таких систем может служить робот FriDA, разработанный
корейской компанией DASA TECH Co. Ltd. FriDA и оснащенный
сенсорным монитором, динамиками и массивом микрофонов [7].
8
На мониторе располагается стандартное графическое меню, а динамики и микрофоны обеспечивают работу систем синтеза и распознавания речи. Робот предназначен для предоставления справочной
информации в аэропорту в режиме речевого диалога и может показывать и озвучивать интересующую пользователя информацию.
Системы с трехмерным аватаром человеческой головы способны взаимодействовать с глухими людьми. Движения губ таких
аватаров полностью совпадает с речевым сигналом, что дает возможность читать по губам. Например, робот-секретарь HALA, разработанный в университете Carnegie Mellon, оснащен сенсорным
монитором, на котором визуализируется анимированный аватар,
динамиками, микрофонами, а также инфракрасным датчиком для
определения присутствия пользователя [14]. HALA может вести
речевой диалог с пользователем на арабском и английском языках,
при этом аватар служит для выражения вербальных (движения губ
в процессе озвучивания фраз) и невербальных средств (покачивания головой, мимические движения).
В последние годы сложилась тенденция создания гуманоидных
роботов с формой корпуса, приближенной, с разной степенью, к человеческой форме тела. Такие роботы способны взаимодействовать
с человеком не только с помощью речи, но и с помощью жестов.
Обычно такие роботы не оснащаются мониторами, поэтому графический интерфейс у них отсутствует. Например, робот Robotinho,
разработанный в Боннском университете в Германии, имеет гуманоидную форму и может взаимодействовать с людьми с помощью
речи, жестов и мимики [16]. Робот оснащен смешанной системой
диалога и имеет возможность определять положение пользователя
и его лица, распознавать и синтезировать речь. Robotinho может
выражать свое эмоциональное состояние и взаимодействовать с несколькими людьми одновременно. Поскольку корпус робота имеет
гуманоидную форму, он может невербально взаимодействовать с
пользователями с помощью жестов во время диалога, а также привлекать внимание посетителей к себе или объектам окружающей
среды жестами или направлением взгляда. Робот обнаруживает
пользователей с помощью двух лазерных дальномеров, после чего
он находит лицо человека с помощью двух видеокамер. При взаимодействии с посетителями робот создает базу данных пользователей,
содержащую фотографию лица пользователя и его предпочтения,
основанные на истории запросов. После этого в ходе дальнейшей
эксплуатации робот способен идентифицировать существующих в
его базе пользователей.
9
В последнее время также ведется много разработок «эмоциональных» роботов. Подобные роботы чаще всего имеют утрированную гуманоидную форму или форму забавных животных. Зачастую они не имеют речевых интерфейсов, но способны выражать
свои эмоции в ответ на какое-либо действие пользователя. Способы
выражения эмоций различны и во многом зависят от формы робота. Человекоподобные роботы могут с помощью мимики показывать свое настроение (улыбка, гримаса, направление взгляда).
Примером таких роботов может служить разработка компании
NEC, которая разработала социального робота PaPeRo. Робот имеет относительно гуманоидную форму, на голове установлены камеры, стилизованные под глаза. Также на лице присутствует набор
светодиодов, которые обозначают рот робота. Робот дополнительно оснащен микрофонами, обеспечивающими работу системы распознавания речи, и набором датчиков, служащих для определения
препятствий во время движения робота [8].
Разработанный компанией Hitachi офисный робот-помощник
Emiew, имеющий гуманоидную форму, оснащенный массивом
микрофонов и сканирующим лазерным дальномером, способен выполнять роль гида в музеях или торговых центрах [21]. С помощью
14 микрофонов робот распознает голосовые команды даже в сильно зашумленных помещениях. Робот может развивать скорость до
6 км/ч, способен переносить предметы на руках, при этом его ноги
складываются для придания большей устойчивости при перемещении. При движении по помещениям робот автоматически составляет карту местности на основании показаний бесконтактных датчиков. Автономное время работы Emiew составляет 1,5 часа.
Задача построения эффективных интерфейсов человека с роботом включает в себя решение проблем междисциплинарного характера. Традиционная для инженерной психологии и эргономики научно-практическая задача – обеспечение соответствия характеристик информационных потоков, поступающих к человеку-оператору, и его возможностей по восприятию и преобразованию информации – в настоящее время выходит далеко за границы собственно
операторских профессий [33]. В исследованиях по общей психологии установлена связь когнитивно-стилевых характеристик с результативностью познавательной деятельности [29, 43].
Для усвоения непомерно больших потоков информации человек
осуществляет предварительную приоритетную фильтрацию, селекцию и классификацию этой информации на уровне поведения
и моторной деятельности еще до ее поступления в каналы анализа10
торных систем мозга. В силу своей ограниченности по временному,
пространственному и информационному разрешению человек совершает поведенческие акты и отдельные двигательные реакции,
направленные на снижение размерности информации. Этот процесс характерен при многопараметрическом управлении скоростными процессами, при многоальтернативном выборе, при работе с
поисковыми системами, с гипертекстами, мультимедийными системами, где значительное время для принятия решений отводится предварительному манипулированию информацией с целью ее
сортировки и отбора [27].
В работе [26] показано, что на стратегию чтения влияют психолингвистические характеристики текста: частота встречаемости,
предсказуемость слов в контексте предложения, лексическая или
фонологическая неоднозначность слов, стилистическое согласование и влияние дискурса.
При исследовании дифференциальных порогов восприятия длительности различных стимулов на осознанном уровне было выявлено, что наименее точно распознаются слуховые интервалы длительностью менее 100 мс и зрительные интервалы длительностью менее
150 мс [42]. При этом половых различий дифференциальных порогов восприятия длительности стимулов не обнаружено, а для старшей возрастной группы обнаружено увеличение порога различения
секундного интервала, задаваемого зрительными стимулами.
При восприятии подвижных стимулов любой модальности центральная нервная система должна учитывать запаздывание поступающей информации о пространственном положении стимула на
отрезок времени, необходимый для его локализации. Инерционность слуховой системы выражается в том, что при предъявлении
движущихся стимулов теряются скорость и точность локализации,
характерные при определении положения неподвижного источника звука, а с другой стороны, обнаруживается способность определять направление и скорость движения источника звука, а также
прогнозировать его последующее положение в пространстве [22].
В работе [34] экспериментально было проверено, что при восприятии движущихся слитных звуковых образов длительностью 100 и
200 мс возникает некоторая «пространственно-временная неопределенность» в секторе до 45° (расчетное угловое расстояние, соответствующее ΔT = 400 мкс). Была обнаружена тенденция к смещению воспринимаемого положения начальной точки траектории
в направлении движения. Также сделано предположение, что системы, отвечающие за восприятие движущихся стимулов, адапти11
рованы на некоторый определенный диапазон скоростей и расстояний, актуальный с биологической точки зрения для того, чтобы
обеспечить или избежать контакта с движущимся объектом. Кроме
того, для скоростей движения, превышающих верхнюю границу
диапазона, действие инерции восприятия сохраняется, а предсказательные механизмы – уже нет.
В работе [35] были исследованы пороговые характеристики восприятия наборов разномодальных стимулов в различных эндогенных контекстах (в ситуации спокойного бодрствования и при стрессе) для разных уровней вегетативной регуляции и активации, при
разных уровнях тревожности, под действием психотропных препаратов, при разных анатомических паттернах очаговых нарушений
мозгового кровообращения. Одним из принципов когнитивной обработки экстероцепторной информации является специфичность,
выражающаяся тем, что для каждого функционального состояния
существует специфический шаблон сопряжения показателей обработки звуковых и зрительных сигналов. Искажения, ошибки,
вносимые человеком в управляемый параметр стимула, характеризуют его сенсорную систему и проявляются в: (1) ошибках обнаружения сигнала, связанных с абсолютными порогами восприятия;
(2) ошибках в различении уровней сигнала, связанных с дифференциальными порогами; (3) ошибках в идентификации сигнала,
связанных с пространственно-временными порогами. Предполагается, что сигналы вегетативной и эмоциональной систем являются
активными компонентами структуры субъективного сенсорного
образа, причем для одного физического сигнала существует множество субъективных образов, каждый из которых связан со специфическим эндогенным контекстом.
Таким образом, при разработке многомодального интерфейса
социального робота необходимо учитывать назначение робота и
возможности потенциальных пользователей. Способы взаимодействия должны быть удобны для решения конкретной задачи и не
требовать специальной подготовки пользователей. Несмотря на то,
что взаимодействие пользователей с социальными роботами в большинстве случаев проходит в обстановке с высоким уровнем шума,
речевые интерфейсы, а также многомодальные, включающие обработку речи, активно изучаются и применяются в исследовательских робототехнических системах [3, 12, 13].
Цель создания эргономичного интерфейса состоит в том, чтобы
отобразить информацию настолько эффективно, насколько это возможно для человеческого восприятия, и структурировать ее таким
12
образом, чтобы привлечь внимание к наиболее важным единицам
информации. Основная же цель состоит в том, чтобы минимизировать общую информацию и представить только то, что является
необходимым для пользователя. Эффективный интерфейс должен
отвечать следующим критериям:
1. Естественность (интуитивность). Работа с системой не
должна вызывать у пользователя сложностей в поиске необходимых директив (элементов интерфейса) для управления.
2. Непротиворечивость. Если в процессе работы с системой
пользователем были использованы некоторые приемы работы с некоторой частью системы, то в другой части системы приемы работы
должны быть идентичны.
3. Лаконичность. Это означает, что пользователь должен вводить только минимальную информацию для работы или управления системой. Нельзя требовать от пользователя ввести информацию, которая была предварительно введена или которая может
быть автоматически получена из системы. Желательно использовать значения по умолчанию, где только возможно, чтобы минимизировать процесс ввода информации.
4. Непосредственный доступ к системе помощи. В процессе
работы необходимо, чтобы система обеспечивала пользователя необходимыми инструкциями. Сообщения об ошибках должны быть
полезны и понятны пользователю.
5. Гибкость. Насколько хорошо интерфейс системы может обслуживать пользователя с различными уровнями подготовки. И насколько система робастна к ошибкам в действиях пользователя.
В различных мобильных роботах на сегодняшний день обычно
используются комбинированные стили взаимодействия из приведенных нами. Это позволяет создавать системы, наиболее удобные
для большого числа людей. Также при использовании нескольких
способов взаимодействия система оказывается более робастна к
ошибкам или помехам. Таким образом, для создания эффективного и удобного интерфейса для человеко-машинного взаимодействия
необходимо совмещать сразу несколько способов передачи информации так, чтобы пользователь не задумывался над правильностью
действий, а чувствовал себя комфортно и естественно.
Для разработки мобильного робота необходимо адаптировать
технологии обработки аудио- и видеосигналов для их применения
на подвижной платформе в условиях, приближенных к реальной
эксплуатации. Следует отметить, что системы распознавания речи,
а также слежения за объектами по аудиовизуальной активности
13
должны быть робастны по отношению к фоновым помехам и нестационарным шумам, часто возникающим при проведении массовых
мероприятий. В будущем разработка и развитие многомодальных
интерфейсов приведет к большей популяризации роботов, способных заменять человека в той или иной сферах жизни.
1.2. Классификация мобильных
информационных систем
В настоящее время существующие мобильные роботизированные системы, предоставляющие информационные услуги, можно
разделить на три основных класса, учитывая их функциональное
назначение (табл. 1.1): (1) исследовательские модели; (2) сервис –
ориентированные роботы; (3) развлекательные, персональные,
игровые роботы.
Таблица 1.1
Классификация мобильных информационных систем
Основные направления
разработок
Основные функции,
выполняемые данным типом систем
Исследовательские
модели
Изучение способов получения и развития социальных навыков;
изучение способов коммуникации с помощью моделирования их роботами;
изучение эмоций, привязанностей, индивидуальных особенностей людей на основе взаимодействия
человека с роботом
Сервис-ориентироПерсональные роботы-помощники;
ванные роботы
сотрудничающие роботы;
общественные роботы кратковременного взаимодействия;
роботы для реабилитации(терапевтические)
Развлекательные,
Аниматорные детские куклы;
персональные, игро- подвижные роботы-компаньоны;
вые роботы
обучающие роботы
Исследовательские модели – это системы, с помощью которых
выясняются основные аспекты человеко-машинного взаимодействия, а также исследуются социальные и поведенческие факторы
и составляются основные модели поведения роботов, людей и их
коммуникации. Представителями этого класса являются проекты
14
CoRa и NASS. В работе [15] основное внимание уделяется исследованиям совместной деятельности роботов с другими роботами или
людьми. В этих исследованиях отмечается, что социальные факторы и закономерности взаимодействия людей между собой в равной
мере распространяются и на общение человека с компьютером. Поэтому на основе изучения особенностей общения людей между собой
можно создать модель для человеко-машинного взаимодействия.
В работе [11] описана система CoRa (Cooperative Robot Assistant),
которая была разработана с учетом поведения, чувств и анатомических особенностей человека. Система CoRa устанавливается на
столе и может взаимодействовать с человеком и окружающей средой с помощью речи, жестов и направления взгляда. Система CoRa
разработана и адаптирована для определения и слежения за визуальными объектами и распознавания необходимого объекта среди
других.
Сервис-ориентированные роботы способны оказывать помощь
людям в различных сферах их деятельности. В этот класс входят
системы, оказывающие терапевтические или лечебные услуги, например, Paro и Cero. Также существуют роботы-ассистенты, предназначенные для помощи людям при выполнении ими каких-либо
работ, связанных с риском или большой физической нагрузкой.
Примером такой системы является проект Robonaut. Также класс
включает в себя разработку информационных справочных роботов,
выполняющих функции гидов или проводников в музеях, на конференциях, выставках и других мероприятиях. К этому классу систем можно отнести проекты Sage, Mel и др.
Робот – тюлень Paro (рис. 1.2) был создан японским национальным Институтом науки и технологий для использования в домах
престарелых при лечении болезни Альцгеймера и в детских клиниках в терапевтических целях для детей-инвалидов и детей, страда-
Рис. 1.2. Робот-тюлень Paro
15
ющих аутизмом. Робот оснащен световыми, звуковыми и тактильными датчиками, что позволяет ему реагировать на прикосновения, изменение освещения или повышение уровня шума. В зависимости от времени суток робот ведет себя по-разному и обучается в
соответствии с индивидуальными предпочтениями своего хозяина,
например, отвечает на свое новое имя, присвоенное ему хозяином.
При общении с людьми робот имитирует поведение биологического прототипа, двигая головой, лапками и синтезируя достаточно
правдоподобные звуки, характерные для тюленей.
Проект Cero [10] (рис. 1.3) был направлен на создание небольшого робота-помощника, способного оказывать ассистивные услуги в
офисе людям с ограниченными физическими возможностями. Как
выяснилось в ходе исследований, для того чтобы обеспечить высокий уровень эффективности взаимодействия робота с людьми, в
процессе коммуникации необходимо использовать не только речь,
но и жесты. Для этого на роботе установили фигуру, напоминающую человеческую, способную активно жестикулировать. Дальнейшие исследования показали, что при использовании образа
робота с внешностью, приближенной к гуманоидной, повышается
качество и эффективность человеко-машинного взаимодействия,
так как пользователи охотнее идут на контакт с ним.
Гуманоидный робот Robonaut (рис. 1.4), разработанный NASA,
оказывает помощь астронавтам при выполнении работ в открытом
космосе [6]. Его человекоподобная форма дает возможность интуитивного удаленного управления. Система управления Robonaut
Рис. 1.3. Робот-ассистент Cero
16
Рис. 1.4. Гуманоидный робот Robonaut
оснащена тактильной обратной связью
по силе, что позволяет оператору осязать
объекты с помощью робота.
В проекте Sage [17] разрабатывался
мобильный подвижный робот (рис. 1.5),
оснащенный ЖК-экраном и стереодинамиками, взаимодействующий с пользователями посредством речи и эмоций.
Робот является полностью автономным и
в настоящее время установлен в одном из
залов музея естественной истории имени
Карнеги, где предоставляет пользователям необходимую информацию и выстуРис. 1.5. Мобильный
пает в роли гида.
информационный
робот
В проекте Mel [18] был создан роботSage
пингвин (рис. 1.6,а), способный распознавать предметы и людей, понимать и воспроизводить речь, а
также активно пользоваться жестикуляцией. По запросу пользователя он может указать ему на местонахождение искомого объекта.
За счет объединения различных способов коммуникации: жестов,
направления взгляда, речи – обеспечивается эффективный двухсторонний диалог между человеком и роботом.
Minerva [20] – мобильный информационный робот, разработанный в университете Carnegie Mellon и предназначенный для
оказания услуг людям в общественный местах (рис. 1.6,б). Робот
оснащен камерами, микрофонами и стереодинамиками, что позволяет ему следить за перемещением пользователей и общаться с посетителями с помощью речи. Minerva установлен в Национальном
а)
б)
Рис. 1.6. Информационные роботы: (а) Mel; (б) Minerva
17
Музее Американской Истории и используется в качестве гида, проводя экскурсии для всех желающих.
FRIDA [7] – мобильный робот, разработанный DASA TECH Co.,
Ltd, который предоставляет услуги людям в общественных местах
(рис. 1.7). Робот оснащен ЖК-экраном, микрофонами, камерами и
стереодинамиками. С помощью камер робот определяет положение
пользователей и объектов, а микрофоны и стереодинамики обеспечивают возможность речевого взаимодействия. На ЖК-экране выводится необходимая информация, запрошенная пользователем, и
карта местности с указанием местоположения самого пользователя.
Робот-киоск Insect Telepresence установлен в музее естествознания им Карнеги (рис. 1.8) [1]. Он позволяет посетителям узнавать
интересующие их факты из жизни насекомых. Пользователь может
управлять перемещением микрокамеры, установленной в террариуме с мадагаскарскими тараканами. Изображение с камеры передается на экран в увеличенном масштабе. Это позволяет наблюдать
за их жизнью, повадками и взаимодействием между собой.
К классу развлекательных, персональных, игровых роботов относятся системы, предоставляющие развлекательные услуги. Внутри класса можно выделить: аниматронные детские куклы, как My
Real Baby, подвижные роботы-компаньоны – AIBO, NeCoRo, и обучающие роботы, например, Insect Telepresence.
My Real Baby (рис. 1.9) – роботизированная кукла-младенец,
основанная на прототипе, разработанном в MIT AI Laboratory. My
Real Baby издает соответствующие звуки и воспроизводит мимику
детского лица. Игрушка весит 1,5 килограмма, рост – 45 сантиметров.
Рис. 1.7. Информационный робот
FRIDA
18
Рис. 1.8. Робот-киоск Insect
Telepresence
Рис. 1.9. Кукла-робот My
Real Baby
Рис. 1.10. Робот-собака
AIBO
Ее лицо воспроизводит 15 человеческих эмоций при помощи нескольких сотен запрограммированных гримас. Гримасы меняются
в зависимости от того, что вы с ней делаете и как вы с ней обращаетесь. Кукла также довольно реалистично симулирует хныканье,
смех и другие звуки, которые издают дети. Более того, её можно
научить разговаривать.
AIBO (Artificial Intelligence RoBOt) – собака-робот, разработанная компанией Sony (рис. 1.10). Она имеет множество модификаций, первая модель была выпущена в 1999 г. AIBO умеет ходить,
«видеть» окружающие его предметы с помощью видеокамеры и инфракрасных датчиков расстояния, распознавать команды и лица.
Робот имеет 20 степеней свободы. Он оснащён различными датчиками (температуры, расстояния, ускорения, сенсорными датчиками и датчиком вибрации), видеокамерой, микрофонами и громкоговорителем. В качестве запоминающего устройства используется
Memory Stick. Робот является полностью автономным: он может
учиться и развиваться, основываясь на побуждениях своего хозяина, обстановке, или другого AIBO. Также он поддаётся настройкам
с помощью специальных программ.
«Настроение» AIBO может меняться в зависимости от окружающей обстановки и влиять на поведение. Запрограммированные
инстинкты позволяют AIBO двигаться, играть с игрушками, удовлетворять своё любопытство, играть и общаться с хозяином, самостоятельно подзаряжаться и просыпаться после сна.
В то же время крупнейший в Японии производитель систем промышленной автоматизации компания Omron решила не отставать
от электронного гиганта Sony и представила собственного домашнего питомца робота – кошку по имени NeCoRo (рис. 1.11). NeCoRo
не может передвигаться самостоятельно, разработчики сделали
упор на “личном контакте” хозяина и животного: NeCoRo мурлы19
Рис. 1.11. Робот-кошка NeCoRo
чет, когда ее гладят, давая понять, что ей это приятно, выражает
эмоции при помощи по-настоящему кошачьих звуков и движений.
Для достижения высокой степени достоверности поведения робота разработчики разместили тактильные датчики за и под «ушами» NeCoRo и на спине – т. е. в местах особенно чувствительных
для кошек. Кроме этого робот оснащен звуковыми и визуальными
сенсорами, что позволяет ему реагировать на громкие звуки, резкие
движения и распознавать свое имя. «Словарь» NeCoRo насчитывает
48 кошачьих звуков, а кроме мяуканья кошка-робот может жмурить глаза, поднимать уши, растягивать и сжимать лапы, выражая,
таким образом, чувства удивления, довольства, усталости и т.п.
1.3. Альтернативная классификация
социальных роботов
Другим критерием классификации социальных роботов является их внешний вид. В табл. 1.2 приведены три основных типа роботов, форма корпуса которых проектировалась с учетом параметров
тела человека, животных или наоборот: внешний вид робота не
имеет аналогий с биологическими прототипами. Далее рассмотрим
каждый из трех типов роботов.
Среди гуманоидных роботов к группе андроидов относятся модели, имеющие форму туловища почти полностью как у человека.
Например, ASIMO, Robonaut и др. Asimo (сокращение от Advanced
Step in Innovative MObility) – робот-андроид (рис. 1.12). Создан корпорацией Хонда в Центре Фундаментальных Технических Исследований Вако (Япония). Рост 130 см, масса 54 кг. Робот оснащен камерой и массивом из 8 микрофонов, с помощью которых он определяет
20
расстояние до объектов, направление их движения, а также воспринимает речь одновременно до трех человек. Кроме того, Asimo умеет верно истолковывать движения рук, распознавая жесты. Вследствие этого можно отдавать роботу команды не только голосом, но
и руками. Asimo имеет доступ к Интернету и локальным сетями и
при необходимости может найти необходимую информацию. После
подключения к локальной сети дома робот сможет разговаривать
с посетителями через домофон, а потом докладывать хозяину, кто
пришёл. После того как хозяин согласится принять гостей, Asimo
сумеет открыть дверь и довести посетителя до нужного места.
Таблица 1.2
Классификация робототехнических систем на основе внешнего вида
Типы роботов
Гуманоидные роботы
Зооморфические роботы
Концептуальные роботы
Основные отличительные особенности
Андроиды.
С антропоморфными частями тела
Подобия реальных животных.
Подобия вымышленных животных
Роботы с оригинальным дизайном
Роботы с антропоморфными частями тела – это роботы, у которых одна или несколько частей напоминают человеческие. Примером таких роботов является проект ENON, Cero и др. Проект ENON
(Exciting Nova On Network) был выполнен Японской компанией
Fujitsu в 2005 г. (рис. 1.13). Робот ENON был оснащен контактным
Рис. 1.12. Гуманоидный робот
ASIMO
Рис. 1.13. Антропоморфный робот
ENON
21
TFT-дисплеем с диагональю 10,5 дюймов,
а также 4 микрофонами и 2 динамиками,
6 видеокамерами, 3 ультразвуковыми датчиками и 3 датчиками ближней локации.
ENON может транспортировать грузы не
более 10 кг внутри своего туловища. Робот, развернув голову и руки, способен сам
загрузить и выгрузить объекты, правда,
одной рукой за раз он может поднять не более 0,5 кг.
Рис. 1.14. ЗооморфичеВ класс зооморфических роботов вхоский робот Leonardo
дят системы подобные реальным животным, а также роботы-подобия вымышленных животных. Примерами роботов-подобий реальных животных являются проекты AIBO
и NeCoRo, представленные ранее. Роботы-подобия вымышленных
животных представлены проектом Leonardo, разработанным MIT
Media Lab. Робот Leonardo (рис. 1.14) оснащен камерами, микрофонами, динамиками, а также большим количеством тактильных
датчиков, которые позволяют ему адекватно реагировать на происходящее в окружающей среде. Робот способен обучаться действиям, показанным ему хозяином, общаться и выражать эмоции с помощью мимики, жестов и речи.
В класс концептуальных роботов входят системы с оригинальным дизайном, который может представлять собой практически
все что угодно. Это могут быть роботы с карикатурным изображением человеческого или иного тела, роботы, выполненные в виде
кубических блоков, в виде героев мультфильмов или литературных
произведений, также это могут быть различные платформы на колесах или конечностях. Примерами таких роботов могут служить
проекты Public Anemone, eMuu и множество других.
Проект Public Anemone, разработанный MIT Media Lab, представляет собой робота-анемона (рис. 1.15,а). Робот состоит из 8 отделов
тела и 5 щупалец. Он оснащен большим количеством тактильных
датчиков, что позволяет ему реагировать на прикосновения. Поведение анемона меняется каждый день, и в зависимости от настроения
он ведет себя по-разному: может тянуться к людям, чтобы его погладили, может поливать водой рядом стоящие цветы, а может стараться увернуться от прикосновений, выражая, таким образом, плохое
настроение. В ходе проекта eMuu [2] был разработан небольшой робот, способный воспроизводить и понимать речь, имитировать эмоции и общаться с хозяином через сеть Интернет (рис. 1.15,б).
22
а)
б)
Рис. 1.15. Примеры концептуальных роботов: а – робот-анемон Public
Anemone; б – робот eMuu
На основании анализа текущих исследовательских проектов и
реализованных подвижных информационных систем можно выделить такие способы взаимодействия человека и робота как речевая
активность и визуализация информации. Изменяя уровень автономности человеко-машинных систем, можно использовать их возможности по максимуму. Это позволяет системе объединить способности человека по решению задач вместе со скоростью и физическими возможностями робота. Робот должен иметь возможность
обучаться выполнению задач под контролем человека, и дальнейшему автономному выполнению их с участием человека только по
запросу робота. Такая регулируемая автономия дает возможность
роботизированным системам лучше справляться с непредвиденными ситуациями, так как позволяет запрашивать помощь у человека
в случае необходимости.
Для большей эффективности коммуникации с человеком, поведение робота должно быть максимально приближено к человеческому. Использование юмора и эмоций при общении может повысить эффективность процесса взаимодействия с роботом. Разработка эмоциональных роботов ведется тремя различными способами:
первый – это создание базы данных основных понятий, например,
радость, смех. Второй способ заключается в использовании шкал и
координатных систем, в которых градуированы человеческие эмоции. Третий способ заключается в совмещении первого и второго
способов и является приоритетным, так как уменьшается количество ошибок в работе системы.
23
Роботы должны применять методы взаимодействия, которые
используются при общении людей друг с другом, такие как изменение направления взгляда, указание на какой-либо объект, мимика,
жесты и другие невербальные средства. При взаимодействии между людьми такие методы зачастую помогают разрешить непонимание между ними. Также роботы должны уметь интерпретировать
поведение их собеседника.
24
2. МЕТОДЫ НАВИГАЦИИ И ИНТЕЛЕКТУАЛЬНОГО
УПРАВЛЕНИЯ ДВИЖЕНИЕМ РОБОТА
2.1. Методы навигации мобильного робота
Навигация – раздел науки о способах управления некоторым
объектом (имеющим собственные методы передвижения) в определённом пространстве передвижения для перемещения его из одной
точки пространства в другую [36]. Эта задача решается различными
методами и приборами, которые позволяют определить местоположение и ориентацию движущегося объекта относительно принятой
системы координат, величину и направление скорости движения,
направление и расстояние до места назначения и другие параметры [30, 41, 44]. К задачам навигации также относится определение оптимального маршрута движения, под которым понимается
требование обеспечения максимальной безопасности и экономичности вывода объекта в заданную точку пространства в определенный момент времени с установленной точностью [46]. В настоящее
время все большее распространение получают мобильные роботизированные платформы, выполняющие различные функции внутри закрытых помещений (примером являются автоматические
пылесосы, мобильные следящие камеры, самодвижущиеся контейнеры). Одной из основных проблем большинства таких мобильных аппаратов, перемещающихся самостоятельно без управления
со стороны человека, является навигация. Очевидно, что в данных
роботах не могут быть использованы системы глобального позиционирования, такие как ГЛОНАСС и GPS, так как использование
подобных систем невозможно при позиционировании объектов на
небольших пространствах или в закрытых помещениях из-за их
недостаточной точности [39, 46]. Это означает, что робот должен
определять собственные координаты и выбирать направление движения только на основании показателей бортовых датчиков. Для
успешной навигации в пространстве бортовая система робота должна уметь строить маршрут, управлять параметрами движения (задавать угол поворота колес и скорость их вращения), правильно
интерпретировать сведения об окружающем мире, получаемые от
датчиков, и постоянно отслеживать собственные координаты [23].
Существует несколько подходов к классификации навигационных систем. Схема классификации методов навигации в зависимости от природы измеряемого сигнала и по способу их обработки
представлена на рис. 2.1.
25
Методы навигации
ный
Обзорносравнительные
методы
Позиционные
методы
ски
е
Методы
счисления пути
Рад
ьны
Доп
й
лер
о
вск
Рад
ий
иол
ока
цио
нны
й
Аст
рон
оми
чес
Рад
кий
иот
ехн
иче
ски
Спу
й
тни
ков
ый
Изо
дин
амн
ый
Инф
рак
рас
Рад
ный
иол
ока
цио
нны
й
иал
Ине
рц
Воз
душ
По способу определения координат
местонахождения
иот
ехн
иче
чес
кие
еск
ие
Аст
рон
оми
оме
три
ч
Аэр
Гео
м
агн
итн
ые
По природе измеряемых
физических величин
Рис. 2.1. Классификация методов навигации
В зависимости от природы измеряемых величин методы навигации подразделяются на: аэрометрические, основанные на измерении физических параметров земной атмосферы; геомагнитные,
использующие навигационные свойства магнитного поля и другие.
В зависимости от способа определения координат выделяют три
основные группы методов [28]: (1) методы счисления пути, основанные на измерении составляющих вектора ускорения или скорости движения объекта и интегрировании по времени этих составляющих для получения координат местонахождения; (2) позиционные методы навигации, основанные на измерении физических
величин, дающих линию или поверхность положения; (3) обзорносравнительные методы, основанные на обзоре окружающей местности и сравнении ее изображения с картой или системой ориентиров, заложенных в памяти.
При проектировании системы навигации выбор метода или комбинации методов определяется рядом факторов: (1) среда, в которой движется контролируемый объект (вода, воздух, космическая
среда); (2) диапазон изменения навигационных параметров (дальности, скорости, ускорения и др.); (3) допустимая погрешность и
26
надежность измерения навигационных параметров; (4) уровень автономности, помехозащищенности и другие факторы.
В зависимости от области использования навигационные
устройства разделяют на устройства подводной, морской, сухопутной, воздушной и космической навигации. Навигационная система может вычислять целый комплекс параметров, необходимых
для ориентации и планирования движения [44]: (1) координаты
местонахождения; (2) скорость и ускорении движения объекта;
(3) угловые координаты (углы, угловые скорости и ускорения) объекта; (4) координаты наземных ориентиров относительно объекта;
(5) относительные координаты воздушных и астрономических целей (самолетов, небесных тел).
В области робототехники в настоящее время выделяют три типа
навигационных схем [30]:
1) глобальная – определение абсолютных координат устройства
при движении по длинным маршрутам;
2) локальная – определение координат устройства по отношению
к некоторой (обычно стартовой) точке; эта схема востребована разработчиками тактических беспилотных самолетов и наземных роботов, выполняющих миссии в пределах заранее известной области;
3) персональная – позиционирование роботом частей своего тела
и взаимодействие с близлежащими предметами, что актуально для
устройств, снабженных манипуляторами [24].
Развитие электронной и микропроцессорной техники позволило
создавать недорогие и компактные навигационные системы, которые активно используются не только в области морского транспорта, авиации и геодезии, но и в повседневной жизни при путешествии
пешком или на автомобиле. В общем случае автомобильная навигационная система (АНС) состоит из подсистемы определения местоположения и подсистемы позиционирования на карте. С инженерной
точки зрения конструирование навигационной системы сводится
к созданию системы автоматического определения относительных
или абсолютных (географических) координат автомобиля и последующему отображению местоположения автомобиля на цифровой
карте местности. По конструктивным особенностям АНС делятся на
три основных типа: портативные (универсальные) автонавигаторы,
интегрируемые и стационарные (штатные) системы [25].
Портативные автомобильные навигаторы (PND – personal
navigation device) – компактные устройства с цветным сенсорным
экраном, операционной системой Windows Mobile или СЕ, в большинстве случаев сконфигурированной для работы в однозадачном
27
режиме (навигации). Интегрируемые навигационные системы – навигационные блоки, подключаемые к мониторам штатных автомобильных мультимедийных центров. Стационарные навигационные
системы устанавливаются в машинах на заводах-изготовителях и
тесно интегрированы с мультимедийным центром автомобиля.
Системы навигации классифицируются еще по одному признаку – они могут быть пассивными и активными, и гибридными. Пассивная система навигации подразумевает прием информации о собственных координатах и других характеристиках своего движения
от внешних источников, а активная рассчитана на определение местоположения только своими силами. Как правило, все глобальные
схемы навигации – пассивные, локальные бывают и теми и другими, а персональные схемы – всегда активные.
Построение алгоритмов передвижения робота – это транспортная задача [45], которая не имеет принципиальной специфики применительно к робототехнике. Основная сложность систем управления движением роботов заключается в большой рабочей зоне, а
главное в ее неопределенности.
Рассмотрим эти особенности применительно к мобильным роботам, передвигающимся по произвольной местности. В этом случае
модель внешней среды представляет собой карту местности, которая помимо априорных сведений составляется и уточняется в ходе
движения на основе сенсорной информации (радиотехнические, лазерные, ультразвуковые датчики, системы технического зрения).
Эта модель должна иметь как минимум два уровня по масштабу:
первый – в пределах достижимости сенсорных систем, второй – для
местности непосредственно перед роботом.
Модель первого уровня местности служит для прокладки маршрута движения в соответствии с заданной целью. Это задача навигации. Варианты целей: поиск конкретных объектов (по заданным
характеристикам); достижение определенной точки на местности,
заданной координатами; движение по заданному маршруту, например, для выполнения определенной технологической операции.
Вторая более подробная модель ближайшего участка местности
необходима для уточнения маршрута непосредственно перед роботом, включая препятствия, не отмеченные на карте местности
первого уровня. В целом – это задача обеспечения безопасности
движения.
Однако для гарантированного решения последней задачи этого
может оказаться недостаточно и потребуется специальная система
обеспечения безопасности, которая контролирует углы наклона
28
шасси робота, не допуская превышения их критических значений,
определяемых условиями опрокидывания; опасные вертикальные
провалы и трещины непосредственно перед роботом; оценивает
свойства грунта в отношении его проходимости и, наконец, обеспечивает аварийную остановку робота по сигналу дистанционного
или контактного датчика препятствий, возникающих непосредственно перед роботом.
Типовая функциональная схема системы управления движением мобильного робота приведена на рис. 2.2 [45]. Блок управления
движением осуществляет управление приводами. Блок построения
маршрута синтезирует траекторию движения, оптимизируя ее по
минимуму расхода энергии, что особенно важно для роботов с автономным энергопитанием, или по минимуму времени выполнения
задания, когда в постановку задачи входит условие обеспечения
максимального быстродействия.
Блок построения карты местности представляет ее в форме,
удобной для решения задачи выбора маршрута, в частности, с выделением непреодолимых препятствий и опасных или неясных
участков.
Внешняя среда
Оператор
Сенсорные
системы
дальнего
действия с
предобработкой
сенсорной
информации
Построение
карты
местности
Построение
маршрута
Сенсорные
системы
ближнего
действия и
датчики системы
безопасности
Построение
плана
ближайшей
зоны
Построение
плана
объезда
препятствий
МС
Сенсорные
системы
Построение
модели
местности
Планирование
движения
Реализация
движения
Каналы связи
БУД
П
Рис. 2.2. Система управления движением по местности мобильного
робота: БУД – блок управления движением;
МС – механическая система; П – приводы
29
Если выполнение задачи требует знания большого участка
местности, чем дают сенсорные системы в начальном положении
робота, т.е. до начала движении, карта местности формируется и
передается в блок построения маршрута фрагментами по мере передвижения робота. Такими же участками последовательно осуществляется и синтез траектории движения. В этом случае первое приближение для всей траектории делается по имеющейся априорной
информации о местности или, как минимум, определяется только
общее направление движения.
На нижнем общесистемном уровне системы управления находится канал управления движением в ближней зоне, включающий
в себя наиболее детальную модель этой зоны и реализующий алгоритмы обеспечения безопасности движения.
Требуемый уровень адаптации и искусственного интеллекта системы определяется степенью неопределенности и сложности местности и характером подлежащих выполнению заданий, т.е. назначением робота. В последнем отношении основное значение имеет
минимально необходимая степень автономности управления роботом, определяемая перечнем его действий, которые должны выполняться без участия человека-оператора. При этом учитывается и
возможность временной потери связи с оператором, ограниченная
пропускная способность каналов связи, неполнота и ограниченная достоверность получаемой оператором от робота информации
и ее задержка во времени. Например, если из-за высокого уровня
помех в канале передачи оператор не получает изображения панорамы местности перед роботом или только эпизодически получает
эту информацию, он имеет возможность вмешиваться в автономное
движение робота только для контроля и корректировки маршрута
движения путем целеуказания отдельных промежуточных точек
трассы в моменты ее достоверного наблюдения [45].
2.2. Определение препятствий.
Датчики расстояния
Принципом действия любого датчика является преобразование
энергии. Вне зависимости от типа измеряемой величины всегда
происходит передача энергии от исследуемого объекта к датчику.
Работа датчика – это особый случай передачи информации, а любая
передача информации связана с передачей энергии. Очевидным
является тот факт, что передача энергии может проходить в двух
30
направлениях, т.е. она может быть как положительной, так и отрицательной, например, энергия может передаваться от объекта к
датчику и, наоборот, от датчика к объекту.
В рамках данного учебного пособия будем рассматривать датчики расстояния, которые, прежде всего, характеризуются следующими техническими параметрами [9]: (1) диапазон измеряемых
расстояний; (2) точность измерения; (3) разрешение измерения;
(4) линейность измерения; (5) время измерения; (6) тип выходной величины. Далее рассмотрим каждый из параметров более детально.
Точность измерения показывает минимальную долю измеряемой величины (расстояния), с точностью до которой можно получать результат измерения. Также можно дать такое пояснение
этого параметра: если считать результат измерения дискретной величиной, то точность измерения попросту показывает расстояние
между двумя соседними значениями этой величины.
Разрешение в самом общем смысле – это минимальное расстояние между двумя объектами наблюдения, при котором эти объекты
еще различимы (не сливаются в один). Применительно к датчикам
получается, что разрешение – это минимальное расстояние между
двумя различными положениями объекта, при котором эти положения будут различимы; т.е. при перемещении объекта на меньшее расстояние изменение положения не будет фиксироваться датчиком (не будет меняться его показание), т.е. это степень квантования величины.
Линейность измерения показывает в процентах, насколько отклоняется зависимость (функция) выходной величины (показания) от входной величины (расстояния) от линейной зависимости,
т.е. зависимости вида f = kx + b, где f – выход; x – вход; k и b – коэффициенты.
Время измерения – это время между началом измерения и моментом получения показания (выходной величины) на выходе датчика.
Тип выходной величины определяет, какой сигнал данный датчик выдает на выход. Он может быть аналоговым или цифровым.
В случае аналогового сигнала выходная величина (напряжение
или реже ток) пропорциональна расстоянию до объекта. В случае
цифрового сигнала значение цифрового кода на выходе пропорционально расстоянию до объекта. В случае цифрового выхода внутри
датчика присутствует микроконтроллер, выполняющий преобразование аналоговой величины в цифровой код, а также уменьшающий нелинейность измерения с помощью специальных математических методов.
31
Для проведения бесконтактных измерений необходим активный датчик, который может одновременно и передавать эталонный
сигнал, и принимать отраженный от объекта сигнал. Передаваться
энергия может в виде любого излучения – например, через электромагнитные волны оптического или микроволнового диапазонов,
через акустические волны и т.д. Для определения расстояния на
практике чаще всего применяются ультразвуковые и инфракрасные датчики. Далее последовательно рассмотрим оба типа датчиков более подробно.
Принцип передачи и приема ультразвуковой энергии лежит в
основе очень популярных ультразвуковых датчиков и детекторов
скорости [41]. Ультразвуковые волны являются механическими
акустическими волнами, частота которых лежит за пределами
слышимости человеческого уха – более 20 кГц.
При столкновении любых волн с объектом часть их энергии отражается. В случае ультразвуковых волн отраженная энергия рассеивается в пространстве. Это означает, что вне зависимости от направления падающего луча, все отраженные лучи распределяются
внутри широкого пространственного угла, который может достигать значения 180°. При движении объекта частота отраженных
волн не совпадает с частотой излучаемых волн.
Расстояние L0 до объекта можно определить по скорости ультраνt cos Θ
, где t – время,
звуковых волн ν в данной среде и углу Θ: L0 =
2
за которое ультразвуковая волна распространяется от излучателя
до объекта и назад к приемнику [41]. Если излучатель и приемник
расположены недалеко друг от друга по сравнению с расстоянием
до объекта, то cos Θ » 1.
Очевидное преимущество ультразвуковых волн над волнами
микроволнового диапазона заключается в том, что они распространяются со скоростями, которые намного меньше скорости света,
характерной для СВЧ-волн. Поэтому интервал t для них гораздо
длиннее, что упрощает его измерение и, следовательно, снижает
стоимость устройств.
Для генерации любых механических волн, включая ультразвуковые, требуется организовать обратно-поступательное движение
поверхности, при котором создаются зоны разряжения и сжатия
рабочей среды: газовой (воздушной), жидкостной или твердой. Для
возбуждения ультразвуковых волн чаще всего применяются пьезоэлектрические преобразователи, работающие в так называемом
моторном режиме. Это название указывает на то, что в данном ре32
жиме пьезоэлектрические устройства напрямую преобразуют электрическую энергию в механическую. Поскольку пьезоэлектричество является обратимым эффектом, воздействие ультразвуковых
волн на тот же керамический элемент приводит к появлению на его
поверхности электрических зарядов. Другими словами, элемент
может работать и как излучатель, и как приемник (микрофон).
Типичная рабочая частота излучающего пьезоэлемента составляет около 32 кГц. Для повышения эффективности частота задающего генератора должна быть равна резонансной частоте fr керамического элемента. При соблюдении этого условия удается реализовать лучшую чувствительность и эффективность элемента. При
работе схемы в импульсном режиме для передачи и приема сигнала
можно использовать один и тот же пьезопреобразователь. При непрерывном режиме работы необходимы два пьезоэлемента.
Цифровой инфракрасный (ИК) датчик предназначен для измерения расстояния до объекта, не требующего большой точности.
Данный датчик можно использовать для измерения расстояния до
тех объектов, которые не поглощают ИК-излучение и не являются прозрачными для него. После механических контактных и потенциометрических датчиков оптические детекторы, возможно,
являются наиболее популярными устройствами для определения
положения и перемещений объектов. Среди их основных достоинств можно назвать простоту, отсутствие нагрузочного эффекта и
относительно большие рабочие расстояния. Они нечувствительны
к паразитным магнитным полям и электростатическим помехам,
что делает их незаменимыми для некоторых приложений. В состав
оптического датчика, как правило, входят три компонента: источник света, фотодетектор и устройства, управляющие светом (линзы, зеркала, оптические волокна и т.д.).
Для точного измерения положений объектов и их перемещений
на длинных и коротких расстояниях подходят оптические системы, работающие в ближнем ИК спектральном диапазоне. Примерами таких систем являются позиционно-чувствительные детекторы (ПЧД), часто используемые в устройствах автофокусировки
фото- и видеокамер. Модуль определения положения объекта является активным устройством: в его состав входит светоизлучающий
диод (СИД) и ПЧД с фотодетектором.
Принцип действия этого устройства основан на геометрических
свойствах треугольников (рис. 2.3). Для определения расстояния
либо просто наличия объекта в поле зрения сенсора используется
метод триангуляции и малая линейная CCD матрица.
33
Объект
Объект
Точка
отражения
угол
угол
Рис. 2.3. Принцип работы ИК-датчика
Импульсы ИК излучения испускаются излучателем. Это излучение распространяется и отражается от объектов находящихся в
поле зрения сенсора. Отраженное излучение возвращается на приемник. Испускаемый и отраженный лучи образуют треугольник
«излучатель – объект отражения – приемник». Угол отражения
напрямую зависит от расстояния до объекта. Полученные отраженные импульсы собираются высококачественной линзой и передаются на линейную CCD матрицу. По засветке определенного
участка CCD матрицы определяется угол отражения и высчитывается расстояние до объекта. Этот метод более защищен от эффектов интерференции излучения и разной отражающей способности
поверхностей, выполненных из различных материалов и окрашенных в различные цвета.
2.3. Основные схемы управления
движением робота
Рассмотрим основные принципы адаптивного управления движением робота. Общая функциональная схема системы управления движением мобильных роботов с использованием сенсорной
информации о внешней среде показана на рис. 2.4. Основные сенсорные системы – это системы технического зрения и близкие им
локационные системы (радиотехнические, лазерные, ультразвуковые), системы сило-моментные, тактильные. Все эти системы обеспечивают общую обратную связь по различным параметрам внешней среды, информация о которых необходима при выполнении
роботом конкретных операций.
34
Сенсорные
системы
Обработка
сенсорной
информации
Модель внешней
и внутренней
среды
Принятие
решений и
планирование
поведения
Адаптивное
управление
Программное
управление
Исполнительная
механическая
система
Внешняя среда
Человекоператор
Рис. 2.4. Система управления мобильным роботом
На представленной функциональной схеме (рис. 2.4) можно выделить компоненты, связанные с: (1) управлением отдельными исполнительными устройствами (приводами); (2) программным управлением приводами; (3) адаптивным управлением приводами; (4) синтезом плана выполнения действий, заданных человеком-оператором, а
также возможных действий, инициируемых на этом уровне самим
роботом для обеспечения его функционирования; (5) обработкой сенсорной информации и синтезом с ее помощью модели внешней среды,
модели самого робота, программ выполнения им типовых операций.
Функции человека-оператора заключаются в выдаче заданий
на выполнение определенных операций, оказание в диалоговом режиме помощи, а также оперативное взятие на себя всех функций
любого уровня вплоть до управления приводами. Это может потребоваться, когда робот автономно не может выполнить какую-то
сложную операцию либо в аварийных ситуациях [45].
Для выполнения сложных операций необходимо оперативно
получать информацию о среде непосредственно в ходе их выполнения для использования ее в реальном времени при управлении
движением. Такое управление в функции от текущей информации
о внешней среде называется адаптивным (рис. 2.5). Необходимым
условием его реализации является наличие сенсорных систем, дающих эту информацию. Адаптация расширяет функциональные
возможности робота при выполнении задач, не решаемых программно, и упрощает его эксплуатацию, не требуя точного знания
модели внешней среды и самого робота.
35
Сенсорные
системы
Приводы
Программное
управление
Обработка
сенсорной
информации
Запрос параметров
исполнительных
устройств
Оценка качества
управления
Адаптивное
управление
Рис. 2.5. Система адаптивного управления приводами
Для реализации адаптивного управления применяют следующие подходы [45]:
− Определение значений заранее неизвестных параметров для
ввода их в управляющую программу системы. Здесь адаптивное
управление выполняет настройку системы программного управления. Это параметрическая адаптация.
− Выбор управляющей программы из готового набора программ
или сборка ее из набора типовых подпрограмм, в том числе в ходе
выполнения операций, на основе оценки текущей ситуации по сенсорной информации. Здесь адаптивное управление тоже дополняет
систему программного управления.
− Изменение (переключение) структуры системы управления,
т.е. ее алгоритма, на основе оценки текущей обстановки. Например, изменение способа коррекции в системе программного управления или переход от одной сенсорной системы к другой в системе
адаптивного управления. Это структурная адаптация (самоорганизация системы).
− Беспрограммное управление движением в реальном времени
только по сенсорной информации. Например, выполнение операции движения к произвольно расположенному объекту.
Таким образом, адаптивное управление может осуществляться
как через систему программного управления, так и путем непосредственного воздействия на исполнительные механизмы (например, приводы).
При выполнении конкретных технологических операций адаптивное управление чаще всего применяется в комбинации с программным, обеспечивая изменение структуры системы программного управления и подстройку ее параметров или сборку управля36
ющей программы или, наконец, смену ее, когда необходимо полностью переходить на управление по текущей сенсорной информации.
В соответствии с этой схемой адаптивное управление может осуществляться по 3 вариантам: (1) в функции от оцениваемого качества управления с целью его стабилизации, т.е. устранения отклонения показателя качества от заданного значения, или путем поиска и поддержания оптимального значения выбранного качества
управления; (2) с той же целью по отклонению от эталонной модели; (3) в функции от измеряемых сенсорными системами параметров объектов внешней среды или координат робота относительно
объектов, с которыми он взаимодействует, или от усилия взаимодействия с ними.
Далее рассмотрим основные принципы систем интеллектуального управления. Интеллектуальное управление – высшая ступень управления в теории автоматического управления после программного и адаптивного. Оно основано на применении методов
искусственного интеллекта. Термин «искусственный интеллект»
метафоричен и означает, что обладающая им техническая система способна выполнять функции, которые, если бы их выполнял
человек, считались бы интеллектуальными, т.е. требовали бы от
человека приложения его естественного интеллекта [45]. Таким образом, искусственный интеллект имитирует естественный только в
узкоспециальном отношении и никаких более широких аналогий с
естественным интеллектом не имеет.
Основная область применения интеллектуального управления –
это, прежде всего, сложные объекты и большие системы, для которых доступно описание только на семиотическом уровне. Вместе с
тем, интеллектуальное управление часто требуется и для достаточно простых объектов, если с их помощью решаются интеллектуальные задачи или сама задача управления требует интеллектуального подхода, например, в силу сложности внешних условий.
В робототехнике искусственный интеллект требуется, прежде
всего, для решения следующих задач: (1) обработка сенсорной информации; (2) формирование моделей внешней среды; (3) принятие
решений и планирование поведения; (4) управление движением;
(5) создание интеллектуального интерфейса между человеком-оператором и роботом.
Уровень искусственного интеллекта связан, прежде всего, с
развитием иерархической структуры модели среды путем формирования все более обобщенных уровней ее представления за счет
перехода от образов внешней среды, непосредственно воспринима37
емых сенсорами системы, к все более абстрактным образам и понятиям. Вследствие этого происходит расширение функциональных
возможностей робота благодаря автономному решению все более
сложных интеллектуальных задач, включая самоусовершенствование в процессе активного взаимодействия с внешней средой.
Обобщенная схема системы интеллектуального управления робота, показанная на рис. 2.6 [45], представляет собой конкретизацию общей схемы управления роботом на рис. 2.2 в части применения искусственного интеллекта при решении перечисленных ранее
пяти задач.
В центре схемы находится блок памяти, двусторонне связанный
с другими системами, перерабатывающими информацию. Объем
и уровень организации памяти – главный показатель интеллектуального потенциала робота. В блок памяти входит база знаний о
внешней среде – основа интеллекта – и база данных как о внешней среде, так и о самом роботе и об операциях, которые он может
выполнять. Кроме того, специализированные оперативные базы
знаний и данных, связанные с этой центральной памятью, могут
иметься и в отдельных системах робота.
База знаний о внешней среде содержит как априорную информацию, вводимую до начала работы, так и оперативную сенсорную,
которая приобретается в процессе восприятия окружающей среды
при выполнении роботом заданных действий, а также в процессе
его специальных познавательных действий для изучения этой среды. Эта информация включает в себя описание геометрических и
Человек-оператор
Интеллектуальный интерфейс
Оценка
ситуации
Обработка
сенсорной
информации
Память
Планирование
поведения
Сенсорные
системы
Внешняя среда
Исполнительные
системы
Рис. 2.6. Система интеллектуального управления роботом
38
других физических характеристик объектов среды и их взаимосвязь. Такое описание имеет иерархическую структуру. Например,
описание рабочей зоны робота включает набор планов всей зоны и
ее частей, различающихся как масштабом и соответственно точностью, так и степенью обобщения первичной сенсорной информации.
Введение в эти планы (карты) времени как параметра дает картину внешней среды в динамике с учетом взаимодействия ее объектов
друг с другом и с роботом. База знаний о внешней среде содержит
также правила, позволяющие моделировать возможные изменения
этой среды. Сами знания представляются в виде логических и сетевых моделей. Логические модели основаны на аппарате математической логики и, прежде всего, на исчислении предикатов. Модели
строятся из системы базовых элементов и системы правил и аксиом.
В сетевых моделях вершины сети соответствуют объектам среды, а
дуги – отношениям между ними. Применяются сети фреймов, описывающих объекты среды и семантические сети [31, 40].
Все другие блоки схемы также имеют иерархическую структуру,
уровни которой соединены друг с другом по вертикали. В свою очередь показанные на схеме соединения блоков осуществляются многоканально между одноименными уровнями по горизонтали. Блок
обработки сенсорной информации получает из блока памяти экстраполяцию изменения состояния внешней среды, а передает в него
коррекцию этого состояния на уровне непосредственной сенсорной
картины среды. Блок оценки ситуации и блок планирования поведения получают из блока памяти текущую модель внешней среды, а
передают в него соответственно ее оценку по определенным критериям и синтезированный план управления движением робота. При
синтезе этого плана применяются различные приемы решения задач, разработанные в рамках искусственного интеллекта, в том числе [45]: (1) поиск решения в пространстве состояний (нахождение последовательности преобразования исходного состояния в конечное
целое); (2) сведение задачи к подзадачам (последовательное разбиения задачи на подзадачи вплоть до элементарных, решение которых
известно); (3) решение в форме доказательства теорем (формулирование задачи как теоремы и ее решение на базе системы аксиом).
В задачу блока оценки ситуации входит также оперативная корректировка целей управления и их приоритетов. Это верхний интеллектуальный уровень в иерархии управления роботом. Блок интеллектуального интерфейса, помимо связи с оператором, в общем
случае должен быть двусторонне связан со всеми перечисленными
функциональными блоками.
39
Применение искусственного интеллекта в системах управления
роботов началось с введения элементов искусственного интеллекта в системы адаптивного управления на основе перечисленных
ранее интеллектуальных технологий. Наибольшее распространение получили технологии экспертных систем. Типовая структура
экспертной системы управления движением робота показана на
рис. 2.7.
Такая система может быть использована и на уровне планирования поведения. База знаний содержит теоретические и эмпирические сведения о кинематике и динамике робота. База данных
включает информацию о текущем состоянии системы управления
и цели управления, а база алгоритмов – алгоритмы обработки данных, идентификации и управления. Блок логического вывода формирует экспертное заключение об оптимальной текущей структуре
и настройке системы приводов, которая затем реализуется в системе управления.
Наиболее сложным типом систем интеллектуального управления являются системы семиотического управления, основанные на
логико-лингвистических моделях объекта управления. Основными
компонентами таких систем управления являются [45]: (1) анализатор ситуации, который определяет, когда требуется воздействие
на объект; (2) классификатор, который на основании получаемого
от анализатора описания текущей ситуации относит ее к одному из
классов ситуаций, каждому из которых соответствует определенное управляющее воздействие на объект; (3) коррелятор, который
Задание от
человека-оператора
Сенсорная
информация
Анализ ситуации
База знаний
База данных
Правила
логического вывода
База алгоритмов
Рис. 2.7. Структура экспертной системы адаптации
для системы управления
40
по полученной от классификатора информации о классе текущей
ситуации выбирает из базы управляющих воздействий соответствующее этому классу; (4) экстраполятор, который включается, если
предложено несколько решений, и выбирает наилучшее из них;
(5) блок случайного выбора, который включается в противоположном случае, когда решение не найдено, и вырабатывает не слишком
сильное воздействие на объект, чтобы изменить ситуацию, сделав
ее более определенной. До начала работы такой системы семиотического управления необходим этап ее обучения, на котором с помощью экспертов формируется база знаний в виде набора классов
ситуаций и соответствующих им управляющих реакций.
В ходе лабораторных работ вы экспериментально познакомитесь с каждым из способов управления и научитесь программировать устройства, входящие в состав подвижной платформы и реализующие как движение, так и анализ внешней среды.
41
3. ЛАБОРАТОРНЫЙ ПРАКТИКУМ
Лабораторная работа № 1
СОЗДАНИЕ ПРОСТЫХ АЛГОРИТМОВ УПРАВЛЕНИЯ
ПОДВИЖНОЙ ПЛАТФОРМОЙ
Изучение принципов управления движением роботизированного комплекса производится с использованием учебного макета
мобильного информационного робота, показанного на рис. 3.1. Макет имеет две основные составные части: подвижную платформу
и информационную стойку с многомодальным интерфейсом. Кор-
Ведущие
колеса
Флюгерные
колеса
Ведущие
колеса
Рис. 3.2. Эскиз платформы:
вид спереди
Флюгерные
колеса
Ведущие
колеса
Флюгерные
колеса
Рис. 3.3. Эскиз платформы:
вид сбоку
Рис. 3.1. Общий вид
мобильного информационного робота
42
Рис. 3.4. Вид платформы
изнутри
пус стойки имеет следующие размеры: ширина: 500 мм, глубина:
180–200 мм, высота: 1500 мм.
Для выполнения первой лабораторной работы по изучению
принципов управления движением робота необходимо освоить
основы программирования контроллеров приводов колес, установленных на подвижной платформе. Компоновочная схема шасси платформы состоит из двух ведущих и двух флюгерных колес,
как показано на рис. 3.2 и рис. 3.3. Ведущие колеса обрезиненные
и имеют диаметр 250 мм. Флюгерные колеса свободно вращаются
и снабжены механическим стопором. Привод каждого ведущего
колеса включает программируемый блок управления SMSD-9.0 и
гибридный шаговый двигатель серии FL86STH компании «НПФ
Электропривод». Вид платформы изнутри показан на рис. 3.4.
Блок SMSD-9.0 позволяет задавать направление, скорость, ускорение движения, число шагов, а также некоторую исполнительную
программу, записываемую в энергонезависимую память. Для упрощения программирования блока была разработана специализированная библиотека функций, позволяющая создавать собственные
приложения в среде Visual C++ для управления движением платформой. Описание класса DriverControl, в котором реализована основная группа методов высокоуровневого программирования блока управления SMSD-9.0, приведено в табл. 3.1.
Таблица 3.1
Описание класса DriverControl
сlass DriverControl
{
enum DriverNum /*Перечисление номеров контроллеров приводов */
{
LEFT_DRIVER,
RIGHT_DRIVER,
MAX_DRIVER_NUM
};
HANDLE driverInputHandle[MAX_DRIVER_NUM];
/*Массив указателей на порты, к которым подключены контроллеры
приводов*/
int stepCount;
/*Число шагов*/
int startSpeed;
/*Стартовая скорость*/
43
Продолжение табл. 3.1
int speed;
/*Конечная скорость*/
int acceleration;
/*Ускорение*/
bool microStep;
/*Использование микрошага*/
bool DriverProgrammWrite(int _driverNumber,int _rotateDirection);
/*Формирование и запись параметров движения в контроллер с номером
_driverNumber. _rotateDirection – направление вращения привода */
void CommandWrite(int _driverNumber,std::string _command);
/*Запись команды, расположенной в _command, в контроллер с номером
_driverNumber*/
void StartMove();
/*Запуск выполнения программы на контроллерах*/
bool DriverConnect();
/*Подключение и открытие портов ввода/вывода данных контроллеров
приводов*/
void ReadAnswer(int _driverNumber);
void WaitEndProgramm(int _driverNumber); /*Ожидание окончание работы
программы на контроллере с номером _driverNumber*/
/*Чтение ответа с полученной командой с контроллера с номером _driverNumber*/
int GetAnswerCode(int _driverNumber);
/*Чтение кода ответа контролера с номером _driverNumber*/
public:
DriverControl(void);
/*Конструктор класса*/
virtual ~DriverControl(void);
/*Виртуальный деструктор класса*/
bool SetDriverParameters( int _startSpeed, int _acceleration, int _speed );
/*Установка параметров движения, где _startSpeed – начальная скорость,
_acceleration – ускорение, _speed – конечная скорость*/
bool LeftRotation(int _stepCount);
/*Включение двигателей для поворота налево на _stepCount шагов */
bool RightRotation(int _stepCount);
/*Включение двигателей для поворота направо на _stepCount шагов*/
bool Forward(int _stepCount);
/*Включение двигателей для движения назад на _stepCount шагов*/
bool Backward(int _stepCount);
44
Окончание табл. 3.1
/*Включение двигателей для движения вперед на _stepCount шагов*/
void Sleep(int _time);
/*Запуск задержки на _time миллисекунд*/
void StartTimer();
/*Включение таймера*/
int StopTimer();
/*Выключение таймера, возвращает пройденное время в миллисекундах*/
};
Рассмотрим несколько примеров использования класса. Листинг программы, позволяющей выполнить однократное движение
платформы вперед на 100 шагов, показан в табл. 3.2. В основной
программе main последовательно выполняются следующие команды. Сначала создается экземпляр RobotDriverControl класса
DriverControl. Затем производится инициализация параметров
движения с помощью метода SetDriverParameters. В данном примере заданы значения начальной скорости, ускорения и конечной
скорости (_startSpeed = 0, _acceleration = 10, _speed = 200). Наконец, запуск приводов и движение вперед на 100 шагов осуществляется с помощью метода Forward.
Таблица 3.2
Пример программы для движения платформы вперед на 100 шагов
int _tmain(int argc, _TCHAR* argv[])
{
DriverControl RobotDriverControl;
RobotDriverControl.SetDriverParameters(0, 10,200);
RobotDriverControl.Forward(100);
return 0;
}
Листинг программы для выполнения следующих действий платформы: поворот влево, движение назад, поворот вправо показан в
табл. 3.3. Обратите внимание, что последнее действие выполняется
с другими параметрами, чем первые два, для этого дополнительно
вызывается метод SetDriverParameters. Последний поворот вправо
выполняется без ускорения, поэтому задана скорость 20 шагов/c,
остальные параметры имеют нулевые значения.
45
Таблица 3.3
Пример программы для движения платформы влево и назад
Int _tmain(int argc, _TCHAR* argv[])
{
DriverControl RobotDriverControl;
RobotDriverControl.SetDriverParameters(0, 10,50);
RobotDriverControl.LeftRotation(400);
RobotDriverControl.Backward(1000);
RobotDriverControl.SetDriverParameters(0, 0, 20);
RobotDriverControl.RightRotation(400);
return 0;
}
Исполнение методов класса DriverControl производится последовательно, если же необходимо установить задержки на некоторых этапах движения, то можно использовать стандартную команду Sleep(_delay), параметр _delay задает длительность задержки в
миллисекундах. Используя стандартные методы программирования, можно создавать различные алгоритмы перемещения робота. Пример программы для циклического движения платформы
вперед-назад с остановкой в 3 секунды на каждом цикле показан в
табл. 3.4. Для определения суммарного времени движения применяются методы StartTimer и StopTimer. Первая функция запускает
таймер, вторая останавливает и выдает значение прошедшего времени, измеренное в миллисекундах. Стандартная функция printf
используется для вывода полученного значения таймера в консольное приложение пользователя
Таблица 3.4
Пример программы для движения платформы влево и назад
int _tmain(int argc, _TCHAR* argv[])
{
DriverControl RobotDriverControl;
RobotDriverControl.SetDriverParameters(10, 15, 200);
RobotDriverControl.StartTimer();
for (int i = 0; i < 5; i ++) {
RobotDriverControl.Forward(1000);
RobotDriverControl.Backward(1000);
46
Окончание табл. 3.4
Sleep(3000);
}
int iTime = RobotDriverControl.StopTimer();
printf(“%d\n”, iTime);
return 0;
}
Используя представленные примеры, необходимо самостоятельно написать программы, реализующие простые варианты движения платформы: вперед, назад, влево, вправо, а также их комбинации.
47
Лабораторная работа № 2
ВЫБОР ОПТИМАЛЬНЫХ ЗНАЧЕНИЙ ПАРАМЕТРОВ СИСТЕМЫ
УПРАВЛЕНИЯ ДВИГАТЕЛЯМИ ПОДВИЖНОЙ ПЛАТФОРМЫ
Одной из функций разработанного учебного макета мобильного
информационного робота является сопровождение пользователей
до интересующего их объекта. Другой вариант применения – это
передвижение с одновременным мультимедийным выводом рекламных роликов. Если в первом случае скорость робота должна
быть близкой к скорости пользователя (3–5 км/час), то во втором –
логичнее замедлить движение, чтобы проходящий мимо пользователь успел воспринять рекламную информацию. Поэтому целью
второй лабораторной работы является выбор и оптимизация значений параметров управления приводами.
Последовательно изменяя параметры в методе SetDriverParameters, необходимо определить максимально допустимые значения
стартовой скорости и ускорения и конечной скорости. Оптимизация
параметров проводится отдельно для движения вперед, назад и
поворотов.
В первую очередь необходимо выбрать максимально допустимое
значение начальной скорости платформы. Используя программу
(табл. 3.2) проведите ряд экспериментов и заполните табл. 3.5 для
четырех вариантов движения. Поскольку ускорение в данном эксперименте не используется, то в методе SetDriverParameters следует изменять последний параметр _speed, отвечающий за скорость.
В случае задания значений параметров, при которых нагрузка на
привод превышает допустимое значение, возникает пропуск шагов,
сопровождающийся характерным щелчком. При достижении таких значений в табл. следует указать отсутствие работоспособности
приводов и перейти к эксперименту со следующим типом движения.
Таблица 3.5
Оптимизация значения начальной скорости
Начальная
скорость
Движение вперед
0
0
0
48
Ускорение
Скорость
0
0
0
5
10
15
Работоспособность, +/–
Окончание табл. 3.5
Начальная
скорость
0
0
0
0
0
Движение назад
0
0
0
0
0
0
0
0
Движение влево
0
0
0
0
0
0
0
0
Движение вправо
0
0
0
0
0
0
0
0
Ускорение
Скорость
0
0
0
0
0
20
30
40
50
…
0
0
0
0
0
0
0
0
5
10
15
20
30
40
50
…
0
0
0
0
0
0
0
0
5
10
15
20
30
40
50
…
0
0
0
0
0
0
0
0
5
10
15
20
30
40
50
…
Работоспособность, +/–
Используя полученные значения максимально допустимой начальной скорости, на следующем этапе необходимо определить
максимальные значения ускорения платформы также для четырех
типов движения. В табл. 3.6 заполните первый столбец по данным,
полученным в предыдущем эксперименте, и, изменяя ускорение,
определите его максимально допустимое значение. Значение скорости в методе SetDriverParameters следует выставить равным 1000.
49
Таблица 3.6
Оптимизация значения ускорения
Начальная
скорость
Ускорение
Скорость
5
10
15
20
30
40
50
…
1000
1000
1000
1000
1000
1000
1000
1000
5
10
15
20
30
40
50
…
1000
1000
1000
1000
1000
1000
1000
1000
5
10
15
20
30
40
50
…
1000
1000
1000
1000
1000
1000
1000
…
5
10
15
20
30
40
50
…
1000
1000
1000
1000
1000
1000
1000
…
Движение вперед
Движение назад
Движение влево
Движение вправо
50
Работоспособность, +/–
Используя полученные максимально допустимые значения начальной скорости и ускорения, на следующем этапе необходимо
определить максимальные значения конечной скорости платформы для четырех типов движения. В табл. 3.7 заполните первые два
столбца по данным, полученным в предыдущем эксперименте, и,
изменяя конечную скорость, определите ее максимально допустимое значение.
Таблица 3.7
Оптимизация значения конечной скорости
Начальная
скорость
Ускорение
Скорость
Работоспособность, +/–
Движение вперед
100
200
300
500
800
1000
1500
…
Движение назад
100
200
300
500
800
1000
1500
…
Движение влево
100
200
300
500
800
1000
1500
…
Движение вправо
100
51
Окончание табл. 3.7
Начальная
скорость
Ускорение
Скорость
Работоспособность, +/–
200
300
500
800
1000
1500
…
По результатам выполненных экспериментов следует заполнить
сводную табл. 3.8, где необходимо указать оптимальные, с точки
зрения скорости, параметры управления приводами для всех четырех типов движения платформы.
Таблица 3.8
Оптимальные параметры для управления движением платформы
Направление
движения
Вперед
Назад
Влево
Вправо
52
Начальная
скорость
Ускорение
Конечная
скорость
Лабораторная работа № 3
ПРОГРАММИРОВАНИЕ ДВИЖЕНИЯ ПЛАТФОРМЫ
ПО ЗАДАННОЙ ТРАЕКТОРИИ
В ходе выполнения предыдущих лабораторных работ вы должны
были изучить программное обеспечение по управлению приводами
подвижной платформы, экспериментально проверить простейшие
варианты движения и выбрать параметры, позволяющие перемещаться платформе с максимальной скоростью. Теперь перейдем к
созданию алгоритмов перемещения платформы по заданной траектории. Для этого необходимо рассчитать величину одного шага при
прямолинейном движении и при повороте.
Для расчета числа шагов при прохождении заданного расстояния впишите в табл. 3.9 оптимальные значения параметров, полученные во второй лабораторной работе (табл. 3.8). Затем, используя
описание шасси платформы (первая лабораторная работа), рассчитайте какое число шагов необходимо сделать платформе для прохождения 1, 3 и 5 метров при движении вперед и назад.
Таблица 3.9
Расчет числа шагов для прохождения заданного расстояния
Начальная
УскореКонечная Направ- Рассто- Необходимое число шагов
скорость, ш/c ние, ш/c2 скорость, ш/c ление яние, м Расчет
Эксперимент
Вперед
Вперед
Вперед
1
3
5
Назад
Назад
Назад
1
3
5
Размер шага, м/ш
Размер шага, м/ш
Теперь необходимо экспериментально проверить полученные
данные. При необходимости подберите число шагов так, чтобы
платформа перемещалась на заданное в табл. расстояние. Результаты впишите в последний столбец табл. 3.9. Получите средние
значения и сравните значения шага: вычисленное теоретически и
определенное экспериментально. Аналогично предыдущему эксперименту определите среднее значение одного шага при повороте
платформы. Полученные данные впишите в табл. 3.10.
53
Таблица 3.10
Расчет числа шагов для поворота на заданный угол
Необходимое число шагов
Начальная
УскореКонечная
НаправУгол, °
скорость, ш/c ние, ш/c2 скорость, ш/c ление
Расчет
Эксперимент
Влево
Влево
Влево
90
180
360
Вправо
Вправо
Вправо
90
180
360
Размер шага, °
Размер шага, °
В следующем эксперименте вам предстоит составить алгоритм
движения платформы по прямоугольной траектории и реализовать
его с помощью предложенного программного обеспечения. В табл.
3.11 представлена схема заданной траектории с отмеченными на
ней номерами движений и их величинами. В первом столбце таблицы приведено описание действий в соответствующей последовательности.
Черным кругом показано начальное положение платформы.
При этом платформа должна быть установлена лицом по направлению первого движения. При правильно составленном алгоритме
после выполнения всех движений платформа должна вернуться в
начальное местоположение.
Таблица 3.11
Траектория движения платформы
Последовательность движений
1) проехать на 3 метра вперед;
2) повернуться влево на 90 градусов;
3) проехать на 2 метра вперед;
4) повернуться влево на 90 градусов;
5) проехать на 3 метра вперед;
6) повернуться влево на 90 градусов;
7) проехать на 2 метра вперед;
8) повернуться влево на 90 градусов
54
Схема движения
90 °
(4 )
( 2)
(3 ) 2 м
3м
(1)
3м
( 5)
90 °
2 м (7 )
(6 )
90 °
(8 )
90 °
Переходим к написанию программы. Используя методы
класса DriverControl, а именно SetDriverParameters, Forward,
LeftRotation, выполните инициализацию параметров движения и
затем запрограммируйте каждое из восьми указанных действий с
нужными параметрами. Число шагов, необходимое для поворота
платформы на 90 градусов и перемещения вперед на 2 и 3 метра,
рассчитайте на основе данных, полученных в табл. 3.9.
При тестировании предложенного алгоритма для оценки точности и скорости перемещения платформы заполните табл. 3.12.
Во второй и третий столбец впишите суммарное число шагов, которое используется во всех восьми действиях при движении вперед
и повороте налево, соответственно. Чтобы определить общее время
движения платформы и вывести его на экран, используйте методы
StartTimer, StopTimer, printf соответственно.
Перед началом эксперимента поставьте платформу в определенную позицию лицом по направлению к первому движению. Запустите подготовленную программу. После выполнения всей последовательности движений и остановки платформы измерьте величину отклонения от траектории по двум критериям: (1) на каком
расстоянии от начальной позиции остановилась платформа и (2) на
какой угол по сравнению с начальным направлением отклонилась
платформа в процессе движения. Значения полученных оценок
впишите в последние два столбца табл. 3.12 Последовательно выполните 5 экспериментов и рассчитайте средние значения по всем
показателям.
Таблица 3.12
Анализ прохождения платформы по заданной траектории
№ эксперимента
Суммарное число шагов
для движений
Вперед, ш
Налево, ш
Общее время
движения, с
Отклонение
от траектории
Расстояние, м
Угол, °
1
2
3
4
5
Среднее
55
Лабораторная работа № 4
ОПРЕДЕЛЕНИЕ ПРЕПЯТСТВИЙ ПО ДАТЧИКАМ РАССТОЯНИЯ
При передвижении в пространстве мобильная платформа может встречать на своем пути препятствия. Для предотвращения
столкновения необходимо уметь находить их заранее. Для этого на
платформе установлены датчики расстояния двух видов: ультразвуковые и инфракрасные. Инфракрасные датчики обладают меньшим диапазоном действия, но при этом работают быстрее, чем ультразвуковые. Целью данной лабораторной является ознакомление
с принципами работы обоих типов датчиков и получение навыков
их программирования на примере определения расстояния между
подвижной платформой и препятствиями на ее пути.
Снятие информации с датчиков производится при помощи специализированной платы PCI-9114A-DG для персонального компьютера от фирмы ADLINK. Для упрощения получения информации с датчиков была разработана специализированная библиотека
функций, позволяющая создавать собственные приложения в среде Visual C++. Описание класса SensorData, в котором реализована
основная группа высокоуровневых методов для получения информации с датчиков приведено в табл. 3.13.
Таблица 3.13
Описание класса SensorData
class SensorData
{
HANDLE hDAQPilotTask; /*Указатель на настройки платы и способ
получения информации для библиотеки DAQPilot */
double GetSensorData(int _sensorType, int _sensorNumber);
enum SensorTypes/*Перечисление типов сенсоров */
{
IR_SENSOR = 0,
US_SENSOR = 8,
RT_SENSOR = 12
};
public:
static const int MAX_IR_SENSOR_NUMBER = 8;
/*Количество ИК датчиков */
static const int MAX_US_SENSOR_NUMBER = 4;
/* Количество УЗ датчиков */
static const int MAX_RT_SENSOR_NUMBER = 2;
56
Окончание табл. 3.13
/* Количество датчиков угла поворота*/
static const int SENSOR_ERROR = -20; /* Число,
возвращаемое функцией, возвращаемое при ошибке получения
данных с датчика*/
SensorData(void); /*Конструктор класса*/
virtual ~SensorData(void); /*Виртуальный деструктор класса*/
double GetIRSensorData(int _sensorNumber);
/*Функция получения информации с ИК датчиков, где _sensorNumber –
номер датчика*/
double GetUSSensorData(int _sensorNumber);
/*Функция получения информации с УЗ датчиков, где _sensorNumber –
номер датчика*/
double GetRTSensorData(int _sensorNumber);
/*Функция получения информации с датчиков угла, где поворота _sensorNumber – номер датчика*/
};
Рассмотрим несколько примеров использования класса. Листинг программы, позволяющей получить данные с инфракрасного
датчика с номером 4 и вывести их на экран, показан в табл. 3.14.
В основной программе main последовательно выполняются следующие команды. Сначала создается экземпляр RobotSensorData
класса SensorData. Затем создается переменная, в которую будет
записано значение напряжения на датчике. После этого вызывается метод GetIRSensorData с параметром _sensorNumber = 4. Наконец, вывод информации в консольное приложение пользователя
осуществляется с помощью стандартной функция printf.
Таблица 3.14
Пример использования класса SensorData
для снятия данных с инфракрасного датчика
int _tmain(int argc, _TCHAR* argv[])
{
SensorData RobotSensorData;
double IR4Data;
IR4Data = RobotSensorData.GetIRSensorData(4);
printf(“%d\n”, IR4Data);
return 0;
}
57
Листинг программы, с помощью которой можно получить информацию со всех ультразвуковых датчиков и произвести ее запись
в массив, показан в табл. 3.15. Для хранения информации с датчиков используется массив переменных типа double размерностью
MAX_US_SENSOR_NUMBER.
Таблица 3.15
Пример программы для получения данных
со всех ультразвуковых датчиков
int _tmain(int argc, _TCHAR* argv[])
{
SensorData RobotSensorData;
double USData[SensorData::MAX_US_SENSOR_NUMBER];
for(int i = 0; i < SensorData::MAX_US_SENSOR_NUMBER; i++)
{
USData[i] = RobotSensorData.GetUSSensorData(i);
}
return 0;
}
В первом эксперименте вам предстоит определить рабочий диапазон датчиков, т.е. значения минимального и максимального расстояния до препятствия. Используя программу, указанную в табл.
3.14, проведите ряд экспериментов и заполните табл. 3.16 для трех
различных типов поверхности, например, заготовленные препятствия из ткани, пластика, а также протестируйте, насколько точно
датчик определяет расстояние до вас.
Таблица 3.16
Измерение рабочих диапазонов датчиков
для различных видов поверхностей
Тип
датчика
№
датчика
1
ИК
2
58
Тип
поверхности
1
2
3
1
2
3
Минимальное
расстояние, м
Максимальное
расстояние, м
Окончание табл. 3.16
Тип
датчика
№
датчика
3
4
5
6
7
8
1
2
УЗ
3
4
Тип
поверхности
Минимальное
расстояние, м
Максимальное
расстояние, м
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
1
2
3
Минимальным рабочим расстоянием датчика можно назвать
расстояние, после которого показания датчика начинают резко
убывать. Максимальное – это расстояние, после которого показания датчика равны максимальному значению. При отсутствии препятствий и при расстоянии между датчиком и препятствием больше максимальной величины показания датчика будут идентичны.
В следующем эксперименте вам необходимо определить зависимость показаний датчика от расстояния до препятствия. Для этого
59
будет необходимо перемещать препятствие, расположенное перпендикулярно оси датчика, с оптимальными параметрами покрытия на какое-либо расстояние. Диапазон расстояний выбирается из
предыдущей таблицы. Измерения проводятся для инфракрасных
датчиков при расстоянии до препятствия меньше 1 метра с шагом в
0,1 метр. Результаты занесите в табл. 3.17.
Таблица 3.17
Определение зависимости выходного напряжения
на инфракрасном датчике от расстояния до препятствия
Расстояние до препятствия, м
Выходное напряжение, В
Тип
Тип
Тип
поверхности 1 поверхности 2 поверхности 3
От минимального расстояния
до 1 метра с шагом 0,1 метр
Теперь измерьте показания ультразвуковых датчиков при расстоянии до препятствия меньше 1 метра с шагом в 0,1 метр, а затем
с шагом в 0,2 метра – при расстоянии до препятствия больше 1 метра. Используйте табл. 3.18 для занесения результатов.
Таблица 3.18
Определение зависимости выходного напряжения
на ультразвуковом датчике от расстояния до препятствия
Расстояние до
препятствия, м
Выходное напряжение, В
Тип
Тип
Тип
поверхности 1 поверхности 2 поверхности 3
От минимального расстояния
до 1 метра с шагом 0,1 метр и с
шагом 0,2 метра после 1 метра и
до 3 метров
Теперь, имея некоторое представление о принципах управления движением робота и определения расстояния до препятствий
с помощью инфракрасных и ультразвуковых датчиков, можно реализовать более сложные алгоритмы, позволяющие мобильному
роботу сопровождать пользователя при движении по заданной территории.
60
Библиографический список
1. All S., Nourbakhsh I. R. Insect Telepresence: Using Robotic Tele-Embodiment to Bring Insects Face-to-Face with Humans // Autonomous Robots,
10(2). Pp. 149–161.
2. Bartneck C., Okada M. eMuu – An Emotional Robotic User Interface,
Proceedings of the Philips User Interface Conference (UI2001), Eindhoven,
2001.
3. Cantrell R., Scheutz M., Schermerhorn P., Wu X. Robust Spoken
Instruction Understanding for HRI. Proceedings of HRI’2010, 2010.
Pp. 275–282.
4. Datta C., Vijay R. Neel: An Intelligent Shopping Guide, In: Proceedings
of HRI2010, 2010. Pp. 87–88.
5. Datta C., Kapuria A., Vijay R. A pilot study to understand requirements
of a shopping mall robot, Proceedings of HRI’2011, 2011. Pp. 127–128.
6. Glassmire J., O’Malley M., et al. Cooperative manipulation between
humans and teleoperated agents. Proceedings of the 12th International
Symposium on Haptic Interfaces for Virtual Environment and Teleoperator
Systems, HAPTICS 2004, Mar 27–28, Chicago, IL, United States, IEEE
Computer Society, Los Alamitos; Massey University, Palmerston, United
States; New Zealand, 2004.
7. http://int.dasarobot.com/ucp/pages/product/information-robots/
frida
8. http://www.nec.co.jp/products/robot/en/specifications/index.html
9. http://www.sensor.ru
10. Huttenrauch H., Green A., et al. Involving users in the design of a
mobile office robot. IEEE Transactions on Systems, Man and Cybernetics,
2004, Part C 34(2). Pp. 113–124.
11. Iossifidis I., Theis C., et al. Anthropomorphism as a pervasive design
concept for a robotic assistant. Proceedings of IEEE/RSJ International
Conference on Intelligent Robots and Systems, Oct 27–31, Las Vegas, NV,
United States, Institute of Electrical and Electronics Engineers Inc, 2003.
12. Kollar T., Tellex S., Roy D., Roy N. Toward Understanding Natural
Language Directions, Proceedings of HRI’2010, 2010. Pp. 259–266.
13. Kriz S., Anderson G., Trafton G. Robot-Directed Speech: Using Language
to Assess First-Time Users’ Conceptualizations of a Robot. Proceedings of
HRI’2010, 2010. Pp. 267–274.
14. Makatchev M., Fanaswala I., Abdulsalam A., Browning B., Ghazzawi W.,
Sakr M. and Simmons R.: Dialogue Patterns of an Arabic Robot Receptionist,
Proceedings of HRI’2010, 2010. Pp. 167–168.
15. Nass C., Steuer J., Tauber E. Computers are social actors. Proceedings
of the CHI’94 Conference on Human Factors in Computing Systems, Apr 24–
28, Boston, MA, USA, Publ by ACM, New York, NY, USA, 1994.
16. Nieuwenhuisen M., Stuckler J., Behnke S. Intuitive Multimodal
Interaction for Service Robots, Proceedings of HRI’2010, 2010. Pp. 177–178.
61
17. Nourbakhsh I. R., Bobenage J., et al. Affective mobile robot educator
with a full-time job // Artificial Intelligence, 1999, 114(1–2). Pp. 95–124.
18. Sidner C. L., Lee C. Robots as laboratory hosts // Interactions, 2005,
12(2). Pp. 24–26.
19. Tenorio-Gonzalez A. C, Morales E. F., Villasenor-Pineda L. Teaching a
robot to perform tasks with voice commands. In Proceedings of the 9th Mexican international conference on Advances in artificial intelligence: Part I (MICAI’10), Grigori Sidorov, Arturo Hernandez Aguirre, Carlos Alberto Reyes
Garcia (Eds.). Springer-Verlag, Berlin, Heidelberg, 2010. Pp. 105–116.
20. Thrun S., Beetz M., Bennewitz M., Burgard W., Cremers A. B., Dellaert F., Fox1 D., Hahnel D., Rosenberg C., Roy N., Schulte J., Schulz D. Probabilistic Algorithms and the Interactive Museum Tour-Guide Robot Minerva //
Journal of Robotics Research, 2000, 19(11). Pp. 972–999.
21. Togami M., Obuchi Y., Amano A. Automatic Speech Recognition of
Human-Symbiotic Robot EMIEW // Human-Robot Interaction, Ed. Nilanjan
Sarkar, 2007. Pp. 395–404.
22. Альтман Я. А. Инерционные процессы в слуховой системе при локализации движущихся источников звука // Журнал высшей нервной деятельности им. И. П. Павлова. 2008. Т. 58. № 3. С. 309–318.
23. Бакулев П. А., Сосновский А. А. Радиолокационные и радионавигационные системы: учеб. пособие для вузов. М.: Радио и связь, 1994. 296 с.
24. Бобровский C. Навигация мобильных роботов PCWeek/RE, 2004.
№9/№10/№11.
25. Добрин П. С., Чачин К. П. Автомобильные навигационные системы:
классификация устройств, обзор состояния мирового и российского рынка // Мобильные телекоммуникации, №8. 2008. С. 20–24.
26. Иванов В. В., Безруких М. М., Демидов А. А. Движения глаз детей
в процессе чтения текстов различной степени сложности // Тр. 4-й междунар. конф. по когнитивной науке, 22–26 июня 2010 г., Томск, Россия.
С. 294–295.
27. Каплан А. Я. Интерактивные когнитивные технологии на основе гибридных интерфейсов мозг-глаз-компьютер // Тр. 4-й междунар. конф. по
когнитивной науке, 22–26 июня 2010 г., Томск, Россия. С. 294–295.
28. Комплексирование пилотажно-навигационного оборудования в
бортовые комплексы навигации и самолетовождения: метод. указ. к курсовой работе по дисциплине «Бортовые вычислительные комплексы навигации и самолетовождения» / Сост.: П. С. Котенко; Уфимск. Гос. Авиац.
техн. ун-т. Уфа, 2006. 52 с.
29. Леонова А. Б., Блинникова И. В. и др. Исследования человеческого фактора в современной компьютеризованной среде: новые направления
развития инженерной психологии и эргономики. М.: ИП РАН, 2007.
30. Лысенко О. Н. Использование лазерных сканеров SICK AG для навигации мобильных роботов // Автоматизация в промышленности. № 8.
2006. С. 22–24.
31. Макаров И. М., Лохин В. М. и др. Интеллектуальные системы
управления. М.: Наука, 1999.
62
32. Мамаев В. Я., Синяков А. Н. и др. Воздушная навигация и элементы
самолетовождения / СПбГУАП. СПб., 2002. 256 с.
33. Петрович Д. Л. Когнитивно-стилевые особенности считывания приборной информации // Тр. 4-й междунар. конф. по когнитивной науке,
22–26 июня 2010 г., Томск, Россия. С. 473–475.
34. Петропавловская Е. А., Шестопалова Л. Б., Вайтулевич С. Ф. Пространственное и временное окно интеграции при движении звуковых образов // Тр. 4-й междунар. конф. по когнитивной науке, 22–26 июня 2010 г.,
Томск, Россия. С. 475–477.
35. Полевая С. А., Парин С. Б. Интеграция сенсорного, эмоционального и вегетативного сигналов в перцептивном сознании человека // Тр. 4-й
междунар. конф. по когнитивной науке, 22–26 июня 2010 г., Томск, Россия. С. 482–483.
36. Помыкаев И. И., Селезнев В. П., Дмитроченко Л. А. Навигационные
приборы и системы. М.: Машиностроение, 1983.
37. Ронжин А. Л., Карпов А. А., Ли И. В. Речевой и многомодальный
интерфейсы. (Информатика: неограниченные возможности и возможные
ограничения). М.: Наука, 2006 173 с.
38. Ронжин А. Л., Ли И. В. Методы искусственного интеллекта и автоматического распознавания речи: учеб. пособие / СПбГУАП. СПб., 2006,
176 с.
39. Соловьев Ю. А. Системы спутниковой навигации. – М.: Эко-Трендз,
2000. 268 с.
40. Станкевич Л.А. Представление знаний и интеллектуальные системы: учеб. пособие. СПб.: Изд-во СПбГПУ, 2009.
41. Фрайден Дж. Современные датчики. Справочник. М: Техносфера,
2006.
42. Ходанович М. Ю., Пивовар О. В. и др. Дифференциальные пороги
восприятия длительности слуховых и зрительных стимулов на осознанном и автоматическом уровне обработки информации// Тр. 4-й междунар.
конф. по когнитивной науке, 22–26 июня 2010 г., Томск, Россия. С. 562–
563.
43. Чекалина А. И., Гусев А. Н. Влияние гибкости/ригидности познавательного контроля на эффективность решения сенсорных задач с разным
уровнем информационной нагрузки // Вестник Московского государственного областного университета. Серия «Психологические науки». 2008.
№ 4. С. 3–10.
44. Шивринский В. Н. Бортовые вычислительные комплексы навигации и самолётовождения: конспект лекций / УлГТУ. Ульяновск, 2010.
148 с.
45. Юревич Е. И. Основы робототехники. 2-е изд., СПБ.: БХВ-Петербург, 2005.
46. Яценков В. С. Основы спутниковой навигации. Системы GPS NAVSTAR и ГЛОНАСС. М.: Горячая линия – Телеком, 2005. 272 с.
63
Содержание
Предисловие...................................................................... 3
1. Способы взаимодействия пользователя с роботом................. 5
1.1. Человеко-машинные интерфейсы для социальных роботов................................................................................ 5
1.2. Классификация мобильных информационных систем.... 14
1.3. Альтернативная классификация социальных роботов.... 20
2. Методы навигации и интелектуального управления движением робота........................................................................ 25
2.1. Методы навигации мобильного робота......................... 25
2.2. Определение препятствий. Датчики расстояния............ 30
2.3. Основные схемы управления движением робота............ 34
3. Лабораторный практикум................................................. 42
Лабораторная работа № 1. Создание простых алгоритмов
управления подвижной платформой.................................. 42
Лабораторная работа № 2. Выбор оптимальных значений
параметров системы управления двигателями подвижной
платформы.................................................................... 48
Лабораторная работа № 3. Программирование движения
платформы по заданной траектории.................................. 53
Лабораторная работа № 4. Определение препятствий
по датчикам расстояния................................................... 56
Библиографический список.................................................. 61
Документ
Категория
Без категории
Просмотров
2
Размер файла
2 077 Кб
Теги
ronzhinprischepa
1/--страниц
Пожаловаться на содержимое документа