Моделирование рабочего пространства мобильного робота
Анализ робототехнических систем. Принципы компьютерного моделирования. Классификация компьютерных моделей по типу математической схемы. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 08.06.2014 |
Размер файла | 2,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Моделирование рабочего пространства мобильного робота
1. Анализ литературы
1.1 Анализ робототехнических систем
компьютерный визуальный робот моделирование
Робототехника - важная и перспективная отрасль промышленности, поскольку при помощи роботов и их комплексов руководители предприятий могут создавать высокоэффективное производство с минимальными издержками и высоким качеством продукции. Для достижения этой задачи они готовы привлекать инвестиционный капитал и вкладывать в их развитие собственные средства предприятия с целью значительно увеличить чистую прибыль от продаж продукции в будущем.
Робототехника наука о процессе разработки автоматизированных технических систем на базе электроники, механики и программирования. Роботостроение развитая отрасль промышленности: несколько тысяч роботов работают на различных предприятиях, робототехнические манипуляторы превратились в неотъемлемую часть подводных исследовательских аппаратов, изучение космического пространства уже не обходиться без использования роботов с высоким уровнем интеллекта.
Предмет робототехники - это создание и применение роботов, других средств робототехники и основанных на них технических систем и комплексов различного назначения. Возникнув на основе кибернетики и механики, робототехника в свою очередь породила новые направления развития и самих этих наук. В кибернетике это связанно прежде всего с интеллектуальным управлением и бионикой как источником новых, заимствованных у живой природы идей, а в механике - с многостепенными механизмами типа манипуляторов.
Робот можно определить как универсальный автомат для осуществления механических действий, подобных тем, которые производит человек, выполняющий физическую работу. При создании первых роботов и вплоть до наших дней образцом для них служат возможности человека. Именно стремление заменить человека на тяжелых и опасных работах породило идею робота, затем первые попытки ее реализации (в средние века) и, наконец, обусловило возникновение и развитие современной робототехники и роботостроения.
На рис. 1.1 показана функциональная схема робота. В общем виде она включает исполнительные системы - манипуляционную (один или несколько манипуляторов) и передвижения (транспортную), информационно-управляющую, сенсорную, дающую информацию о внешней среде и систему связи с оператором, а также с другими взаимодействующими с роботом машинами. Исполнительные системы в свою очередь состоят из манипулятора - это обычно кинематическая цепь, состоящая из подвижных звеньев с угловым или поступательным перемещением, которая заканчивается каким-нибудь рабочим инструментом или захватным устройством. Со временем понятие робот расширилось и под ним часто стали понимать любую автоматическую машину, заменяющую человека и чем-то напоминающую его разумное поведение.
Размещено на http://www.allbest.ru/
Рисунок 1.1 - Функциональная схема робота
Из данного определения робота следует, что - это машина автоматического действия, которая объединяет свойства машин рабочих и информационных, являясь, таким образом, принципиально новым видом машин. В достаточно развитом виде роботы аналогично человеку осуществляют активное силовое и информационное взаимодействие с окружающей средой благодаря этому могут не только обладать искусственным интеллектом, но и совершенствовать его. Правда, пока роботы еще очень далеки по своим интеллектуальным возможностям от человека. При этом от ранее известных видов машин роботы также принципиально отличаются своей универсальностью (многофункциональностью) и гибкостью (быстрым переходом к выполнению новых операций).
В основе универсальности роботов лежит универсальность его рабочих органов, хотя сегодня до универсальности руки человека им еще далеко. Правда, это компенсируется возможностью быстрой смены рабочих органов робота в процессе выполнения операций.
Универсальность роботов предполагает возможность выполнения ими различных целенаправленных действий, которые требуют определенных интеллектуальных способностей. Это открывает широкие возможности использования роботов в качестве как основного технологического оборудования (на сборке, сварке, окраске и т.п.), так и вспомогательного - для замены рабочих, занятых обслуживанием такого оборудования.
Универсальность роботов позволяет автоматизировать принципиально любые операции, выполняемые человеком, а быстрота перестройки на выполнение новых операций при освоении новой продукции или иных изменениях в производстве сохраняет у автоматизируемого с помощью роботов производства ту же гибкость, какую сегодня имеют только производства, обслуживаемые человеком. Роботы потому и появились лишь во второй половине ХХ столетия, что именно сейчас назрела необходимость в таких универсальных и гибких средствах, без которых невозможно осуществить комплексную автоматизацию современного производства с его большой номенклатурой и частой сменяемостью выпускаемой продукции, включая создание гибких автоматизированных производств.
Дальнейшее развитие робототехники привело к расширению сферы ее применения, включая создание с ее помощью новых технических систем, принципиально невозможных при участии или даже присутствии человека.
Помимо роботов для тех же целей широкое применение получили манипуляторы с ручным управлением (копирующие манипуляторы, телеоператоры и т.п.) и с различными вариантами полуавтоматического и автоматизированного управления, а также однопрограммные (не перепрограммируемые) автоматические манипуляторы (автооператоры и механические руки). Эти устройства явились в значительной степени предшественниками роботов. Появились они главным образом для манипулирования объектами, непосредственный контакт с которыми для человека вреден или опасен (радиоактивные вещества, раскаленные болванки и т.п.). Однако, хотя появление роботов существенно сузило сферу их применения, эти простые средства механизации и автоматизации не потеряли своего значения. Все они сегодня вместе с роботами входят в общее понятие средств робототехники.
Как уже было отмечено, объективной причиной возникновения и развития современной робототехники явилась историческая потребность производства в гибкой автоматизации с устранением человека из непосредственного участия в машинном производстве и недостаточность для этой цели традиционных средств автоматизации. Поэтому задачей робототехники наряду с созданием собственно средств робототехники является разработка основанных на них систем и комплексов различного назначения. Системы и комплексы, автоматизированные с помощью роботов, принято называть роботизированными. Роботизированные системы, в которых роботы выполняют основные технологические операции, называются робототехническими.
Как уже отмечалось, наряду с внедрением в действующие производства роботы открывающие широкие перспективы для создания принципиально новых технологических процессов, не связанных с весьма обременительными ограничениями, налагаемыми непосредственным участием в них человека. При этом имеются в виду как действительно очень ограниченные физические возможности человека (по грузоподъемности, быстродействию, точности, повторяемости и т.п.), так и требуемая для него комфортность условий труда (качество атмосферы, отсутствие вредных внешних воздействий и т.д.). Сегодня непосредственное участие человека в технологическом процессе зачастую является серьезным препятствием для дальнейшей интенсификации производства и создания соответствующих новых технологий.
Роботы получили наибольшее распространение в промышленности и, прежде всего, в машиностроении. Предназначенные для этой цели роботы называют промышленными роботами (ПР). Не менее широкие перспективы имеют роботы в горнодобывающей промышленности, металлургии и нефтяной промышленности (обслуживание бурильных установок, монтажные и ремонтные работы), в строительстве (монтажные, отделочные, транспортные работы), в легкой, пищевой промышленности.
Применение роботов не только приносит конкретный технико-экономический эффект, связанный с повышением производства труда, сменности работы оборудования и качества продукции, но и является важным средством решения социальных проблем, позволяя освобождать людей от опасного, тяжелого и монотонного труда [1], [2].
Робот и другие средства робототехники - это типичные динамические объекты, причем работающие в основном в неустановившихся режимах. С точки зрения математического описания и аналитического изучения эти объекты предоставляют большие трудности в силу значительного числа степеней подвижности, нестационарности, нелинейности, и высокого порядка уравнений, описывающих их. Поэтому основными методами изучения роботов являются их компьютерное моделирование и физический эксперимент.
Робот с позиции теории автоматического управления может быть представлен как совокупность объекта управления, которым в данном случае являются исполнительные устройства робота, и устройства управления. Исполнительные устройства в свою очередь состоят из механической системы и приводов [3].
1.2 Основные принципы моделирования
1.2.1 Виды моделирования
При классификации по характеру моделируемой стороны объекта выделяют следующие виды моделей:
? кибернетические или функциональные модели. В них моделируемый объект рассматривается как «черный ящик», внутреннее устройство которого неизвестно. Поведение такого «черного ящика» может описываться математическим уравнением, графиком или таблицей, которые связывают выходные сигналы (реакции) устройства с входными (стимулами). Структура и принципы действия такой модели не имеют ничего общего с исследуемым объектом, но функционирует она похожим образом.
? структурные модели - это модели, структура которых соответствует структуре моделируемого объекта. Примерами являются командно-штабные учения, день самоуправления, модель электронной схемы в Electronics Workbench и т.д.;
? информационные модели, представляющие собой совокупность специальным образом подобранных величин и их конкретных значений, которые характеризуют исследуемый объект. Выделяют вербальные (словесные), табличные, графические и математические информационные модели. Например, информационная модель студента может состоять из оценок за экзамены, контрольные и лабораторные работы. Или информационная модель некоторого производства представляет набор параметров, характеризующих потребности производства, его наиболее существенные характеристики, параметры выпускаемого товара.
По отношению ко времени выделяют:
? статические модели - модели, состояние которых не изменяется с течением времени: макет застройки квартала, модель кузова машины;
? динамические модели представляют собой функционирующие объекты, состояние которых непрерывно изменяется. К ним относятся действующие модели двигателя и генератора, компьютерная модель развития популяции, анимационная модель работы ЭВМ и т.д.
По способу представления состояния системы различают:
? дискретные модели - это автоматы, то есть реальные или воображаемые дискретные устройства с некоторым набором внутренних состояний, преобразующие входные сигналы в выходные в соответствии с заданными правилами;
? непрерывные модели - это модели, в которых протекают непрерывные процессы. Например, использование аналоговой ЭВМ для решения дифференциального уравнения, моделирования радиоактивного распада с помощью конденсатора, разряжающегося через резистор и т.д.
По степени случайности моделируемого процесса выделяют:
? детерминированные модели, которым свойственно переходить из одного состояния в другое в соответствии с жестким алгоритмом, то есть между внутренним состоянием, входными и выходными сигналами имеется однозначное соответствий (модель светофора);
? стохастические модели, функционирующие подобно вероятностным автоматам; сигнал на выходе и состояние в следующий момент времени задается матрицей вероятностей. Например, вероятностная модель ученика, компьютерная модель передачи сообщений по каналу связи с шумом и т.д.
По способу реализации различают:
? абстрактные модели, то есть мысленные модели, существующие только в нашем воображении. Например, структура алгоритма, которая может быть представлена с помощью блок-схемы, функциональная зависимость, дифференциальное уравнение, описывающее некоторый процесс. К абстрактным моделям также можно отнести различные графические модели, схемы, структуры, а также анимации;
? материальные (физические) модели представляют собой неподвижные макеты либо действующие устройства, функционирующие в чем-то подобно исследуемому объекту. Например, модель молекулы из шариков, макет атомной подводной лодки, действующая модель генератора переменного тока, двигателя и т.д.
Реальное моделирование предусматривает построение материальной модели объекта и выполнение с ней серии экспериментов. Например, для изучения движения подводной лодки в воде строят ее уменьшенную копию и моделируют течение с помощью гидродинамической трубы. Нас будут интересовать абстрактные модели, которые в свою очередь подразделяются на вербальные, математические и компьютерные. К вербальным или текстовым моделям относятся последовательности утверждений на естественном или формализованном языке, описывающие объект познания. Математические модели образуют широкий класс знаковых моделей, в которых используются математические действия и операторы. Часто они представляют собой систему алгебраических или дифференциальных уравнений. Компьютерные модели представляют собой алгоритм или компьютерную программу, решающую систему логических, алгебраических или дифференциальных уравнений и имитирующую поведение исследуемой системы. Иногда мысленное моделирование подразделяют на:
? наглядное - предполагает создание воображаемого образа, мысленного макета, соответствующих исследуемому объекту на основе предположений о протекающем процессе, или по аналогии с ним;
? символическое - заключается в создании логического объекта на основе системы специальных символов; подразделяется на языковое (на основе тезауруса основных понятий) и знаковое;
? математическое - состоит в установлении соответствия объекту исследования некоторого математического объекта; подразделяется на аналитическое, имитационное и комбинированное.
Аналитическое моделирование предполагает написание системы из алгебраических, дифференциальных, интегральных, конечно-разностных уравнений и логических условий. Для исследования аналитической модели могут быть использованы аналитический и численный методы. В последнее время численные методы реализуются на ЭВМ, поэтому компьютерные модели можно рассматривать как разновидность математических. Математические модели довольно разнообразны и тоже могут быть классифицированы по разным основаниям.
По степени абстрагирования при описании свойств системы они делятся на мета-, макро- и микромодели. В зависимости от формы представления различают инвариантные, аналитические, алгоритмические и графические модели.
По характеру отображаемых свойств объекта модели классифицируют на структурные, функциональные и технологические.
По способу получения различают теоретические, эмпирические и комбинированные. В зависимости от характера математического аппарата модели бывают линейные и нелинейные, непрерывные и дискретные, детерминированные и вероятностные, статические и динамические.
По способу реализации различают аналоговые, цифровые, гибридные, нейронечеткие модели, которые создаются на основе аналоговых, цифровых, гибридных вычислительных машин и нейросетей. Эффективным способом изучения явлений окружающей действительности является научный эксперимент, состоящий в воспроизведении изучаемого явления природы в управляемых и контролируемых условиях. Однако часто проведение эксперимента невозможно либо требует слишком больших экономических затрат и может привести к нежелательным последствиям. В этом случае исследуемый объект заменяют компьютерной моделью и исследуют ее поведение при различных внешних воздействиях. Повсеместное распространение персональных компьютеров, информационных технологий, создание мощных ЭВМ сделало компьютерное моделирование одним из результативных методов изучения физических, технических, биологических, экономических и иных систем. Часто компьютерные модели проще и удобнее исследовать, они позволяют проводить вычислительные эксперименты, реальная постановка которых затруднена или может дать непредсказуемый результат. Логичность и формализованность компьютерных моделей позволяет выявить основные факторы, определяющие свойства изучаемых объектов, исследовать отклик физической системы на изменения ее параметров и начальных условий.
Компьютерное моделирование требует абстрагирования от конкретной природы явлений, построения сначала качественной, а затем и количественной модели. За этим следует проведение серии вычислительных экспериментов на компьютере, интерпретация результатов, сопоставление результатов моделирования с поведением исследуемого объекта, последующее уточнение модели и т.д. Вычислительный эксперимент фактически является экспериментом над математической моделью исследуемого объекта, проводимого с помощью ЭВМ. Часто он значительно дешевле и доступнее натурного эксперимента, его выполнение требует меньшего времени, он дает более подробную информацию о величинах, характеризующих состояние системы. Сущность компьютерного моделирования системы заключается в создании компьютерной программы (пакета программ), описывающей поведение элементов исследуемой системы в процессе ее функционирования, учитывающей их взаимодействие между собой и внешней средой, и проведении на ЭВМ серии вычислительных экспериментов. Это делается с целью изучения природы и поведения объекта, его оптимизации и структурного развития, прогнозирования новых явлений.
Перечислим требования, которым должна удовлетворять модель исследуемой системы:
? полнота модели, то есть возможность вычисления всех характеристик системы с требуемой точностью и достоверностью;
? гибкость модели, что позволяет воспроизводить и проигрывать различные ситуации и процессы, изменять структуру, алгоритмы и параметры изучаемой системы;
? длительность разработки и реализации, характеризующая временные затраты на создание модели;
? блочность структуры, допускающая добавление, исключение и замену некоторых частей (блоков) модели. Кроме того, информационное обеспечение, программные и технические средства должны позволять модели обмениваться информацией с соответствующей базой данных и обеспечивать эффективную машинную реализацию и удобную работу пользователя.
К основным этапам компьютерного моделирования относятся:
? постановка задачи, описание исследуемой системы и выявление ее компонентов и элементарных актов взаимодействия;
? формализация, то есть создание математической модели, представляющей собой систему уравнений и отражающей сущность исследуемого объекта;
? разработка алгоритма, реализация которого позволит решить поставленную задачу;
? написание программы на конкретном языке программирования;
? планирование и выполнение вычислений на ЭВМ, доработка программы и получение результатов;
? анализ и интерпретация результатов, их сопоставление с эмпирическими данными. Затем все это повторяется на следующем уровне.
Разработка компьютерной модели объекта представляет собой последовательность итераций: сначала на основе имеющейся информации о системе S строится модель M1, проводится серия вычислительных экспериментов, результаты анализируются. При получении новой информации об объекте S учитываются дополнительные факторы, получается модель M2, поведение которой тоже исследуется на ЭВМ. После этого создаются модели M3, M4 и т.д. до тех пор, пока не получится модель, с требуемой точностью соответствующая системе S.
В общем случае поведение исследуемой системы S описывается законом функционирования Y(t) = F (X, V, H, t), где X = (x1, x2,…, xn) - вектор входных воздействий (стимулов), Y = (y1, y2,…, ym) - вектор выходных сигналов (откликов, реакций), V = (u1, u2,…, uk) - вектор воздействий внешней среды, H = (h1, h2,…, hl) - вектор собственных параметров системы. Закон функционирования может иметь вид словесного правила, таблицы, алгоритма, функции, совокупности логических условий и т.д. В случае, когда закон функционирования содержит время, говорят о динамических моделях и системах. Например, разгон и торможение асинхронного двигателя, переходный процесс в цепи, содержащей конденсатор, функционирование вычислительной сети, системы массового обслуживания. Во всех этих случаях состояние системы, а значит и ее модели, изменяется с течением времени. Если поведение системы описывается законом Y = F (X, V, H), не содержащим время t явно, то речь идет о статических моделях и системах, решении стационарных задач и т.д. Приведем несколько примеров: расчет нелинейной цепи постоянного тока, нахождение стационарного распределения температуры в стержне при постоянных температурах его концов, формы упругой пленки, натянутой на каркас, профиля скоростей в установившемся течении вязкой жидкости и т.д. Функционирование системы можно рассматривать как последовательную смену состояний q1 (t), q2 (t), …, qr (t), которым соответствуют некоторые точки в многомерном фазовом пространстве. Множество всех точек A = {a1, a2,…, as}, отвечающих всевозможным состояниям системы, называют пространством состояний объекта (или модели). Каждой реализации процесса соответствует одна фазовая траектория, проходящая через некоторые точки из множества A. Если математическая модель содержит элемент случайности, то получается стохастическая компьютерная модель. В частном случае, когда параметры системы и внешние воздействия однозначно определяют выходные сигналы, говорят о детерминированной модели.
1.2.2 Принципы компьютерного моделирования
Модель - это объект, заменяющий исследуемую систему, и имитирующий ее структуру и поведение. Моделью может являться материальный объект, совокупность особым образом упорядоченных данных, система математических уравнений или компьютерная программа. Под моделированием понимают представление основных характеристик объекта исследования с помощью другой системы (материального объекта, совокупности уравнений, компьютерной программы). Перечислим принципы моделирования:
? Принцип адекватности: Модель должна учитывать наиболее существенные стороны исследуемого объекта и отражать его свойства с приемлемой точностью. Только в этом случае результаты моделирования можно распространить на объект исследования.
? Принцип простоты и экономичности: Модель должна быть достаточно простой для того чтобы ее использование было эффективно и экономически выгодно. Она не должна быть более сложной, чем это требуется для исследователя.
? Принцип информационной достаточности: При полном отсутствии информации об объекте построить модель невозможно. При наличии полной информации моделирование лишено смысла. Существует уровень информационной достаточности, при достижении которого может быть построена модель системы.
? Принцип осуществимости: Создаваемая модель должна обеспечивать достижение поставленной цели исследования за конечное время.
? Принцип множественности и единства моделей: Любая конкретная модель отражает лишь некоторые стороны реальной системы. Для полного исследования необходимо построить ряд моделей, отражающих наиболее существенные стороны исследуемого процесса и имеющих что-то общее. Каждая последующая модель должна дополнять и уточнять предыдущую.
? принцип системности. Исследуемая система представима в виде совокупности взаимодействующих друг с другом подсистем, которые моделируются стандартными математическими методами. При этом свойства системы не являются суммой свойств ее элементов;
? принцип параметризации. Некоторые подсистемы моделируемой системы могут быть охарактеризованы единственным параметром (вектором, матрицей, графиком, формулой).
Модель должна удовлетворять следующим требованиям:
- быть адекватной, то есть отражать наиболее существенные стороны исследуемого объекта с требуемой точностью;
- способствовать решению определенного класса задач;
- быть простой и понятной, основываться на минимальном количестве предположений допущений;
- позволять модифицировать и дополнять себя, переходить к другим данным;
- быть удобной в использовании.
Объект познания исследуется эмпирическими методами (наблюдение, эксперимент), установленные факты являются основой для построения математической модели. Получившаяся система математических уравнений может исследоваться аналитическими методами или с помощью ЭВМ, - в этом случае речь идет о создании компьютерной модели изучаемого явления. Проводится серия вычислительных экспериментов или компьютерных имитаций, и получающиеся результаты сопоставляются с результатами аналитического исследования математической модели и экспериментальными данными. Выводы учитываются для улучшения методики экспериментального изучения объекта исследования, развития математической модели и совершенствования компьютерной модели. Исследование социальных и экономических процессов отличается лишь невозможностью в полной мере использовать экспериментальные методы.
1.2.3 Виды компьютерных моделей
Под компьютерным моделированием в самом широком смысле будем понимать процесс создания и исследования моделей с помощью компьютера. Выделяют следующие виды моделирования:
? физическое моделирование: компьютер - часть экспериментальной установки или тренажера, он воспринимает внешние сигналы, осуществляет соответствующие расчеты и выдает сигналы, управляющие различными манипуляторами. Например, учебная модель самолета, представляющая собой кабину, установленную на соответствующих манипуляторах, соединенных с компьютером, который реагирует на действия пилота и изменяет наклон кабины, показания приборов, вид из иллюминатора и т.д., имитируя полет реального самолета;
? динамическое или численное моделирование, предполагающее численное решение системы алгебраических и дифференциальных уравнений методами вычислительной математики и проведение вычислительного эксперимента при различных параметрах системы, начальных условиях и внешних воздействиях. Используется для моделирования различных физических, биологических, социальных и других явлений: колебания маятника, распространение волны, изменение численности населения, популяции данного вида животных и т.д.;
? имитационное моделирование состоит в создании компьютерной программы (или пакета программ), имитирующей поведение сложной технической, экономической или иной системы на ЭВМ с требуемой точностью. Имитационное моделирование предусматривает формальное описание логики функционирования исследуемой системы с течением времени, которое учитывает существенные взаимодействия ее компонентов и обеспечивает проведение статистических экспериментов. Объектно-ориентированные компьютерные симуляции используются для исследования поведения экономических, биологических, социальных и иных систем, для создания компьютерных игр, так называемого «виртуального мира», обучающих программ и анимаций. Например, модель технологического процесса, аэродрома, некоторой отрасли производства и т.д.;
? статистическое моделирование используется для изучения стохастических систем и состоит в многократном проведении испытаний с последующей статистической обработкой получающихся результатов. Подобные модели позволяют исследовать поведение всевозможных систем массового обслуживания, многопроцессорных систем, информационно-вычислительных сетей, различных динамических систем, на которые воздействуют случайные факторы. Статистические модели применяются при решении вероятностных задач, а также при обработке больших массивов данных (интерполяция, экстраполяция, регрессия, корреляция, расчет параметров распределения и т.д.). Они отличаются от детерминированных моделей, использование которых предполагает численное решение систем алгебраических или дифференциальных уравнений, либо замену изучаемого объекта детерминированным автоматом;
? информационное моделирование заключается в создании информационной модели, то есть совокупности специальным образом организованных данных (знаков, сигналов), отражающих наиболее существенные стороны исследуемого объекта. Различают наглядные, графические, анимационные, текстовые, табличные информационные модели. К ним относятся всевозможные схемы, графы, графики, таблицы, диаграммы, рисунки, анимации, выполненные на ЭВМ, в том числе цифровая карта звездного неба, компьютерная модель земной поверхности и т.д.;
? моделирование знаний предполагает построение системы искусственного интеллекта, в основе которой лежит база знаний некоторой предметной области (части реального мира). Базы знаний состоят из фактов (данных) и правил. Например, компьютерная программа, умеющая играть в шахматы, должна оперировать информацией о «способностях» различных шахматных фигур и «знать» правила игры. К данному виду моделей относят семантические сети, логических модели знаний, экспертные системы, логические игры и т.д. Логические модели используются для представления знаний в экспертных системах, для создания систем искусственного интеллекта, осуществления логического вывода, доказательства теорем, математических преобразований, построения роботов, использования естественного языка для общения с ЭВМ, создания эффекта виртуальной реальности в компьютерных играх и т.д.
Исходя из целей моделирования, компьютерные модели подразделяют на группы:
? дескриптивные модели, используемые для понимания природы исследуемого объекта, выявления наиболее существенных факторов, влияющих на его поведение;
? оптимизационные модели, позволяющие выбрать оптимальный способ управления технической, социально экономической или иной системой (например, космической станцией);
? прогностические модели, помогающие прогнозировать состояние объекта в последующие моменты времени (модель земной атмосферы, позволяющая предсказать погоду);
? учебные модели, применяемые для обучения, тренинга и тестирования учащихся, студентов, будущих специалистов;
? игровые модели, позволяющие создать игровую ситуацию, имитирующую управление армией, государством, предприятием, человеком, самолетом и т.д., либо играющие в шахматы, шашки и другие логические игры.
1.2.4 Классификация компьютерных моделей по типу математической схемы
В теории моделирования систем компьютерные модели подразделяются на численные, имитационные, статистические и логические. При компьютерном моделировании, как правило, используют одну из типовых математических схем: дифференциальные уравнения, детерминированные и вероятностные автоматы, системы массового обслуживания, сети Петри и т.д.
По типу математической схемы различают:
? непрерывно-детеминированные модели, которые используются для моделирования динамических систем и предполагают решение системы дифференциальных уравнений. Математические схемы этого вида называются D-схемами (от англ. dynamic);
? дискретно-детерминированные модели используются для исследования дискретных систем, которые могут находиться в одном из множества внутренних состояний. Они моделируются абстрактным конечным автоматом, задаваемым F-схемой (от англ. finite automata): F =< Q, X, Y, j, y >. Здесь X, Y-множества входных и выходных сигналов, Q-множеством внутренних состояний, j (q, x) - функция переходов, y (q, x) - функция выходов;
? дискретно-стохастические модели предполагают использование схемы вероятностных автоматов, функционирование которых содержит элемент случайности. Они также называются P-схемами (от англ. probabilistic automat). Переходы такого автомата из одного состояния в другое определяется соответствующей матрицей вероятностей;
? непрерывно-стохастические модели как правило применяются для изучения систем массового обслуживания и называются Q-схемами (от англ. queueing system). Для функционирования некоторых экономических, производственных, технических систем присуще случайное появление требований (заявок) на обслуживание и случайное время обслуживания;
? сетевые модели используются для анализа сложных систем, в которых одновременно протекает несколько процессов. В этом случае говорят о сетях Петри и N-схемах (от англ. Petri Nets). Сеть Петри задается четверкой , где B - множество позиций, D - множество переходов, I - входная функция, O - выходная функция. Маркированная N-схема позволяет промоделировать параллельные и конкурирующие процессы в различных системах;
? комбинированные схемы основываются на понятии агрегативной системы и называются A-схемами (от англ. aggregate system). Этот универсальных подход позволяет исследовать всевозможные системы, которые рассматриваются как совокупность взаимосвязанных между собой агрегатов. Каждый агрегат характеризуется векторами состояний, параметров, воздействия внешней среды, входных воздействий (управляющих сигналов), начальных состояний, выходных сигналов, оператором переходов, оператором выходов.
Исследование имитационной модели производится на цифровых и аналоговых вычислительных машинах. Используемая имитационная система включает в себя математическое, программное, информационное, техническое и эргономическое обеспечение. Эффективность имитационного моделирования характеризуется точностью и достоверностью получающихся результатов, стоимостью и временем создания модели и работы с ней, затратами машинных ресурсов (времени вычислений и требуемой памяти). Для оценки эффективности модели необходимо получающиеся результаты сравнить с результатами натурного эксперимента, а также результатами аналитического моделирования.
В некоторых случаях приходится объединять численное решение дифференциальных уравнений и имитацию функционирования той или иной достаточно сложной системы. В этом случае говорят о комбинированном или аналитико-имитационном моделировании. Его основное преимущество состоит в возможности исследования сложных систем, учета дискретных и непрерывных элементов, нелинейности различных характеристик, случайные факторы. Аналитическое моделирование позволяет проанализировать только достаточно простые системы. Одним из эффективных методов исследования имитационных моделей является метод статистических испытаний. Он предусматривает многократное воспроизведение того или иного процесса при различных параметрах, изменяющихся случайным образом по заданному закону. ЭВМ может провести 1000 испытаний и зарегистрировать основные характеристики поведения системы, ее выходные сигналы, а затем определить их математическое ожидание, дисперсию, закон распределения. Недостаток использования машинной реализации имитационной модели состоит в том, что полученное с ее помощью решение имеет частный характер и соответствует конкретным параметрам системы, ее начальному состоянию и внешним воздействиям. Преимущество заключается в возможности исследования сложных систем [4].
1.2.5 Области применения компьютерных моделей
Совершенствование информационных технологий обусловило использование компьютеров практически во всех сферах деятельности человека. Развитие научных теорий предполагает выдвижение основных принципов, построение математической модели объекта познания, получение из нее следствий, которые могут быть сопоставлены с результатами эксперимента. Использование ЭВМ позволяет, исходя из математических уравнений, рассчитать поведение исследуемой системы в тех или иных условиях. Часто это единственный способ получения следствий из математической модели. Например, рассмотрим задачу о движении трех или более частиц, взаимодействующих друг с другом, которая актуальна при исследовании движении планет, астероидов и других небесных тел. В общем случае она сложна и не имеет аналитического решения, и лишь использование метода компьютерного моделирования позволяет рассчитать состояние системы в последующие моменты времени.
Совершенствование вычислительной техники, появление ЭВМ, позволяющей быстро и достаточно точно осуществлять вычисления по заданной программе, ознаменовало качественный скачок на пути развития науки. На первый взгляд кажется, что изобретение вычислительных машин не может непосредственно влиять на процесс познания окружающего мира. Однако это не так: решение современных задач требует создания компьютерных моделей, проведения огромного количества вычислений, что стало возможным лишь после появления электронно-вычислительных машин, способных выполнять миллионы операций в секунду. Существенным является и то, что вычисления производятся автоматически, в соответствии с заданным алгоритмом и не требуют вмешательства человека. Если ЭВМ относится к технической базе проведения вычислительного эксперимента, то ее теоретическую основу составляют прикладная математика, численные методы решения систем уравнений.
Успехи компьютерного моделирования тесно связаны с развитием численных методов, начавшегося с фундаментальных работ Исаака Ньютона, который еще в 17 веке предложил их использовать для приближенного решения алгебраических уравнений. Леонард Эйлер разработал метод решения обыкновенных дифференциальных уравнений. Из современных ученых весомый вклад в развитие компьютерного моделирования сделал академик А.А. Самарский, основоположник методологии вычислительного эксперимента в физике. Именно им была предложена знаменитая триада «модель - алгоритм - программа» и разработана технология компьютерного моделирования, успешно используемая для изучения физических явлений. Одним из первых выдающихся результатов компьютерного эксперимента в физике является открытие в 1968 году температурного токового слоя в плазме, создаваемой в МГД-генераторах (эффект Т-слоя). Оно было выполнено на ЭВМ и позволило предсказать исход реального эксперимента, проведенного через несколько лет. В настоящее время вычислительный эксперимент используется для выполнения исследований в следующих направлениях:
? расчет ядерных реакций;
? решение задач небесной механики, астрономии и космонавтики;
? изучение глобальных явлений на Земле, моделирование погоды, климата, исследование экологических проблем, глобального потепления, последствий ядерного конфликта и т.д.;
? решение задач механики сплошных сред, в частности, гидродинамики;
? компьютерное моделирование различных технологических процессов;
? расчет химических реакций и биологических процессов, развитие химической и биологической технологии;
? социологические исследования, в частности, моделирование выборов, голосования, распространение сведений, изменение общественного мнения, военных действий;
? расчет и прогнозирование демографической ситуации в стране и мире [5].
1.3 Моделирование рабочего пространства робота
Рассмотрим моделирование рабочего пространства мобильного робота, функционирующего в составе гибкой производственной системы (ГПС).
Пусть существует рабочее пространство Р робота Rb, которое обладает такими свойствами: геометрические размеры, объекты рабочей зоны, климатические условия, временные параметры P (D(x, y, z), Obj, Clm, T).
В рабочем пространстве существуют определенные объекты: станки (St), инструмент (Ins), оснастка (Osn), человек (Hum), робот (Rb):
Объекты также обладают определенным набором свойств. Эти свойства обладают значениями и входят в множества имен и значений свойств.
Пусть наблюдение за рабочей зоной робота осуществляется с помощью системы компьютерного зрения ZRb, являющейся подсистемой робота.
ZRb обладает такими свойствами:
? диаметр объектива;
? фокусное расстояние;
? разрешающая способность;
? геометрические параметры наблюдаемой зоны, ограниченные рабочим пространством:.
Между объектами (предметами) и их свойствами существуют отношения принадлежности, т.е. определенному объекту принадлежат свойства (объект обладает свойствами).
Предметы взаимодействуют между собой отношениями принадлежности Pt(x), следования Rt1 (x, y), совместимости Rt2 (x, y), отношениями предопределения Rt3 (x, y), отношениями ограничения Rt4(x, y), отношениями совместности Rt5 (x, y), отношениями ограничениями по доступу одних объектов пространства к другим Rt6 (x, y).
Наличие отношений позволяет ввести определения:
а) Каждый объект рабочей зоны робота обладает хотя бы одном свойством
,
где - квантор общности, - квантор существования, Obj - множество объектов рабочей зоны, S - множество свойств.
Множество Obj предметов пространства включает в себя следующие подмножества: St - станок роботизированного пространства, Ins - инструмент, Osn - оснастка, Hum - человек, Rb - робот. Таким образом, данное выражение можно записать в виде:
Множество S свойств предметов включает в себя такие параметры как: SSt - множество свойств станков; SIns - множество свойств инструментов; SOsn - множество свойств оснастки; SHum - множества свойств людей; SRb - множество свойств роботов. Отсюда следует, что
Из этих определений следует, что
б) Каждый предмет пространства связан каким-либо отношением Rt с другим предметом:
Определение является истинным, так как каждый из предметов создан для взаимодействия с другими предметами.
в) Все объекты рабочего пространства являются упорядоченными по отношению к другим:
г) Для каждого предмета рабочей зоны найдется другой предмет, который совместен с первым в процессе работы:
Оно является истинным, так как каждый из предметов роботизированного участка существует с целью участвовать в техпроцессе.
д) Существуют такие предметы, которые предопределяют друг друга в технологическом процессе.
Это отношение является частным случаем выражения из определения 4, поэтому оно существует между теми же объектами.
е) Существуют одни и те же предметы.
,
где Qt2 - отношение равенства, используемое для сравнения значений свойств. Для каждого значения [si] свойства найдется равное ему. В символическом виде это выражение можно записать так:
ж) Для каждого числового значения свойства (кроме максимального на конечном множестве значений N) можно найти значение больше рассматриваемого:
Проведем анализ технологических определений, содержащих цели проектирования ТП: переходов (движение), операций, маршрута.
Если - конкретные свойства изменения маршрута робота, то описание переходов робота в рабочем пространстве будет таким:
Тогда из определения следует, что описание технологических операций будет таким, что свойства робота будут взаимодействовать со свойствами инструмента, оснастки, человека и станка:
.
Маршрут робота M будет состоять из операций Op и переходов Tr. Описание маршрута может быть представлено в следующем виде:
,
После определения рабочего пространства робота и его составляющих (предметов, объектов и т.д.) необходимо выделить их, то есть идентифицировать и распознать каждый из объектов. Это необходимо для ориентации робота относительно других предметов в рабочей зоне [6].
2. Основы применения среды Microsoft Robotics Studio
2.1 Среда моделирования роботов Microsoft Robotics Developer Studio
Платформа Microsoft Robotics Developer Studio (MRDS) - это пакет разработчика для робототехники, ориентированный на программистов разных уровней. Визуальный язык программирования (VPL), входящий в состав MRDS. Симуляция виртуальных роботов позволит работать с техникой, которой еще нет, или выйти из положения, если использовать настоящего робота по каким-то причинам нельзя. На базе технологии CCR гораздо проще писать код, хорошо масштабируемый на несколько ядер. Сервисный подход в технологии DSS позволяет создавать слабо связанные распределенные приложения.
Microsoft Robotics Studio - это всего лишь фундамент для создания многофункционального робота.
В контексте робототехники приложение - это композиция слабосвязанных параллельно выполняющихся компонентов.
Все компоненты в Robotics Studio представляют собой независимо исполняемые сервисы и выступают как основополагающий элемент в MSRS. Иначе говоря, с точки зрения разработчика не существует физического мотора - есть сервис с интерфейсом, с помощью которого разработчик обращается к мотору через написанную им программу.
На концептуальном уровне сервис может быть представлен всем, от чего можно получать данные. Это, например, аппаратное обеспечение (сенсоры, приводы и т.п.), ПО (пользовательский интерфейс, хранилище данных), агрегация (группа сенсоров, mash-up).
Среда, в которой выполняется приложение в Microsoft Robotics Studio, носит название Runtime Environment. В основе Runtime лежит CLR 2.0, что дает возможность писать приложения, используя любые языки программирования платформы Microsoft.NET.
Сам по себе Runtime состоит из двух ключевых технологий: Concurrency & Coordination Runtime (CCR) - это библиотека для работы с параллельными и асинхронными потоками данных, и Decentralized System Services (DSS) - средство создания распределенных приложений на основе сервисов.
Программная логика робота - в отличие от традиционных приложений - должна взаимодействовать с гораздо более непредсказуемой окружающей средой и адекватно реагировать на информацию, поступающую от множества сенсоров одновременно. Более того, по многим причинам имеет смысл существенную часть логики перенести на множество взаимодействующих друг с другом компьютеров, которые физически могут находиться как на роботе, так и вне его. В результате требуется подход, который одинаково хорошо годился бы как для параллельных, так и для распределенных приложений. Библиотека Concurrency & Coordination Runtime и была специально разработана для того, чтобы упростить создание кода для параллельного исполнения и хорошего масштабирования на современных многоядерных процессорах.
Для ответа на вопрос «зачем нужна CCR» вспомним определение понятия «приложение» в контексте Robotics Studio: это композиция слабосвязанных параллельно выполняющихся компонентов. Такой подход можно было бы реализовать с помощью существующих примитивов многопоточного программирования. Однако процесс написания многопоточных приложений - далеко не тривиальная задача, и она становится все сложнее по мере роста числа одновременно выполняемых потоков.
При использовании CCR не требуется вручную управлять потоками, блокировками, семафорами, т.е. всеми стандартными примитивами синхронизации потоков. CCR - это не просто набор утилит, это совершенно другой подход к написанию кода. Этот подход основан на очередях сообщений и наборе зависящих от данных примитивов синхронизации. Потоки полностью скрыты от программиста, и Runtime - в зависимости от данных и от того, где они нужны, - решает, какой код и где будет исполняться. Поскольку синхронизация идет по данным, то не рекомендуется - и даже запрещается - использовать общую память (это может полностью нарушить схему работы кода).
Таким образом, библиотека CCR упрощает написание программ, которые работают со многими параллельными и асинхронными потоками данных. Примерами потоков данных могут служить сенсорная информация, ее обработка и управление движением в роботах.
Вспомним еще раз, что приложение в контексте MSRS - это композиция слабосвязанных параллельно выполняющихся сервисов. Тогда для реализации такого приложения необходимо следующее.
Слабая связанность компонентов - это обеспечивает их взаимозаменяемость и легкость повторного использования. Например, можно отключить или подключить сенсор без последствий для приложения в целом.
Разделение состояния и поведения - состояние сервиса (state) полностью открыто и при этом отделено от его поведения (behavior). Это очень важно в распределенной системе и позволяет сервисам легко взаимодействовать друг с другом как локально, так и удаленно по сети. Поведение в этой ситуации превращается в операции над состоянием, которые могут его изменять.
Работа с состоянием сервиса, а не с сессией (session-less) - текущее состояние сервиса определяется им самим, и оно идентично для всех, кто бы его ни запросил. Сервис не создает индивидуальных сессий для тех, кто с ним работает.
Работа со структурированными данными - состояние сервиса не может быть однородной массой, и структурирование на базе типов CLR позволяет работать со сложными структурами данных.
Работа с событиями изменения состояния сервиса - отделение состояния и его структурированность дают возможность сообщать об изменениях тем, кому это важно. В DSS есть модель, позволяющая отправлять и получать уведомления об этих событиях, а также подписываться на них.
Поддержка Web UI - анализировать и отлаживать распределенные приложения достаточно сложно. Структурированные данные в состоянии сервиса можно сериализовать с помощью XML и просматривать с помощью любого браузера. При помощи XSLT можно поверх XML данных создать простой пользовательский интерфейс.
Чтобы реализовать все описанные выше возможности, были частично использованы два существующих подхода к работе с сервисами: REST и Web Services.
REST (Representational State Transfer) - этот термин обозначает абстрагированную и формализованную Web-архитектуру и был предложен Роем Филдингом в 2000 г. REST построена на идее Тима Бернерс-Ли «URI ссылается на ресурс, и все взаимодействия с этим ресурсом происходят путем обмена состояниями». Важно отметить, что REST - это подход к созданию приложений; на текущий момент он успешно реализован в World Wide Web.
Про Web Services говорят уже давно и много. В основе Web-сервисов лежит протокол SOAP, который как раз и позволяет работать со структурированными данными и событиями.
Какой-то один из подходов, REST или Web-Services, не позволяет реализовать в платформе робототехники все задуманные возможности. Поэтому была выбрана унифицированная модель, в основу которой лег протокол Decentralized System Services Protocol (DSSP), в свою очередь базирующийся на SOAP. Реализация DSSP в Microsoft Robotics Studio предназначена специально для работы с сервисами [7].
2.2 Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment
Visual Simulation Environment включает в себя две программы: графический и физический движок.
Подобные документы
Виды и принципы компьютерного моделирования. Среда моделирования Microsoft Robotic Studio. Моделирование пространства и объектов рабочей области с помощью визуальной среды Visual Simulation Environment. Создание программы управления мобильным роботом.
дипломная работа [5,0 M], добавлен 15.06.2014Визуальная среда моделирования в масштабе реального времени, типичные проблемы разработки робототехнических систем. Описание среды Apartment Environment, перемещение камеры по осям координат. Описание системы координат и алгоритма перемещения объектов.
контрольная работа [2,1 M], добавлен 20.09.2010Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Понятие компьютерной и информационной модели. Задачи компьютерного моделирования. Дедуктивный и индуктивный принципы построения моделей, технология их построения. Этапы разработки и исследования моделей на компьютере. Метод имитационного моделирования.
реферат [29,6 K], добавлен 23.03.2010GPSS (General Purpose System Simulation) как язык для имитационного моделирования, его принципы и используемые методы, инструменты и средства. Метод построения модели с помощью GPSS, порядок составления блок-схемы данного процесса. Листинг модели.
курсовая работа [32,1 K], добавлен 20.12.2013Этапы развития моделирования явлений, процессов, объектов, устройств и систем. Примеры математического, имитационного и физического построения. Воспроизведение транспортных систем городов с помощью программы для визуализации транспортной схемы VISUM.
реферат [29,5 K], добавлен 16.12.2010Моделирование пространства и способы представления пространственных объектов. Хранение и извлечение пространственных объектов. Применение географических баз данных. Классификация объектов на основе размерности. Мозаичное и векторное представление.
презентация [179,5 K], добавлен 11.10.2013Моделирующие программы системы GPSS WORLD. Блоки и транзакты - типы объектов системы. Событийный метод моделирования. Проект моделирования работы в библиотеке, его анализ с помощью среды GPSS WORLD. Описание процесса и метода моделирование системы.
курсовая работа [227,4 K], добавлен 16.08.2012Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Изучение применения трёхмерного моделирования и анимации при создании статической рекламы, динамических заставок для телеканалов, моделирования катастроф, в компьютерных играх. Характеристика создания моделей с помощью модификаторов Edit Poly, Edit Mesh.
практическая работа [4,0 M], добавлен 29.09.2011