Программный комплекс для управления и формирования управляющих команд мобильным роботом iRobot Create
Иллюстрацией одного из векторов развития направления военизированных комплексов является экспериментальный роботизированный охранный комплекс MDARS (США). Базой комплекса являются мобильные роботы, обеспечивающие патрулирование внутренних помещений, территорий за счет, как мобильных роботов, так и стационарных систем разграничения доступа, включенных в систему. Экспериментальная система… Читать ещё >
Программный комплекс для управления и формирования управляющих команд мобильным роботом iRobot Create (реферат, курсовая, диплом, контрольная)
ВВЕДЕНИЕ
1. АНАЛИТИЧЕСКИЙ ОБЗОР
1.1 Промышленные роботы
1.2 Мобильные роботы и комплексы на их основе
1.2.1 Мобильные роботы специального назначения
1.2.2 Мобильные роботы для военных и военизированных применений
1.2.3 Роботы помощники
1.2.4 Роботы в ближайшем будущем
1.3 Обзор продукции компании iRobot
1.3.1 Роботы специального назначения
1.4 Аналитический обзор программных средств по созданию базы данных
1.5 Аналитический обзор программных средств по созданию базы данных и интерфейсов пользователей
1.6 Open Interface и классификация команд
1.6.1 Режимы робота
1.6.2 Обзор команд
1.7 Выводы по разделу
2. ЦЕЛЬ И ЗАДАЧИ ПРОЕКТА
3. ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО КОМПЛЕКСА
3.1 Постановка задачи
3.2 Формализованное описание
3.3 Функциональная структура
3.5 Математическое обеспечение
3.6 Программное обеспечение
3.7 Лингвистическое обеспечение
3.8 Политика безопасности
3.9 Тестовый пример
3.9.1 Тест № 1
3.9.2 Тест № 2
3.9.3 Вывод по проведённому тестированию
3.10 Выводы по разделу
4. ХАРАКТЕРИСТИКА ПРОГРАММНОГО И АППАРАТНОГО ОБЕСПЕЧЕНИЯ
ЗАКЛЮЧЕНИЕ
И ПРОЕКТНЫЕ ПРЕДЛОЖЕНИЯ
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
ВВЕДЕНИЕ
мобильный робот аппаратный команда В последние десятилетия робототехника заняла ведущее место в автоматизации современного промышленного производства и бытового обслуживания. Инженерные и технологические разработки средств робототехники концентрируются, в основном на промышленных роботах, имеющих наибольший спрос и уже сложившиеся области эффективного применения в производстве. Однако достаточно большое внимание стали уделять производству мобильных гражданских роботов, которые используют, как в бытовых условиях, так и в экстренных ситуациях, где присутствие человека бывает травма опасным. Возросшие требования к робототехническим системам вызвали необходимость разработки роботов, способных осуществлять интеллектуальную деятельность. Современные роботы могут выполнять различные задачи, подчиняясь командам оператора или по заранее составленной программе, а также с помощью технологий искусственного интеллекта. Современные мобильные роботы могут помогать людям. Они могут поднимать тяжелые грузы, работать с вредными материалами, в труднодоступных местах.
По данным исследователей, за последнее время все большее число людей в развитых странах перекладывают свои домашние дела на плечи роботов, которые, например, могут постричь газон перед домом или пропылесосить ковры в комнатах. Современные компании, выпускающие бытовые приборы, стали активно развиваться в этом направлении, выпуская роботов-помощников под своей маркой. В проекте будет проведен анализ продукции американской компании iRobot, которая специализируется на выпуске большой линейки бытовых роботов-пылесосов. Более подробно будет рассмотрен мобильный робот iRobot Create.
iRobot Create — это полностью усовершенствованный роботизированный комплекс, который позволяет программировать поведение, не беспокоясь о его механических характеристиках. iRobot Create является технически-сложным с устройством, задача управления которым требует необходимых навыков и знаний. В процессе движения робота осуществляется контроль датчиками движения (датчики горизонтальной и вертикальной поверхности и инфракрасный датчик).
iRobot Create можно перепрограммировать под любое устанавливаемое оборудование, что способствует охвату достаточно большого спектра для изучения робототехники. Принципы управления и поведения мобильным роботом практически ничем не отличаются от других более мощных и дорогих роботов, применяемых в промышленности. Соответственно он вполне может служить тренажером, для получения знаний и принципов работы мобильного робота.
1.АНАЛИТИЧЕСКИЙ ОБЗОР
1.1 Промышленные роботы
Промышленный робот — это автоматическая машина, состоящая из манипулятора и устройства программного управления его движением, предназначенная для замены человека при выполнении основных и вспомогательных операций в производственных процессах.
Манипулятор — это «Совокупность пространственного рычажного механизма и системы приводов, осуществляющая под управлением программируемого автоматического устройства или человека-оператора действия (манипуляции), аналогичные действиям руки человека.
Целью промышленных роботов является частичная или полная замена человека при выполнении основных и вспомогательных технологических операций в процессе промышленного производства. Что как следствие освобождает человека от работ, связанных с опасностью для здоровья или тяжелым физическим трудом, от однообразных и монотонных операций притупляющих со временем внимание человека и влекущие за собой нарушения техники безопасности и ухудшение качества выполняемой работы. Внедрение робототехники в технологические процессы является по сути дела автоматизацией производства, которая позволяет решать многие проблемы связанные с:
безостановочностью производства,
возможностью гибко и в кратчайшие строки реагировать на изменения условий технологического процесса,
широкой номенклатурой продукции и объёмами производства,
качеством продукции,
исключением человеческого фактора,
уменьшением себестоимости продукции и т. д.
Современные предприятия для повышения конкурентоспособности и эффективности все больше внимания уделяют модернизации производства. Важную роль в этом процессе играет применение робототехники.
Тенденция увеличения парка роботов в современном промышленном производстве обусловлена рядом объективных факторов. Как правило, это увеличение производительности труда при сохранении высокого качества продукции и возможность быстрого реагирования на изменения объектов производства и потребительского рынка.
Достоинства использования робототехники очевидны:
повышение точности выполнения технологических операций и, как следствие, улучшение качества;
возможность использования технологического оборудования в три смены, 365 дней в году;
рациональность использования производственных помещений;
исключение влияния человеческого фактора на поточных производствах, а также при проведении монотонных работ, требующих высокой точности;
исключение воздействия вредных факторов на персонал на производствах с повышенной опасностью;
достаточно быстрая окупаемость.
Из всего этого следует, что робототехника является на сегодняшний день важнейшим составным звеном современного промышленного производства. Внедрением и разработкой робототехнических технологий в промышленность занимаются непосредственно фирмы производители роботов. Как правило, это большие фирмы — концерны например как ABB, KUKA, STAUBLI, MITSUBISHI.
1.2 Мобильные роботы и комплексы на их основе
Бурное развитие современной микропроцессорной техники обеспечило благоприятные условия для развития малогабаритных мобильных дистанционно управляемых роботов.
В настоящее время создаются исследовательские и опытно-промышленные образцы роботизированных комплексов самого разного применения. Дистанционно пилотируемые летательные аппараты (ДПЛА) являются наиболее сложным типом автономных роботов и уровень их развития во многом определяет уровень направления в целом.
1.2.1 Мобильные роботы специального назначения Роботы специального назначения служат для выполнения различного вида ремонтных, восстановительных и спасательных работ в экстремальных условиях и ситуациях на земле, на воде, под водой и в космосе, а также предупреждения аварий, стихийных бедствий и ликвидации их последствий. Сюда же относится борьба с терроризмом и организованной преступностью; несение активной патрульной службы, военное применение.
В силу специфики назначения таких роботов информации о них в открытой печати не много. Например, летательные аппараты этого класса получили называние микро летательных аппаратов (МЛА). В качестве примера можно указать мини-беспилотник Satoorn. Данный аппарат летает над головами студентов Высшей школы при Институте аэронавтики и космоса в Тулузе (Франция). Благодаря крошечным размерам и подвижности его можно использовать внутри помещений для скрытого наблюдения и разведывательных задач. Внешние виды микролетательных аппаратов мобильного наземного робота представлены на рисунке 1.
Рисунок 1 — Внешние виды микролетательных аппаратов мобильного наземного робота
1.2.2 Мобильные роботы для военных и военизированных применений Разработка комплексов разведки и целеуказания на основе ДПЛА проводиться в настоящее время всеми индустриально развитыми странами мира. Можно констатировать тот факт, что интенсивно развивается новая система вооружений, которая в кругах специалистов получила название разведывательно-ударного комплекса (РУК).
Современный РУК — это система, объединяющая в себе средства разведки, наведения, управления, средства огневого поражения и предназначенная для обнаружения и уничтожения наиболее важных одиночных и групповых подвижных объектов противника в глубине расположения его войск, независимо от метеорологических условий и времени суток.
Известно, что военное ведомство США затратило около 10 млрд долларов на развитие данного направления. При выработке концепции военных применений ДПЛА были куплены все коммерчески поставляемые образцы и проведены их испытания c целью выработки требований и концепции развития направления ДПЛА военного применения. Выработанная по результатам исследований классификация приведена, например, в работе.
Иллюстрацией одного из векторов развития направления военизированных комплексов является экспериментальный роботизированный охранный комплекс MDARS (США). Базой комплекса являются мобильные роботы, обеспечивающие патрулирование внутренних помещений, территорий за счет, как мобильных роботов, так и стационарных систем разграничения доступа, включенных в систему. Экспериментальная система предназначена для охраны воинских складов и разработана по контракту с министерством обороны США исследовательским центром SPAWAR System Center (Cан-Диего). В связи с возрастающей угрозой терроризма развитие этого направления становится в последнее время чрезвычайно актуальным.
1.2.3 Роботы помощники В последнее время популярность бытовых роботов растет с небывалой скоростью. Роботизация домашнего хозяйства теперь не представляется чем-то из области фантастики, это вполне реально и даже облегчает жизнь, избавляя от массы хлопот. В 2007 году количество домашних роботов превысило 4 миллиона. Они могут охранять дома, мыть окна, чистить бассейны и заниматься мелкими хозяйственными делами. По словам специалистов, к концу 2010 года роботы будут ухаживать за пожилыми людьми и инвалидами, а также смогут заменить хирургов, пожарных, саперов и сантехников. Кроме того, появятся первые человекообразные роботы.
Роботы-пылесосы ведущих компаний мира:
Scooba (производитель — iRobot);
CleanMate (производитель — Infinuvo);
IClebo (производитель — Yujin Robot);
Koolvac (производитель — Koolatron);
Orazio (производитель — Zuchetti);
Ottoro (производитель — Hanool robotics);
Roomba (производитель — iRobot);
Robo Maxx;
RoboMaid;
RC3000 (производитель — Karcher);
Trilobite (производитель — Electrolux);
V-R4000 (производитель — LG);
Hauzen VC-RE70V (производитель — Samsung);
V-bot RV10 (производитель — V-bot);
DC 06 (производитель — Dyson);
Роботы — газонокосилки;
RoboMower (производитель — Friendly Robotics).
Roomba — роботизированный пылесос, разработанный и продаваемый iRobot. Он представляет роботизированное устройство для уборки квартиры. Roomba был впервые представлен в 2002 году, а обновления и новые модификации выпускались в 2003, 2004, 2005 и 2006. По состоянию на май 2007 года, было продано более 3 миллионов таких пылесосов. Робот Roomba показан на рисунке 2.
Рисунок 2 — Робот-пылесос производства фирмы iRobot
Устройство представляет собой диск тринадцати дюймов (34 см) в диаметре и менее 4 дюймов (9 см) в высоту. Большой контактный сенсор установлен в передней части устройства, с инфракрасным датчиком по центру в верхней передней части. На устройстве в верхней части установлена ручка. В зависимости от модели, он поставляется с одним или двумя инфракрасными датчиками «Виртуальная стена».
Первое и второе поколение модели нуждалось в указании вручную размеров комнаты по площади, для этого использовалось три кнопки на корпусе: (маленькая, средняя, и большая), но в этом отпала необходимость с выходом третьего поколения устройства.
Для работы Roomba использует внутренние аккумуляторы и нуждается в регулярной подзарядке от настенного модуля, хотя новые модели третьего поколения имеют возможность поиска зарядного устройства, связываясь с ним через инфракрасный датчик. Зарядка от электрической сети занимает около трех часов. Зарядка устройств первого и второго поколения длилась 12 часов.
Управление устройством третьего поколения осуществляет владелец путем нажатия кнопки «Включение», разместив предварительно устройство там, где он хотел бы произвести уборку. Затем необходимо выбрать режим работы устройства, нажав кнопку «Чистка», «Точечная уборка» или «Полная уборка» (при наличии). Устройства третьего поколения позволяют выполнять уборку автоматически, с использованием планировщика задач. Это может быть полезно для тех людей, которые хотят запланировать уборку на то время, когда они находятся на работе.
Когда кнопка «Чистка», «Точечная чистка» или «Полная чистка» нажата, Roomba издает мелодичный сигнал, а потом приступает к работе. Датчик на бампере позволяет регистрировать удары о стены и мебель, «виртуальную стену» и ограничить с помощью инфракрасного датчика те участки, где должна совершаться уборка. Специальная программа «Виртуальная стена» может быть запрограммирована заранее, с тем, чтобы включиться в момент автоматического включения устройства по планировщику задач. Четыре инфракрасных сенсора в нижней части устройства не позволяют ему упасть с лестницы. Модели третьего поколения умеют обнаруживать скопления грязи, и уделяют таким местам больше внимания.
По окончании уборки Roomba издает мелодический сигнал. Если зарядное устройство не обнаружено, Roomba выполнит его поиск. Владелец должен освободить его пылесборник в мусорную корзину. За исключением первого поколения Roomba, инфракрасный пульт позволяет осуществлять настройку устройства дистанционно, что может быть полезно для людей с ограниченными физическими возможностями. Дистанционное управление нельзя использовать на линии «виртуальных стен» или у модулей зарядки устройства из-за создаваемых ими помех.
Roomba имеет небольшую высоту. Он достаточно низкий, чтобы пройти под кроватью или другой мебелью. Если он поймет, что застрял, он перестанет двигаться, и начнет подавать звуковые сигналы, помогающие владельцу его обнаружить.
1.2.4 Роботы в ближайшем будущем
General Motors (GM) и Honda — это две крупнейших компании-производителя робототехники. GM установила первого промышленного робота около 50 лет назад и продолжает, быть мировым лидером внедряющим роботов в производство. Робот-космонавт Robonaut представлен на рисунке 3.
Рисунок 3 — Робот-космонавт Robonaut 2 от General Motors
Honda также имеет долгую историю по использованию роботов в производстве, но в последние годы Honda привлекла внимание всего мира к своему андроиду Asimo. Довольно популярный документальный фильм, созданный компанией Honda — «Жизнь с Роботами» («The Living with Robots»). Он делает понятным, что Honda активно работает над улучшением робота Asimo с 1986 года, развивая сферу домашних роботов.
А компания GM недавно анонсировала робота-космонавта Robonaut 2 при сотрудничестве с NASA. Понятно, что эту компанию больше интересует использование роботов в производстве.
Пока GM развивает сферу роботов, помогающих в сборке автомобилей, Honda сфокусировалась на развитии роботов, помогающих по дому. Две различные компании, два различных взгляда на будущее робототехники. Или взгляды где-то совпадают?
Успехи роботов ASIMO и Robonaut 2 позволяют в общем судить о том, что в будущем роботы будут работать с человеком рука об руку, будь-то дома, на производстве, на складе, в больницах или еще где-то, но мы будем чаще контактировать с роботами.
Поэтому, название фильма от Honda это то, что нас ожидает. Но нам еще необходимо привыкнуть к роботам. В США, да и в России роботы часто имеют негативную окраску, после голливудских фильмов про «терминаторов» и других «плохих» роботов. В других странах, таких как Япония и Корея, на роботов смотрят более снисходительно.
Но даже в странах, где более терпимо относятся к роботам, уже сейчас задумываются над тем, как они будут выглядеть в будущем. Будут ли они неотличимы от человека? Будут ли они иметь различные характеры и лица? И с какими роботами люди будут чувствовать себя более комфортно?
ASIMO и Robonaut 2 — две прекрасные разработки, которые стоят «на передовой» робототехники будущего. Наверное, скоро мы сможем в этом убедиться!
Рисунок 4 — робот ASIMO компании Honda
1.3 Обзор продукции компании iRobot
Одним из ведущих мировых производителей мобильных роботов является компания iRobot, которая была основана в 1990 г. на базе Технологического Института Штата Массачусетс. Свой путь компания iRobot начала с разработки роботов специального назначения. Не секрет, что военное ведомство США с удовольствием пользуется технологическими разработками IRobot в области создания автономных движущихся устройств, способных проходить через сложные и динамичные реальные ситуации. Компания также принимает участие в разработке малых беспилотных наземных транспортных средств, которые оснащаются оглушающим оружием, позволяющим временно вывести из строя противника.
Cотрудничество с военным ведомством позволило IRobot накопить существенный опыт в разработке робототехники и создать совершенно уникальные технологии. В итоге, обладая такой серьезной научной базой, компания решила применить свои знания для решения различных потребностей и нужд обычных людей. Роботы пылесосы IRobot, которые стали весьма популярны и купить автоматические робот пылесосы IRobot сейчас можно практически по всему миру.
1.3.1 Роботы специального назначения Американские военные проводят сейчас испытания первого робота, созданного для поиска бомб, называется он Fido. На данный момент он успешно прошел всевозможные тес-ты, фирма iRobot Corporation уже получила заказ на производство первых ста роботов. Робот Fido представлен на рисунке 5.
Сейчас на вооружении США и их союзников в Ираке и Афганистане около 5000 роботов. Эти умные машины применяются, прежде всего, при обысках зданий, хотя для обнаружения мин и бомб их также используют.
Начиная с 2006 года и вплоть до 2012;го армия США намерена заказать роботов на сумму свыше 1,7 миллиарда долларов, или 21 миллиарда крон, заявил CNN руководитель финансируемого Конгрессом США нацио-нального центра оборонного роботостроения Билл Томасмейер.
Самое главное у Fido — это его «нос», сенсор, способный распознавать взрывчатые вещества. Обнаружив нечто взрывоопасное, робот передает сообщение оператору, приложив к нему записанный на видеокамеру кадр. Таким образом, управляющий роботом человек может оставаться на безопасном расстоянии и в случае взрыва пострадает только лишь сам робот.
Операторы роботов, используемых в настоящее время, при обнаружении чего-то подозрительного должны сами с помощью сенсора обследовать подозрительный предмет.
Установки типа Fido способны передвигаться только по относительно ровной поверхности и довольно легко ломаются (рисунок 5).
Рисунок 5 -Робот Fido корпорации iRobot
Новая модель Negotiator от компании iRobot разработана для организаций, занимающихся охраной общественного порядка, но не желающих тратить шестизначные суммы на более дорогостоящих роботов. Negotiator, представленный на рисунке 6, изготовлен как разведывательное средство для полиции, пожарных команд и прочих служб безопасности; он оснащен дополнительной системой «civil response kit», расширяющей его восприятие визуального ряда, а также позволяющей проводить обнаружение объектов, основываясь на данных химического экспресс-анализа.
Рисунок 6 -Робот Negotitator
1.3.2 Классификация роботов-пылесосов
Роботы-пылесосы компании iRobot разделяются на 4 типа, такие как:
роботы для сухой уборки;
роботы для влажной уборки;
уборки бассейнов;
программируемые роботы.
Роботы для сухой уборки
Для сухой уборки предназначены роботы серии Roomba, примеры на рисунке 7. Наиболее достойные представители этой линейки — модели Roomba 410 Red, Roomba 530, Roomba 560 и Roomba 570.
Red410- маленький симпатичный робот сразу привлекает внимание благодаря оригинальному цветовому решению. Главная особенность в том, что в комплект входят только самые необходимые аксессуары (виртуальная стена, зарядное устройство, аккумулятор, инструкция).
В Roomba 530 улучшена навигация, предусмотрена специальная щетка-вертолет для чистки углов и плинтусов. Имеется несколько очень приятных функций:
при разрядке батареи или завершении уборки пылесос самостоятельно
возвращается к напольной базе для зарядки;
специальный датчик не даст «зажевать» длинный ворс (например, кисточки ковра);
в комплект включены: 2 виртуальные стены, что облегчит Вам ограничение перемещений робота;
благодаря специальным улучшенным датчикам препятствий робот не толкает мебель и препятствия, а мягко обходит их.
Время зарядки сокращено с 7 часов (в модели 410) до 3 часов. Увеличена площадь обрабатываемой поверхности.
Модель Roomba 560 обрабатывает рекордную площадь — 4 комнаты за один цикл уборки. Используются виртуальные стены-маячки: поставив их в дверной проем, они не дают роботу покинуть комнату в течение 40 минут (времени, необходимого для уборки комнаты среднего размера), а после 40 минут виртуальная стена пропускает робота, который идет убираться в следующую комнату. И так до конца уборки. После завершения уборки виртуальные стены указывают роботу точный путь к напольной базе, не давая ему потеряться.
Рисунок 7 — Роботы серии Roomba
Роботы для влажной уборки Для влажной уборки компанией iRobot специально разработан ряд моделей Scooba, показанных на рисунке 8. Синтез передовых технологий производства моющих пылесосов с традиционным качеством и надежностью роботов этой компании позволил забыть о таком неприятном деле, как мытье полов.
Scooba 350
За один заряд батареи робот способен убрать 50 квадратных метров (2−3 комнаты среднего размера)! Но после того как робот вымоет 25 кв.м., он попросит поменять ему воду, издав специальный сигнал. После смены воды уборка будет продолжена без подзарядки батареи.
Scooba 380
Особо мощная батарея позволяет ему вымыть 75 квадратных метров без подзарядки! (после каждых убранных 25 кв. м. робот попросит поменять воду в резервуаре). С помощью базы для подзарядки можно заряжать дополнительную батарею, если необходимо убрать очень большую площадь.
Все модели используют четырехступенчатую систему чистки пола (подготовка поверхности, мытье, очистка особо сложных загрязнений и сбор грязной воды в специальный резервуар). Робот использует различные методы уборки (спиральную, уборку вдоль стен и пересечение комнаты). Каждая область пола будет вымыта несколько раз, чтобы гарантировать качество уборки. Роботы серии Sccooba представлены на рисунке 8.
Рисунок 8 — Роботы серии Sccooba
Роботы для чистки бассейнов
Для любого владельца бассейна уход за водой очень важен. Чтобы купание приносило пользу, необходимо тщательно следить за качеством воды в бассейне и поддерживать все необходимые условия ее содержания. Своевременная профилактика значительно увеличивает срок безотказной работы всего оборудования бассейна. Но, к сожалению, уход за бассейном — достаточно неприятная процедура, занимающая много времени и сил. IRobot предлагает гениальное решение — робот-чистильщик бассейнов Verro 500, показанный на рисунке 9.
Рисунок 9 — Роботы Verro 500
Еще одной новинкой от iRobot, пока экспериментальной, является домашний робот — «коммуникатор» ConnectR, представленный на рисунке 10. С помощью встроенных микрофона, динамика и видеокамеры он позволяет хозяину дистанционно общаться с домашними, например, из соседней комнаты, сидя при этом за компьютером. Сигналы ConnectR передает по беспроводной сети .
Рисунок 10 — Роботы Verro 500
Программируемый робот iRobot Create
Компания iRobot в рамках прошедшей в Лас-Вегасе выставки Consumer Electronics Show (CES) в 2007 представила свою очередную разработку — программируемого робота iRobot Create, представленного на рисунке 11.
Рисунок 11 — Робот iRobot Create
Наиболее интересным роботом из серии бытовых является iRobot Create, который ориентирован на студентов технических университетов, профессиональных разработчиков роботов, а также энтузиастов. Робот построен на базе той же платформы, которая положена в основу роботов-пылесосов. Для iRobot Create подходят аккумуляторы, блок дистанционного управления и другие аксессуары от Roomba. Робот iRobot Create также оснащен набором интерфейсов для подключения дополнительных внешних устройств, например, различных сенсоров или камер.
iRobot Create является технически-сложным с устройством. Задача управления, которым требует необходимых навыков и знаний. В процессе движения робота осуществляется контроль датчиками движения. На роботе установлены несколько видов датчиков:
датчики контроля горизонтальной поверхности, расположенные под бампером;
датчики контроля вертикальной поверхности, расположенные на нем;
инфракрасный датчик, для поиска базы.
У робота два ведущих колеса, которые имеют каждый свой двигатель, соответственно могут работать независимо друг от друга, что делает робот еще интересный для изучения.
iRobot Create можно перепрограммировать под любое устанавливаемое оборудование, что способствует охвату достаточно большого спектра для изучения робототехники. Принципы управления и поведения мобильным роботом практически ничем не отличаются от других более мощных и дорогих роботов, применяемых в промышленности. Соответственно он вполне может служить тренажером, для получения знаний и принципов работы мобильного робота.
1.4 Аналитический обзор программных средств по созданию базы данных
Для реализации БД необходимо выбрать СУБД. Подразумевается, что база данных будет хранить большой объем информации (информация о командах робота и информацию о пользователях включающую файлы мультимедиа (изображения)). Был проанализирован рынок и принято решение о выборе наиболее подходящей и простой в использовании СУБД. Выбирать пришлось из таких СУБД как:
Oracle
СУБД Oracle, выпускаемая одноимённой компанией (Oracle Corporation) с 1977 года к настоящему моменту является одной из наиболее часто применяемых СУБД в крупном бизнесе, на транспорте и в научных разработках. Она обладает огромными возможностями, среди которых, например, способность работы с различными типами клиентов — от PDA (Personal Digital Assistant) и других мобильных устройств и до больших промышленных мэйнфреймов. Ранние версии этой СУБД были предназначены только для мэйнфреймов, а в качестве рабочих мест использовались «неинтеллектуальные» терминалы. Однако со временем появились версии Oracle, предназначенные для использования в архитектуре «клиент-сервер» (первой такой версией была Oracle 5, выпущенная в 1985 году). Первоначально эти версии были предназначены для различных серверных платформ — различных версий UNIX, VMS и др.
Позже были выпущены версии сервера Oracle для Novell NetWare. Первые версии этого сервера для персональных компьютеров появились в середине 90-х (Personal Oracle 7 for Windows 3.1, Personal Oracle 7 for Windows 95, Personal Oracle Lite, Oracle Workgroup Server 7 for Windows NT). До появления этих версий персональные компьютеры могли использоваться исключительно в качестве клиентских рабочих станций — в состав Oracle для серверных платформ обычно входила клиентская часть для DOS. Высокую популярность этой СУБД обеспечивают высокая производительность, гибкость настроек, а также большое число уже успешно внедренных и эффективно работающих приложений.
Среди достоинств данного решения ещё можно выделить высокую степень автоматизации многих ручных процессов настройки, что в какой-то мере облегчает процесс построения защищенной базы данных. Но, с другой стороны, подобная автоматизация уменьшает гибкость и создаёт потенциальную возможность для атаки БД злоумышленником в случае неправильной конфигурации СУБД. Также к преимуществам можно отнести высокую надёжность и широкое распространение Oracle DB — её применяют в крупных компаниях (Внешторгбанк, Dales Pharmaceuticals, Bank of America, British Airlines).
Среди недостатков этой СУБД обычно выделяют высокую стоимость решений на её основе и большие требования, предъявляемые к информационной системе, в рамках которой будет установлена СУБД Oracle. Это сильно ограничивает возможности по установке СУБД в небольших локальных сетях и на отдельно стоящих рабочих станциях.
В то же время крупные компании часто предпочитают именно СУБД Oracle для своих серверов баз данных из соображений производительности и безопасности.
Microsoft Office Access
Microsoft Office Access — реляционная СУБД корпорации Microsoft. Имеет широкий спектр функций, включая связанные запросы, связь с внешними таблицами и базами данных. Благодаря встроенному языку VBA, в самом Access можно писать приложения, работающие с базами данных.
Основные компоненты MS Access:
построитель таблиц;
построитель экранных форм;
построитель SQL-запросов (язык SQL в MS Access не соответствует стандарту ANSI);
построитель отчётов, выводимых на печать.
Они могут вызывать скрипты на языке VBA, поэтому MS Access позволяет разрабатывать приложения и БД практически «с нуля» или написать оболочку для внешней БД.
Microsoft Jet Database Engine, которая используется в качестве движка базы данных MS Access является файл-серверной СУБД и потому применима лишь к приложениям, работающим с небольшими объёмами данных и при небольшом числе пользователей, одновременно работающих с этим данными. Непосредственно в Access отсутствует ряд механизмов, необходимых в многопользовательских базах данных, таких, например, как триггеры.
Microsoft Access является проприетарным программным обеспечением, то есть для его использования необходимо приобрести лицензию. Однако для использования готовых приложений, созданных с помощью Access, лицензия не требуется. Для работы такого приложения необходима runtime-версия Access, которая распространяется бесплатно.
Корпорация Microsoft распространяет полнофункциональную версию Access как отдельно, так и совместно с другими приложениями (Word, Excel и др.) в составе пакетов Microsoft Office Professional, Microsoft Office Professional Plus и Microsoft Office Enterprise.
1.5 Аналитический обзор программных средств по созданию базы данных и интерфейсов пользователей При создании интерфейса был выбор между распространенными средами программирования, такими как:
MS Visual Studio C++ 2010;
MS Visual Studio C# 2010;
Java Development Kit.
Java Development Kit
Java Development Kit — бесплатно распространяемый компанией Oracle Corporation комплект разработчика приложений на языке Java, включающий в себя компилятор Java (javac), стандартные библиотеки классов Java, примеры, документацию, различные утилиты и исполнительную систему Java (JRE). В состав JDK не входит интегрированная среда разработки на Java, поэтому разработчик, использующий только JDK, вынужден использовать внешний текстовый редактор и компилировать свои программы, используя утилиты командной строки.
Все современные интегрированные среды разработки приложений на Java, такие, как JDeveloper, NetBeans IDE, Sun Java Studio Creator, IntelliJ IDEA, Borland JBuilder, Eclipse, опираются на сервисы, предоставляемые JDK. Большинство из них для компиляции Java-программ используют компилятор из комплекта JDK. Поэтому эти среды разработки либо включают в комплект поставки одну из версий JDK, либо требуют для своей работы предварительной инсталляции JDK на машине разработчика.
Доступны полные исходные тексты JDK, включая исходные тексты самого Java-компилятора javac.
Microsoft Visual Studio
Microsoft Visual Studio — линейка продуктов компании Microsoft, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств. Данные продукты позволяют разрабатывать как консольные приложения, так и приложения с графическим интерфейсом, в том числе с поддержкой технологии Windows Forms, а также веб-сайты, веб-приложения, веб-службы как в родном, так и вуправляемом кодах для всех платформ, поддерживаемых Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, Xbox, Windows Phone .NET Compact Framework и Microsoft Silverlight.
Visual Studio включает в себя редактор исходного кода с поддержкой технологии IntelliSense и возможностью простейшего рефакторинга кода. Встроенный отладчик может работать как отладчик уровня исходного кода, так и как отладчик машинного уровня. Остальные встраиваемые инструменты включают в себя редактор форм для упрощения создания графического интерфейса приложения, веб-редактор, дизайнер классов и дизайнерсхемы базы данных. Visual Studio позволяет создавать и подключать сторонние дополнения (плагины) для расширения функциональности практически на каждом уровне, включая добавление поддержки системконтроля версий исходного кода (как например, Subversion и Visual SourceSafe), добавление новых наборов инструментов (например, для редактирования и визуального проектирования кода на предметно-ориентированных языках программирования или инструментов для прочих аспектов процесса разработки программного обеспечения (например, клиент Team Explorer для работы с Team Foundation Server).
Visual Studio 2010 — выпущена 12 апреля 2010 года вместе с .NET Framework 4.0. Visual Studio включает поддержку языков C# 4.0 и Visual Basic .NET 10.0, а также языка F#, отсутствовавшего в предыдущих версиях.
1.6 Open Interface и классификация команд
Открытый интерфейс робота состоит из аппаратного и программного обеспечения, с помощью которого можно контролировать управление робота. Аппаратное обеспечение это разъем 7 pin Mini-Din и DB-25 в грузовом отсеке для подключения навесного оборудования и электроники. Интерфейс программного обеспечения позволяет управлять роботом, его поведением через ряд программ, которые будут рассмотрены ниже.
По умолчанию подразумевается, что скорость передачи 57 600 бод, однако если используются микроконтроллеры, которые не поддерживают 57 600 бод, то есть несколько методов изменить скорость на 19 200.
1.6.1 Режимы робота У робота Create есть три операционных режима: пассивный, безопасный, и полный. Робот может вступить в каждый из режимов с помощью специальных программ, а также может переключиться из одного в другой.
Пассивный режим После посылки команды «Старт» или любой команды демонстрационного шаблона (Охват, Покрытие, Покрытие, Покрытие и база), робот вступает в пассивный режим. Когда iRobot Create находится в пассивном режиме, он может выполнять лишь команды считывания датчиков и демонстрационных шаблонов. Любые другие команды (движение, мелодии…) роботом не воспринимаются. Чтобы использовать другие команды, необходимо перейти от пассивного режима в полный или безопасный.
Безопасный Способ
В безопасном режиме осуществляется полный контроль над роботом, за исключением следующих, связанных с безопасностью, условий:
обнаружение снижения уровня колеса (на любом колесе);
батарея недостаточно заряжена.
Если одно из вышеупомянутых условий выполняется, робот останавливается, все двигатели переходят в пассивный режим.
Полный режим
В полном режиме осуществляется полный контроль над роботом без выполнения условий, связанных с безопасностью. В этом режиме нет контроля снижения колеса.
1.6.2 Обзор команд Любая из команд открытого интерфейса начинается с одного байта, который занимает код команды.
Команда СТАРТА Имеет код: 128, содержит 0 байтов данных. Эта команда начинает работу робота. Всегда необходимо посылать «Старт» прежде, чем запустить любую другую команду. Для этого необходимо записать последовательность:. Данная команда доступна в режимах: пассивный, безопасный, или полный.
Команды выбора режима Имеет код: 131, содержит 0 байтов данных. Эта команда переводит робот в безопасный режим, позволяя пользователю контролировать робот. Для этого необходимо записать последовательность:. Данная команда доступна в режимах: пассивный, безопасный, или полный.
Демонстрационные Команды
Имеет код: 136, содержит 1 байт данных. Команда запускает выбранный демонстрационный пример. Демонстрационные примеры приведены в таблице 1. Для запуска команды необходимо послать последовательность: [№ Демопримера]. Данная команда доступна в режимах: пассивный, безопасный, или полный. Возможны демо режимы с номерами от -1 до 9.
Таблица 1 — Демонстрационные шаблоны
Шаблон | Описание | № Шаблона | |
Охват | iRobot Create охватывает всю комнату, используя сочетание поведений, таких как отскакивание от стен, движение вдоль стен и спиралевидное движение. | ||
Охват и остановка | Идентичен шаблону охвата за одним исключением: если iRobot Create реагирует на инфракрасные сигналы своей базы*, он использует их, чтобы продвинуться к своей базе и остановиться. | ||
Охват участка | iRobot Create передвигается по спирали. | ||
Мышь | iRobot Create пытается двигаться вдоль стен комнаты, используя свой сенсор стены и бампер. | ||
Восьмерка | Траектория движения в виде цифры 8 | ||
Столкновение | Если iRobot Create во время движения сталкивается с препятствием, он движется от препятствия. | ||
Дом | iRobot Create движется вперёд к виртуальной стене. Когда он касается виртуальной стены или другого препятствия, он останавливается. | ||
Указатель | Идентичен шаблону «Дом», за исключением того, что iRobot Create движется от одной виртуальной стены к другой до столкновения. | ||
Команды привода Следующие команды управляют приводами iRobot Create: колесами, микрофоном.
Движение
Имеет код: 137, содержит 4 байта данных. Команда управляет колесами двигателя Create’s. Занимает 4 байта данных. Первые два байта определяют скорость колес двигателя в миллиметрах в секунду (мм/с). Следующие два байта определяют радиус в миллиметрах, по которому будет двигаться робот. Для запуска команды необходимо записать последовательность: [Скорость][][Радиус] []. Данная команда доступна в режимах: безопасный или полный. Возможная скорость вращения двигателя 1 возможно в диапазоне от -500 до 500 мм/с, а радиус движения двигателя 2 возможен в пределах от -2000 до 2000 мм.
Значения переводятся из десятичной системы в шестнадцатеричную систему, затем полученное число делится на два числа по два разряда и переводится обратно. Рассмотрим пример:
=
= - 1й байт
= - 2й байт Пример сформированной команды:
Движение назад со скоростью -200 mm/s, поворачиваясь с радиусом 500 мм:
[137] [56] [244]
Более подробный список доступных команд и их описание можно найти в инструкции по эксплуатации мобильным роботом iRobot Create.
1.7 Выводы по разделу Исходя из всей представленной в аналитическом обзоре информации можно сделать вывод о том, что разработка комплекса для формирования управляющих программ мобильного робота является весьма полезной и актуальной на сегодняшний день работой.
Для создания интерфейса была выбрана среда MS Visual C# 2010, т.к. она входит в состав пакета MS Visual Studio, который в свою очередь является наиболее популярным и надежным инструментом для разработки Windows приложений, а так же дает возможность более удобного подключения СУБД Access.
Проанализировав имеющиеся варианты, была выбрана СУБД MS Access, т.к. подразумевается, что автоматизированная система будет функционировать в среде операционной системы Windows, при этом парк машин на которых будет работать автоматизированная система не обладает высокими техническими характеристиками, ввиду данного фактора СУБД Oracle не подходит.
2. ЦЕЛЬ И ЗАДАЧИ ПРОЕКТА Целью работы является разработка программно-аппаратного комплекса для формирования управляющих программ мобильного робота.
Для достижения поставленной цели необходимо было решить следующие задачи:
разработать структуру программного комплекса;
разработать варианты задания траекторий движения мобильного робота;
разработать базу данных управляющих команд мобильного робота;
разработать базу данных пользователей УТК;
разработать программный модуль для формирования скриптов;
провести тестирование программного комплекса для формирования управляющих программ на примере мобильного робота iRobot Create.
3 .ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО КОМПЛЕКСА
3.1 Постановка задачи Задача проектирования заключается в следующем:
Для заданных параметров, сгенерировать такую управляющую программу, которая предоставляла бы возможность корректного представления проектного решения.
Для этого пользователю достаточно только выбрать команду управления роботом и параметры, и системой будет сформирована последовательность, с помощью которой через программу можно управлять роботом.
3.2 Формализованное описание Формализованное описание робота как объекта исследования представлено на рисунке 12.
Рисунок 12 — Формализованное описание объекта автоматизации
X{Pi} - вектор входных параметров системы:
Р — сформированная программа (скрипт),
i — номер программы.
Y{ D, Pa, V, T } - вектор выходных параметров:
T — траектория движения;
V — скорость движения робота (мм/сек);
D — направление движения робота;
Pa — параметры траекторий (мм).
3.3 Функциональная структура Функциональная структура представлена на рисунке 13.
Рисунок 13 — Функциональная структура программного комплекса
3.4 Информационное обеспечение Для поставленной цели была разработана база данных скриптов irobot, которая содержит две сущности: COMMAND (описание управляющих программ для мобильного робота), Info (подробное описание команд), описание полей которых представлено в таблице 2 и таблице 3.
Таблица 2 — Поля сущности COMMAND
Название поля | Тип поля | Описание поля | |
id_comm | INT (10) Unsigned | Идентификационный номер команды | |
CountByteData | Char (30) | Количество байт занимаемое командной | |
Code | Char (255) | Код | |
Таблица 3 — Поля сущности Info
Название поля | Тип поля | Описание поля | |
Description | INT (10) Unsigned | Описание команды | |
Id_comm | Char (30) | Идентификационный номер команды | |
Схема базы данных команд представлена на рисунке 14.
Так же была разработана база данных user, которая содержит 7 сущностей: Contact, Info, user_login, addtitional_user_rights, comparison_group_user, group_user, HelpText, описание представлено в таблице 4 и таблице 5.
Таблица 4 — Сущности и их атрибуты
Сущность | Атрибут | |
Команды | ID_команды | |
Количество_байт_команды | ||
Код | ||
Информация | ID_команды | |
Описание | ||
Таблица 5 — Сущности и их атрибуты
Сущность | Атрибут | |
Данные_для_входа | ID_пользователя | |
Логин | ||
Пароль | ||
Контактная_информация | ID_пользователя | |
Адрес_почты | ||
Мобильный_телефон | ||
Рабочий_телефон | ||
Информация | Фамилия | |
Имя | ||
Отчество | ||
Дата_рождения | ||
Пол | ||
ID_пользователя | ||
Фотография | ||
Схема базы данных пользователей представлена на рисунке 15.
Рисунок 15 — Схема базы данных пользователей
3.5 Математическое обеспечение Прежде чем запустить команды робота, необходимо их предварительно создать и сохранить в виде скрипта, после чего записать их. Алгоритм создания скрипта изображен на рисунке 16.
Рисунок 16 — Алгоритм создания скрипта
3.6 Программное обеспечение Структура системного программного обеспечения разрабатываемого программного комплекса представлена на рисунке 17.
Рисунок 17 — структура программного обеспечения
3.7 Лингвистическое обеспечение В состав лингвистического обеспечения входят интерфейсы пользователя и администратора. UML — диаграммы прецедентов использования представлены на рисунке 18 и рисунке 19.
Рисунок 18 — Диаграмма прецедентов исследователя Рисунок 19 — Диаграмма прецедентов администратора Администратор имеет возможность создавать, редактировать, удалять учетные записи, редактировать базу данных команд, настраивать программный комплекс (пути к базам данных).
Пользователи могут просматривать и редактировать личные данные, формировать скрипт для управления мобильным роботом IRobot Create, просматривать траекторию движения модели робота в графическом виде, добавлять в скрипт и создавать шаблоны команд движения.
3.8 Политика безопасности Есть множество способов защитить данные. В разработанном программном комплексе осуществлено 2 режима защиты от несанкционированного доступа:
авторизация;
шифрование паролей.
Все данные хранятся в базе данных. При запуске программы необходимо ввести логин или пароль после чего возможен доступ к созданию скриптов или обучающему материалу.
Для целости паролей и их скрытия был использован метод LSB.
Метод LSB — распространенный метод стеганографии. LSB (Least Significant Bit, наименьший значащий бит) — суть этого метода заключается в замене последних значащих битов в контейнере (изображения, аудио или видеозаписи) на биты скрываемого сообщения. Разница между пустым и заполненным контейнерами должна быть не ощутима для органов восприятия человека.
3.9 Тестовый пример
Тестирование программного комплекса было произведено посредством введения параметров движения и просмотра управляющей программы на выходе из программного комплекса. Заметим, что далее все параметры команд мобильного робота будут указаны в системе единиц самого робота.
3.9.1 Тест № 1
Для первого теста была выбрана простая траектория — ехать вперёд 500 мм со скоростью 100 мм/с и остановиться (рисунок 20).
Рисунок 20 — Тестирование программного комплекса. Первый вариант задания траектории Получившийся скрипт 1 — рисунок 21.
Рисунок 21 — Скрипт 1
Разберём получившуюся программу:
Код: 137 Байт Данных: 4
Команда управляет колесами двигателя Create’s. Занимает 4 байта данных. Первые два байта определяют скорость колес двигателя в миллиметрах в секунду (мм/с). Следующие два байта определяют радиус в миллиметрах, по которому будет двигаться робот.
Значения переводятся из десятичной системы в шестнадцатеричную систему, затем полученное число делится на два числа по два разряда и переводится обратно.
Входные данные полностью совпадают со скриптом на выходе из программного комплекса.
3.9.2 Тест № 2
Проведём ещё один тест: Выберем команду «зажигания» светодиодов. Попробуем зажечь красный светодиод с максимальной интенсивностью (рисунок 22).
Рисунок 22 — Тестирование программного комплекса. Задание цвета светодиода Получившийся скрипт — рисунок 23.
Рисунок 23 — Скрипт 2
Команда [138][8][0][255] означает зажечь светодиод красного цвета с максимальной интенсивностью.
Правильность полученных скриптов подтверждена.
3.9.3 Вывод по проведённому тестированию Как видно из двух проведённых тестов — робот движется непосредственно по заданной пользователем траектории, без каких-либо ошибок или отклонений и производит действия, которые указаны пользователем.
3.10 Выводы по разделу Был разработан и протестирован программный комплекс для управления и формирования управляющих команд мобильным роботом iRobot Create. Тестовое задание было пройдено успешно, что подтверждено в тестовых разделах.
4. ХАРАКТЕРИСТИКА ПРОГРАММНОГО И АППРАТНОГО ОБЕСПЕЧЕНИЯ Таблица 6 показывает характеристики разработанного программного обеспечения.
Таблица 6 — Характеристика разработанного программного обеспечения
Объем исполняемого файла | 4,8 Мб | |
Формат системных файлов | XML 1.0 | |
Количество входных переменных | ||
Количество выходных переменных | ||
Количество внутренних переменных | 20+ | |
Количество классов | ||
Количество методов | 30+ | |
Размер файла БД | 3 Мб | |
Количество таблиц в БД | ||
Количество записей | ||
Типы данных | int, Image, string, char, wchar, double, RegistryKey, Stream, byte, OleDbDataReader, OleDbConnection, bool, OleDbDataAdapter, DataTable, MemoryStream, DateTime, String | |
Отношения | 1:1 и 1: N | |
Максимальное объем БД (ограничено СУБД) | 1 048 516 Тб | |
Максимальное количество объектов (ограничено СУБД) | 2 147 483 647 | |
Среднее время выполнения запроса | 123мкс | |
ЗАКЛЮЧЕНИЕ
И ПРОЕКТНЫЕ ПРЕДЛОЖЕНИЯ Был разработан программный комплекс, включающий в себя:
Информационное обеспечение, содержащее базу данных. В нее входит информация о пользователях и командах.
Математическое обеспечение, включающее в себя алгоритм создания скриптов для мобильного робота.
Лингвистическое обеспечение, включающее в себя интерфейсы пользователя, администратора.
Программное обеспечение, разработанное на платформе MS Visual Studio2010.
Методическое обеспечение, включающее в себя техническое задание.
Качество и эффективность разработанного программного продукта можно оценить с помощью следующих критериев качества:
Разработанный программный продукт является функционально пригодным, т.к. в настоящий момент использование автоматизированной системы создания скриптов является актуальным.
Разработанный программный продукт корректный, т.к. он удовлетворяет всем, поставленным в техническом задании, требованиям.
Разработанный программный продукт обладает способностью к взаимодействию, т.к. предоставляет возможность обмена данными с программами MS Office.
Разработанный программный продукт имеет защищенность, т.к. защищена информация в базе данных и система от несанкционированного доступа, взлома путем разграничения прав доступа и криптографической защиты.
Система является надежной, т.к. она устойчива к некорректным вводам данных и отсутствию баз данных.
Разработанный программный продукт не предъявляет высоких требований к ресурсам памяти и производительности.
Разработанный программный продукт является практичным, т.к. имеет дружественный, интуитивно понятный интерфейс и нацелен на малоопытного пользователя.
Безопасность системы реализована на следующих уровнях:
защита данных хранящихся в базе данных на уровне СУБД;
защита системы от несанкционированного доступа с помощью модуля контроля доступа и парольной защиты, а также разграничения прав доступа пользователей;