Разработка и исследование мехатронной мобильной системы шарового типа

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    1,13 Мб
  • Опубликовано:
    2012-05-27
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Разработка и исследование мехатронной мобильной системы шарового типа













Дипломная работа

Тема: Разработка и исследование мехатронной мобильной системы шарового типа

ВВЕДЕНИЕ

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

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

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

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

Основное внимание в работе уделяется моделированию предложенной конструкции робота, системы управления таким роботом и анализу сильных и слабых сторон такой конструкции.

1. Мобильные роботы и их применение

.1 Колесные мобильные роботы классических схем

робот компьютерный шаровой мобильный

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

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

Рис. 1.1 - Пример классической двухосной четырехколесной базы

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

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

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

Для увеличения маневренности такой базы произвели урезку ведущей (передней) оси до одного колеса. Схема такой базы представлена на рис. 1.2.

Рис. 1.2 - Пример трехколесной базы

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

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

Однако в разд. 1.3 будут рассмотрен одноколесный робот, конструкция которого превосходит двухколесную по параметрам.

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

Рис. 1.3 - Пример трехосной базы

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

Такие базы широко используются для мобильных роботов, используемых для исследования других планет.

Последней рассматриваемой в этом разделе конструкцией будет гусеничная база. Особенность такой базы в том, что минимальное количество осей - 2, причем о двух колесах каждая, однако совершенно не требуется их поворота. Реально используется не меньше 3, а то и 4 осей. Это связано с тем, что основной выигрыш от гусеничной конструкции - наилучшая передача вращательного момента от колес, на которых надета гусеница, к самой гусеницы, которая, в свою очередь, имеет очень хорошее сцепление с поверхностью. Отсюда вытекает и основной недостаток: большое трение. Это трение увеличивается еще и за счет того, что при повороте (особенно на месте) гусеницам приходится не катится, а тащиться по поверхности.

Такая конструкция используется в случаях, когда требуется повышенная проходимость, проходимость по нетвердым поверхностям (также совместно с увеличенными подспущенным надувными колесами), устойчивость и грузоподъемность. Алгоритмы навигации такой базой просты, так как основными переменными в данном случае будут скорости вращения колес на одной боковой стороне базы и на другой.

Широкое применение эта база нашла в роботах разминирования, которым приходиться передвигаться по различным поверхностям и рельефам.

1.2 Мобильные роботы других конструкций

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

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

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

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

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

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

Итак, обобщим преимущества и недостатки шагающих роботов.

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

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

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

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

Кроме шагающих роботов в данной главе описываются еще два направления конструкции мобильных роботов: это одноколесный робот и шаровые мобильные роботы. Их описание приведено в следующем разделе (см. разд. 1.3).

1.3 Одноколесные и шаровые мобильные роботы

Одноколесный робот, названный своими создателями Gyrover (намекая на гироскопический источник своего равновесия), появился на свет в 1999 году. Суть робота в том, что его внешний корпус представляет из себя колесо с овальным вытянутым профилем, внутри которого вблизи поверхности передвигается груз, центр тяжести, который и заставляет это колесо вращаться и наклоняться, что приводит к повороту во время движения.

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

Если проанализировать причину, по которой описанный одноколесный робот может подняться, то ей окажется профиль самого колеса. Данное колесо имеет овальный, расширенный в районе оси, профиль, что и позволяет ему "подняться". В переделе идею овального профиля колеса можно развить до круга, таким образом весь робот превратится в шар.

Шведская фирма Rotundus выпускает коммерческие роботы, в основу которых и лег этот принцип.

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

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

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

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

В систему управления робота встроена подсистема соблюдения равновесия, которая отвечает за то, чтобы робот не упал.

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

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

В Приложении 4 приведены изображения и фотографии некоторых из описанных выше роботов.

1.4 Постановка задачи исследования

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

Однако это исследование не будет содержать только описательную часть такого робота.

Для его исследование будет использоваться целая мехатронная мобильная система управления таким роботом, создание которой было начато до написания работы в лаборатории Электромеханатроники кафедры АиВТ СПбГПУ. По-этому описание самой системы будет укорочено, так как основным объектом внимания данной работы является сам робот и принцип, положенный в его начало.

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

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

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

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

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

Таким образом, в данной работе описывается созданная система прямого компьютерного управления упрощенной моделью робота, обладающей следующими свойствами:

) На роботе отсутствуют датчики положения. Это ограничение приводит к необходимости разрабатывать не замкнутую, терминальную систему управления. Однако с использованием модели объекта управления появляется возможность терминального управления сигналами, проверенными на модели. Однако в целом система все равно остается разомкнутой.

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

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

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

) Из-за отсутствия необходимости очень точного управления движителями, будет использоваться широтно-импульсная модуляция (ШИМ) управляющего сигнала, которая будет подаваться непосредственно на движители. Появляется требование параметрам сигнала, чтобы на движителях происходило их временное интегрирование.

) В объекте предполагается использование двигателей постоянного тока (ДПТ) с понижающими редукторами. Это решение обосновано в разд. 2.1. Таким образом, частотные требования к управляющему сигналу позволяют использовать LPT-порт для сопряжения с объектом через ключевой преобразователь и заданием сигнала непосредственно с электронной вычислительной машины (ЭВМ).

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

Предполагаемая структура системы представлена на рис. 1.4.

Рис. 1.4 - Предполагаемая структура мехатронной системы

Также в данной работе описывается процесс разработки моделей объекта и моделей системы (см. разд. 2 и 3), которые предполагаются к использованию для терминального управления.

Тестирование системы приведено в разд. 4.

2. Разработка и исследование шарового робота типа "колобок"

.1 Разработка конструкции робота

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

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

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

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

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

Итак, использование двух колес предполагает, что ось с этими колесами будет находиться на приспособлении, опирающимся на остальную сферу, чтобы ось всегда плотно прилегала к поверхности сферы (иначе ее перемещение при больших отклонениях от нижней точки сферы будет невозможно). Такая конструкция возможна. Качество ее реализации будет влиять на сцепление этой одноосной тележки со сферой и на силу трения тележки о сферу.

Трехколесная конструкция представляет из себя уже полноценное средство передвижения, что однако не позволит этому средству быстро совершать повороты на месте. Сюда же можно отнести и четырехколесную конструкцию.

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

Рис. 2.1 - Реализация груза в виде средства передвижения с более чем двумя осями.

Таким образом, из реализаций с использованием колес, будет рассматриваться одноосная тележка с двумя колесами.

2.1.1 Робот с шаровым движителем

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

Для свободного управления роботом необходима возможность перемещения тела по сфере в двух направлениях: в горизонтальной и вертикальной плоскостях. Для реализации этого требования необходимо вращение шарового ротора в двух плоскостях. Это и достигается путем использования обмоток на статоре в двух плоскостях.

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

Предполагаемая конструкторская реализация такого шарового движителя представлена на рис. 2.2 и 2.3, где представлено расположение движителя на теле и его конструкция соответственно.

Рис. 2.2 - Положение тела с полым ротором шарового типа в мини-роботе

Рис. 2.3 - Структура шарового движителя с полым ротором

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

2.1.2 Робот с встроенной тележкой

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

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

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

Рис. 2.4 - Углы, определяющие место положение тела для шарового движителя

Рис. 2.5 - Углы, определяющие место положение тела для одноосевого движителя

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

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

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

2.2 Разработка математической модели робота

Синтез модели объекта предполагается в два этапа: синтез системы, управляемой углами отклонения объекта α1 и α2, и модель, учитывающая динамику передвижения внутреннего тела как одноосной тележки (см. разд. 2.3, 2.5).

Для синтеза модели объекта используется векторное представление скорости всей сферы. Таким образом, объект представлен в виде угла и длинны вектора скорости, а также их производными.

Для вывода уравнений модели объекта рассмотрим следующую ситуацию его движения: объект движется со скоростью V, находящейся в плоскости движения под углом φ к осям координат. Внутренний груз находится под углом α2 к осям координат, отмеряемым в плоскости движения. Вид такой ситуации представлен на рис. 2.6.

Рис. 2.6 - Положение векторов и объекта в рассматриваемой ситуации

Для оси вектора скорости и вектора, перпендикулярного ей, можно составить следующие динамические уравнения, учитывающие инерцию системы, силу трения, а также силу разгона:


Для определения второй производной угла поворота вектора скорости воспользуемся формулой изменения угла при определенной линейной скорости его конца и его длинны. Получаем следующие формулы для изменения вектора скорости:


Итак, реализуя численное решение данных дифференциальных уравнений во времени, можно получить компьютерную модель объекта, сферы с внутренним грузом, управляемую углами отклонения α1 и α2. Реализация этой модели представлена в разд. 2.3.

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

Рис. 2.7 - Схема степеней свободы и параметров модели с грузом-тележкой

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

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

Запишем уравнения для скорости движения тележки по широте и по долготе сферы в зависимости от угла α3 и скорости прямолинейного движения тележки Vц:


Далее выведем скорость прямолинейного движения тележки Vц из скоростей каждого из колес V1 и V2 (где V2 - скорость правого колеса, которое находится со стороны тележки, к которой производится отсчет угла α3, а V1 - скорость левого):


Движение тележки можно разделить на прямолинейное и вращательное. Их совокупность дает движение по дуге, однако в данной модели они рассматриваются отдельно. Так что далее определим и скорость вращения тележки вокруг своей оси ωвр по направлению отсчета угла α3:


Выразим скорости колес через частоту их вращения и их радиус, обозначенный как r:


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


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

Рис. 2.8 - Обозначения радиуса сферы R, длины половины тележки l, радиуса колеса r и эффективного радиуса вращения центра тележки Rэф

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

Далее необходимо решить вопрос с последним из факторов, влияющих на определяющие углы α. Это вращение сферы во время движения. Так как учет изменения радиуса вращения из-за ненулевой массы сферы и, как следствие, ее инертности весьма затруднителен и приведет к ненужным увеличениям требуемой вычислительной мощности, то принято решение пренебречь этим изменением. Такое решение принято на основании того, что при рассматриваемых соотношениях масс центра и оболочки оно имеет незначительный и редко проявляющийся эффект. Данный вопрос рассматривался в рамках моделирования такого объекта в системе моделирования Model Vision Studium 3, которое показало крайнюю сложность учета этих отклонений для радиуса вращения, и редкое и незначительное его проявление при отсутствии весомого превосходства массы оболочки над массой груза.

Таким образом, корректировка дифференциального уравнения для угла α1 выглядит следующим образом:


На этом заканчиваются математические выкладки по упрощенной и полной модели объекта. Некоторые дополнения будут внесены позднее и связаны они будут с моделированием движителей.

Пока же рассмотрим построение упрощенной модели.

2.3 Исследование упрощенной модели в пакете Matlab

Итак, вернемся к системе дифференциальных уравнений, в векторном виде описывающих поведение сферы с грузом внутри при управлении углами позиционирования этого груза α1 и α2. Далее приведем эту систему уравнений еще раз:


Данная система уравнений была реализована в виде модели Simulink пакета компьютерного моделирования Matlab версии 7.0, с учетом некоторых дополнительных ограничений. Эта модель под названием mod1.mdl более подробно описана в Приложении 1.

Общая идея модели заключается в том, что по параметрам приведенных выше уравнений составляется нелинейная функция, высчитывающая соответствующие производные соответствующих параметров. Этими параметрами являются: скорость V и угол скорости в горизонтальной плоскости Fi. Для скорости высчитывается первая производная, для угла скорости соответственно вторая. Далее интегрированием получаются и сами параметры.

Однако модель также потребовала нелинейной корректировки в виде учета возможности пребывания груза в нижней точке сферы, так называемом дне, где угол α1 близок к 0. Это место будет описываться областью эпсилон-окрестности дна, где эпсилон принимается 0.01 (не менее, чтобы вычислительная погрешность не могла привести к непопаданию в эту зону при необходимости, но и не более, чтобы не получать существенные искажения в работе модели и чтобы оно было на порядок меньше по сравнению с такой величиной угла, как π/2, т. е. 1.57).

При этой корректировке для области дна разность между управляющим значением угла α2 и стремящимся к нему реальным значением угла Fi берется как разность Fi и Fi, то есть поворот вектора скорости для этой области не требуется (действительно, груз никуда не толкает сферу, так что и скорости сферы изменяться причины нет).

Также корректируется и значение скорости, используемое для расчета поворота вектора скорости. Это значение при попадании в область дна принимается очень маленьким, но всегда не нулевым, чтобы избежать получения значения бесконечности при делении на 0 (это может произойти при вычислении поворота вектора, так как в этом вычислении присутствует деление на величину скорости, см. уравнения выше).

Корректировка реализована с помощью компаратора, который сравнивает α1 с 0.01 и при меньшем значении угла подает на выход одно входное значение, а при большем - другое.

Запуск модели осуществляется из скрипта, в котором и задаются параметры входных переменных: α1 и α2. Текст и описание скрипта scr_mod1_trace.m приведены в Приложении 1.

Результат запуска модели рассмотрим сразу в контексте поиска предпочтительных параметров модели (см. разд. 2.4).

2.4 Выбор оптимальных параметров робота

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

Влияние параметров объекта на его динамику таковы:

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

Вес внутреннего груза влияет на разгон и маневренность объекта, но его увеличение приводит к увеличению и всего суммарного веса;

Вес оболочки только увеличивает суммарный вес объекта, что приводит к стремлению свести вес оболочки к возможному минимуму;

Коэффициент трения влияет на погашение колебаний при изменении направления движения, но также приводит к ухудшению скоростных характеристик объекта, уменьшая его максимальную скорость и разгон;

Ускорение свободного падения взято реальным;

Радиус внешней сферы на данном этапе моделирования значения не играет.

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

Вес центра Mm взят 0.1 (кг);

Вес оболочки Me взят 0.1 (кг);

Коэффициент трения rk взят 1.4 (кг/с);

Ускорение свободного падения g взято 9.8 (м/с2).

Результативная траектория и скорости движения моделируемого объекта при резком изменении угла поворота груза представлена на рис. 2.9. Такой тест модели проводился скриптом scr_mod1_trace.m, текст которого приведен в Приложении 2.

Рис. 2.9 - Траектория и скорости движения моделируемого объекта при резком изменении угла груза

Далее приведем несколько переходных процессов для скорости при разных постоянных углах разгона (углах отклонения груза от вертикали). Набор графиков этих переходных процессов представлен на рис. 2.10. Эти графики получены с помощью скрипта scr_mod1_testV.m, текст которого приведен в Приложении 2.

Рис. 2.10 - Графики переходных процессов для скорости при различных углах разгона

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

Этот результат будет использован в разд. 3.1 при синтезе системы управления.

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

Рис. 2.11 - Пример запуска модели при параметрах, делающих объект инерционным

2.5 Разработка и исследование модели робота с учетом внутренней динамики

Для разработки этой модели используются расширенная система дифференциальных уравнений (см. разд. 2.2), которая дополняет систему уравнений для упрощенной модели. Это система, которая связывает производные углов α друг с другом и с управляющими сигналами. Приведем эту систему уравнений еще раз:


Также используется и выражение для скорости центра Vц и скоростей колес (см. разд. 2.2).

Для построения модели по полученным уравнениям для углов остается решить один вопрос, связанный с особенностью описания поведения объекта в нижней точке сферы, при почти нулевом угле α1 (упомянутая в разд. 2.4 область дна сферы). Это связано с бесконечной скоростью изменения угла α2 в этой точке. Действительно, в самой нижней точке сферы положение одноосной тележки углом α2 не описывается. Таким образом, необходимо вводить логическую нелинейность, которая учитывала бы два случая: нахождение груза в эпсилон-окрестности точки дна сферы и нахождение вне этой области. Соответственно встает вопрос о необходимости обнуления α3 при входе груза в эту область по причине того, что в нижней точке тележка всегда смотрит вперед и может двигаться только наверх, что геометрически очевидно.

Определив решение этой проблемы, построение модели происходит с использованием полученных выше уравнений и по следующим этапам:

) Из управляющих воздействий U1 и U2 получаем скорость вращения колес ω1 и ω2. При этом коэффициент пропорциональности между ними на данном этапе берется 1. В дальнейшем этот коэффициент будет заменен упрощенной передаточной функцией двигателя постоянного тока (далее ДПТ). По заданным параметрам: радиус сферы R, радиус колеса r и длина половины оси тележки l, получаем эффективный радиус вращения центра тележки Rэф.

) По скоростям вращения колес определяем скорость прямого движения и скорость вращения тележки.

) Используя скорости, угол α3 и радиусы получаем изменения углов α.

4) Далее для угла α1 это изменение подается непосредственно на интегратор. Для угла α2 ставится следующее условие: если угол α1 меньше 0.01 (эпсилон-окрестность дна сферы), то в качестве изменения α2 берется изменение α3 (то есть вращение тележки, а не ее прямолинейное движение в горизонтальной плоскости), в противном случае берется изменение, указанное для α2. Далее это изменение также идет на интегратор. Для угла α3 ставится такое же условие. При выполнении его угол α3 обнуляется (обнуляется и соответствующий интегратор, на который подается приведенное в уравнениях изменение α3), при невыполнении производится интегрирование этого самого изменения с получением соответственно рабочего α3.

) Далее полученные углы α1 и α2 подаются на модель, разработанную выше. Результирующая совокупность моделей и является моделью объекта с учетом динамики центра как одноосной тележки.

Файл с этой моделью называется mod2.mdl, а сама модель более подробно описана в Приложении 1.

Запуск модели осуществляется скриптом scr_mod2_trace.m, текст которого представлен в Приложении 2. В скрипте предусмотрены несколько тестовых последовательностей входных управляющих сигналов, подаваемых в модель при ее запуске. Интересующая последовательность раскомментируется и скрипт запускается. Приведем результат запуска скрипта с одной из последовательностей, которая демонстрирует разгон тележки, поворот и постоянное движение. Траектория груза представлена на рис. 2.12, а зависимость углов α от времени на рис. 2.13.

Рис. 2.12 - Траектория груза в пространстве при движении колобка

Рис. 2.13 - Зависимости углов α от времени

Сначала оба колеса разгоняли одинаково. При этом установился какой-то угол α1, при котором разгон и трение сравнялись. Далее одно из колес начало вращаться чуть быстрее (а именно правое, это видно по задаваемой последовательности входов в Приложении 2 для скрипта src_mod2_trace.m, последовательность spiral3). При этом тележка немного повернулась, отклонившись от вертикали. Далее установилось новое значение угла α1 с динамическим равновесием, но при этом тележка стала смещаться и горизонтально, что видно в виде дуги на графике траектории. При этом траектория движения всего колобка представлена на рис. 2.14.

Рис. 2.14 - Траектория движения колобка

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

Так как модели получены, то далее перейдем к испытанию их в системе управления совместно с задатчиком траектории (см. разд. 3).

3. Разработка и исследование системы управления мобильным роботом исследуемого типа

.1 Многоуровневая структура системы управления

В общем виде, задача системы управления объектом была сформулирована в разд. 1.4, с указанием, разработка какой части этой системы будет описана в данной работе.

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

Рис. 3.1 - Схема системы компьютерного управления роботом

Рассмотрим компоненты данной схемы.

Стратегическая подсистема занимается прокладыванием траектории робота мимо препятствий от исходной точки до цели. Разработкой этой части системы занимается студентка гр. 6081/2 Ларионова Е.В. Входным параметром этой подсистемы является карта местности, исходная точка нахождения робота и целевая. Выходные параметры - траектория движения робота.

Тактическая подсистема занимается сглаживанием полученной траектории и терминальным управлением по скорости для следующего уровня. Разработкой этой части системы занимается студентка гр. 6081/2 Ларионова Е. В. Входным параметром этой подсистемы является траектория движения робота мимо препятствия к цели. Выходными - модуль скорости и угол поворота вектора скорости в горизонтальной плоскости для определенных моментов времени (выдаваемых на выход с определенной частотой).

Исполнительная подсистема получает требуемый вектор скорости и формирует управляющие воздействия для самого объекта. Эта подсистема описывается в данной работе (см. главу 4, в т. ч. раздел 4.2). Состоит эта подсистема из:

блок, получающий задаваемое значение вектора скорости и формирующий управляющие сигналы в виде чисел в файл;

драйвер LPT-порта и широтно-импульсный модулятор, считывающие величину управляющих сигналов из файла и выдающие управляющие сигналы в виде модулированных во времени по ширине импульсов напряжения;

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

Объект, макет мини-робота типа "колобок" описан в разделе 4.2.

Как указывалось в главе 1, структура разрабатываемой системы управления не замкнута. Таким образом, одним из исследуемых моментов становится накопляемая ошибка терминальной отработки роботом задаваемой траектории. Этот вопрос станет актуальным уже на этапе моделирования системы (см. разд. 3.2 и 3.3).

3.2 Разработка и исследование в пакете Matlab упрощенной системы управления роботом без учета внутренней динамики объекта

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

Модель терминального задатчика предоставлена студенткой гр. 6081/2 Ларионовой Е. В. в рамках ее работы по исследованию всей системы. Терминальный задатчик состоит из файла с полученной от стратегического уровня траекторией в виде набора векторов скоростей в узловых точках и модели системы аппроксимации этой траектории во времени. Файл с траекторией в виде векторов скоростей имеет название FUN_VEC2.m, его текст представлен в Приложении 1. Вид модели терминального задатчика представлен на рис. 3.2.

Рис. 3.2 - Вид модели Simulink терминального задатчика

Этот же терминальный задатчик будет использоваться и для усложненной модели системы (см. разд. 3.3).

Далее необходимо подать сигнал с этого терминального задатчика на объект, преобразовав его таким образом, чтобы управлять углами. Это связано с тем, что в упрощенной модели объекта мы управляем углами (см. разд. 2.3).

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

Входных переменных две: модуль вектора скорости (V) и его направление (fi, угол отклонения от оси х1 в плоскости движения против часовой стрелки). Первая переменная напрямую влияет на угол отклонения груза в роботе от вертикали (α1). Вторая переменная влияет на направление этого разгона (угол отклонения груза в роботе от оси х1 в плоскости движения, α2).

Выходных переменных тоже две: это соответственно α1 и α2.

Для данного случая принято решение отдельно управлять по α1 исходя из требуемого значения модуля скорости и по α2 исходя из требуемого угла отклонения этого вектора. При этом в основу управления для скорости предполагается положить пропорциональное управление (коэффициент взят из разд. 2.4 равным 1.1), а угол fi подавать непосредственно на выход α2.

Файл с моделью называется sys1_1.mdl и более детально описан в Приложении 1. Запуск модели производится из скрипта scr_sys1_1.m, текст и описание которого приведены в Приложении 2.

Результат запуска модели представлен на рис. 3.3.

Рис. 3.3 - Результат запуска первой модели системы (простой объект, пропорциональное управление)

На первой диаграмме приведена задаваемая траектория движения колобка (красным цветом) и реальная траектория его движения (синим цветом). Как видно по рисунку, общий вид отработанной траектории совпадает с видом задаваемой, но она пропорционально отличается на всех отрезках движения. Причину этого можно показать на следующих двух диаграммах. На средней диаграмме показано задаваемое значение скорости движения объекта (черным цветом, выше), и реальное значение скорости при моделировании (синим цветом, снизу). Четко наблюдается пропорциональное отклонение реальной скорости от задаваемой в меньшую сторону. Причиной этого является статическая ошибка управления при использовании пропорционального закона управления. Дугообразные падения скорости связаны с поворотом и не могут быть полностью исключены в исследуемой модели. На третьей диаграмме показан задаваемый угол вектора скорости (черным цветом, правее) и реальный (синим цветом, левее). Реальный угол скорости при движении отстает от задаваемого по причине инерционности объекта, который не может мгновенно поменять направление скорости во время движения.

Из полученных результатов делаем следующие выводы.

) Так как имеется статическая ошибка управления по скорости, то простое увеличение коэффициента усиления в цепи управления не приведет к полному ее исключению. Для ее полного исключения требуется сделать контур управления по скорости астатическим. А именно в данном случае добавить интегральную составляющую управления по скорости с достаточной постоянной времени, чтобы эта составляющая успевала внести вклад в управление. Все управление по углу α1 следует ограничить по модулю значением 1.57, что соответствует перпендикулярному отклонению груза от вертикали (максимальный разгон объекта).

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

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

Система, полученная в соответствии с указанными выше замечаниями, реализована в отдельной модели. Эта модель находится в файле sys1_2.mdl и более подробно описана в Приложении 1. Запуск модели производится из скрипта scr_sys1_2.m, текст и описание которого приведены в Приложении 2.

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

При этом можно отметить следующие зависимости:

При недостаточных коэффициентах в ПД управлении по углу объект начинал поворот слишком поздно и слишком слабо, так что его "заносило" и он сбивался с траектории;

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

при маленькой пропорциональной составляющей по скорости разгон производился слишком медленно и объект проезжал более короткую траекторию, чем требовалось;

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

маленькая интегральная составляющая в управлении по скорости не успевала компенсировать статическую ошибку пропорционального управления;

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

Таким образом, были подобраны такие коэффициенты в управлении, что была получена траектория, очень близкая к заданной. Результат моделирования системы с такими коэффициентами представлен на рис. 3.4.

Рис. 3.4 - Результат запуска модели с оптимальными коэффициентами управления

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

Был проведен эксперимент, где задаваемая скорость была уменьшена в два раза, но это не привело к попаданию объекта точно в точку назначения по указанной выше причине.

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

Однако, теперь встает задача управления полной моделью объекта без упрощений. Такая модель объекта описана в разд. 2.5, а разработка системы описана в разд. 3.3.

3.3 Разработка и исследование в пакете Matlab системы управления роботом c учетом внутренней динамики объекта

Итак, в предыдущем пункте данной работы рассматривалась система управления упрощенной моделью объекта.

Напомню особенности этой упрощенной модели:

2 входа, углы α1 и α2;

2 основных выхода, скорость V и угол поворота скорости Fi;

возможность раздельного управления по скорости и углу скорости;

порядок математической модели объекта 3-ий.

В следствие этого, управление и было реализовано по скорости и ее углу отдельно, а регуляторы в этих контурах линейные и простые.

Однако, для полной модели имеем следующие особенности:

2 входа, управляющие сигналы на двигателях тележки;

5 выходов, скорость, угол скорости и углы положения тележки;

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

порядок математической модели объекта 5-ый.

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

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

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

На этой плоскости есть декартова система координат, на осях которой отложены углы -α2 и α1. Тележка располагается на ней в виде ориентированного вектора n, угол к нормали которого от оси абсцисс и является α3. Эта система координат выглядит следующим образом, представленным на рис. 3.5.

Рис. 3.5 - Вид тележки на плоскости в системе координат с углами

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

Однако стратегия движения к ней базируется на следующих принципах:

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

Движение прямо из расчета по углу α2 производится только в случае, если разность в углах α3 и α меньше 90о.

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

Входные параметры алгоритма: текущие углы α1, α2, α3, задаваемые углы α1, α2, коэффициенты регулировки управления k1 и k2, длина оси тележки.

Выходные параметры алгоритма: управляющие воздействия y1, y2, полученный задаваемый угол α3. Далее приводится описание самого алгоритма:

) Приведение всех входных углов к требуемому виду. Для α1, α2 это промежуток от -π до π, для α3 это промежуток от 0 до 2π.

) Расчет углов разности между текущим и требуемым значениями для угла α1 и α2. Приведение угла разности по α2 к значению в промежутке от -π до π.

3) Расчет требуемого угла поворота α3. Расчет угла разности для α3. Если груз находится на дне сферы, то угол разности по α3 берется равным углу разности по α2. Приведение угла разности по α3 к значению в промежутке от -π до π.

4) Если угол разности по α1 превосходит пороговое значение чувствительности алгоритма (для проведенных испытаний модели это значение равно 0.01), то регулировка скорости прямолинейного движения осуществляется по нему. А именно:

Если груз находится на дне сферы, то скорость прямолинейного движения пропорциональна углу разности по α1. Иначе учитываем угол его поворота α3.

Если груз не на дне сферы и угол его поворота α3 не равен π или -π, то скорость прямолинейного движения прямо пропорциональна углу разности по α1 и обратно пропорциональна косинусу угла поворота α3.

Если же груз не на дне сферы, а угол поворота α3 близок к π или -π, то при значении угла разности по α3 по модулю большем, чем π, прямо не двигаемся, а при меньшем, чем π, скорость прямолинейного движения пропорциональная углу разности по α2.

Если угол разности по α1 меньше порогового значения, то регулируем по углу разности по α2. Для этого требуется, чтобы его значение превышало пороговое. Если это условие выполняется, груз находится не на дне сфера, а угол разности по α3 меньше по модулю, чем π, то скорость прямолинейного движения пропорциональна углу разности по α2. Во всех других случая скорость прямолинейного движения равно 0.

) Скорость поворота пропорциональная углу разности по α3.

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

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

Этот алгоритм реализован в блоке логического управления, описание которого приведено в Приложении 1.

Для работы алгоритма необходимы задаваемые значения углов α1 и α2. Эти значения предполагается получать с регуляторов, аналогичных регуляторам из разд. 3.2.

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

Таким образом, модель системы приобретает вид, подробно представленный в Приложении 1.

Произведем запуск этой модели без интегральной и дифференциальной составляющих управления по скорости и углу. Результат запуска представлен на рис. 3.6. Запуск модели производится из скрипта scr_sys_2.m, описание которого приведено в Приложении 2.

Рис. 3.6 - Результат запуска модели без интегрального и дифференциального управления

Как видно по представленному рисунку, ситуация позднего начала поворота и статическая ошибка по скорости имеют место, как и в случае с системой с упрощенным объектом, рассматриваемой в разд. 3.2.

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

Результат запуска системы представлен на рис. 3.7. Запуск модели полностью аналогичен запуску из предыдущего раза.

Рис. 3.7 - Результат запуска системы с интегральной и дифференциальной составляющей в управлении

Как видно по рисунку объект достаточно точно проследовал по задаваемой траектории. Это свидетельствует о том, что совокупность нелинейного регулятора с полной моделью объекта и упрощенная модель объекта весьма схожи. Данный факт позволяет говорить об удовлетворительном построении полной модели и алгоритма ее управления (при выбранных параметрах самого "колобка").

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

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

4. Разработка и исследование системы прямого компьютерного управления роботом

.1 Разработка структуры компьютерного управления

Основные принципы разрабатываемой системы уже были приведены (см. разд. 1.4). Однако рассмотрим их еще раз.

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

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

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

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

ШИМ выбрана как таковая по причине простого ее использования в данной системе: нет необходимости разбиения сигнала по уровням, а только во времени, простая программная реализация, достаточные частотные параметры оборудования.

Формирование ШИМ-сигнала, битовой карты для LPT-порта, производится в основной программе на инструментальной ЭВМ. Эта же программа производит подготовку данных с клавиатуры (в том числе и считывание их) или из файла.

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

Полученная структура системы представлена на рис. 4.1.

Рис. 4.1 - Структура системы прямого компьютерного управления

Далее будет приведено описание аппаратной и программной частей системы.

Следует еще раз отметить, что описание аппаратной (см. разд. 4.2) и программной (см. разд. 4.3) частей сокращено, так как большая часть их разработки проведена до написания данной работы и описана в других отчетах по данной теме.

4.2 Аппаратная составляющая компьютерной системы управления

Поделим всю систему на две части: передающая часть и принимающая.

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

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

На обеих микросхемах, передатчика и приемника, есть резисторы, отвечающие за резонаторы и частоту работы радиопередачи.

Ключевой преобразователь реализован на полевых транзисторах, использование которых удобно совместно с LPT-портом. Управляющий сигнал на затворе и нагрузка подключены в соответствии со схемой подключения, представленной в документации для данного транзистора. Принципиальная схема коммутации данных с LPT-порта через ключевой преобразователь на микросхему представлена на рис. 4.2.

Рис. 4.2 - Принципиальная схема коммутации сигнала от ЭВМ к радиопередатчику

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

Принципиальная схема передающей и принимающей частей представлена на рис. 4.3.

Рис. 4.3 - Принципиальная схема передающей и принимающей частей системы

Из описания микросхем взята лишь информация о ее контактах, отвечающих за частоту работы.

На этих контактах и находятся резисторы, значение сопротивления которых влияет на частоту работы микросхем. Были измерены производственные значения сопротивления этих резисторов, посчитано соотношение этих сопротивлений для передающей и принимающей микросхемы и изменены в соответствии с этим соотношением таким образом, чтобы частота работы микросхемы соответствовала частоте работы LPT-порта.

4.3 ПО системы управления

Итак, исследуемая система компьютерного управления имеет в себе несколько программных составляющих. Ее структура представлена на рис. 4.4. Описания составляющих приведены далее.

Рис. 4.4 - Структура программной составляющей системы управления роботом

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

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

Вычислитель управления, программный ШИМ и драйвер LPT-порта являют собой ПО инструментально ЭВМ, которое описано далее.

Как упомянуто в постановке задачи (см. разд. 1.4), инструментальное ПО в системе должно выполнять 3 функции:

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

) Формирование ШИМ полученных управляющих воздействий.

) Выдача полученных ШИМ-сигналов на LPT-порт.

Предполагаемая структура программы представлена на рис. 4.5.

Рис. 4.5 - Структура программы на инструментальной ЭВМ

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

Общая структура программы такова.

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

Программа имеет два настраиваемых параметра: количество мини-циклов в основном цикле и пауза в конце итераций мини-цикла. Первый параметр отражает точность отработки сигнала, но его большое значение приводит к тому, что на движителях интегрирование ШИМ-сигнала не происходит по причине его затянутости. При последней реализации он был взят равным 4. Второй параметр - отражает частоту работы с LPT-портом. При последней реализации он был выставлен на максимум с обеспечением работоспособности порта - 2 (что соответствует задержке программы на 2 мс).

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

Управление с клавиатуры осуществляется нажатием следующих кнопок: Insert - увеличение управляющего воздействия на левом двигателе на 1 (максимум 4), Delete - уменьшение управляющего воздействия на левом двигателе на 1 (минимум -4), PageUp - увеличение управляющего воздействия на правом двигателе на 1 (максимум 4), PageDown - уменьшение управляющего воздействия на правом двигателе на 1 (минимум -4), Esc - выход из программы.

Следует пояснить, что если управляющее воздействие с тем или иным знаком равно значению первого из параметров программы, то и соответствующий двигатель будет постоянно крутиться в соответствующем направлении. Меньше этого параметра по модулю значение означает соответствующую долю сигнала в периоде всего импульса ШИМ-сигнала. При 0 сигнала нет, соответствующий двигатель не вращается.

4.4 Экспериментальное исследование разработанной системы

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

Такая проверка проводилась путем последовательного анализа сигналов в узлах с помощью осциллографа и анализом данных во время трассировки программы.

Тестирование моделей в системе Matlab позволило контролировать все их параметры и быстро локализовывать и находить ошибки.

Первый макет модели был выполнен из конструктора LEGO. Изначально в качестве двигателей использовались ДПТ LEGO. Редукторов при такой реализации не было.

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

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

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

Далее производилась замена ДПТ LEGO на ДПТ со встроенными редукторами, однако к моменту завершения работы эта замена произведена до конца не была.

В целом, система прямого компьютерного управления была в работоспособном состоянии и объект совершал запрограммированные передвижения.

Заключение

В данной работе исследовались мобильные роботы. Их анализ показал, что наиболее перспективным развитием колесных роботов широкого назначения являются шаровые мобильные роботы.

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

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

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

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

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Сайт компании Rotundus: www.rotundus.se

. Сайт новостей в мире технологий: www.membrana.ru

. Сайт международной конференции Диалог: www.dialog-21.ru

. Сайт МГТУ "Станкин": npd.stankin.ru

. Сайт новых изобретений и новостей: gadgets.compulenta.ru

. Информационный сайт высоких технологий: www.hizone.info

. Копылов И.П. Математическое моделирование электрических машин - Москва, 1987 - 248 с.

ПРИЛОЖЕНИЕ А

В данном приложении описываются модели подсистемы Simulink 6.1 системы компьютерного моделирования MATLAB версии 7.0, ссылки на которые приведены в основном тексте диссертации.

Для всех моделей в настройках симуляции в разделе решателя установлен тип шага - фиксированный, размер шага - 0.001 (SIMULATION - CONFIGURATON PARAMETERS - SOLVER - Type: Fixed-step, Fixed-step size: 0.001). Модель mod1, файл модели mod1.mdl.

Упрощенная модель объекта. Входных параметров - 2 параметра: углы управления. Выходных параметров - 9 параметров: параметры вектора скорости, местоположения объекта на плоскости и вспомогательный выход для отладки. Общий вид модели представлен на рис. А1.

Рис. А1 - Модель mod1

Формула блока (название блока не приводится из-за слишком большой длины), который подсоединен к блоку getV:

(u[2]*u[3]*sin(u[5])*cos(u[6])-u[4]*u[7])/(u[1]+u[2])

Блок осуществляет расчет производной скорости.

Формула блока (название блока не приводится из-за слишком большой длины), который подсоединен к блоку getFi:

(u[2]*u[3]*sin(u[5])*sin(u[6]) / u[8] - u[7]*u[4])/ (u[1]+u[2])

Блок осуществляет расчет второй производной угла поворота вектора скорости.

В блоке MATLAB Fcn высчитывается косинус входной величины.

В блоке MATLAB Fcn1 высчитывается синус входной величины.

Константа V!=0 имеет значение: 0.0001

Параметры модели: g=9.8, Mm=0.1, Me=0.1, rk=0.1

Исследование движения модели производится путем запуска ее через скрипт scr_mod1_trace.m, описанный в Приложении 2 к данной работе.

Исследование разгона модели производится путем запуска ее через скрипт scr_mod1_testV.m, описанный в Приложении 2 к данной работе.

Модель mod2, файл модели mod2.mdl.

Полная модель объекта. Входных параметров - 2 параметра: управляющие воздействия на движители. Выходных параметров - 19 параметров: описательные углы модели, указанные выше параметры подмодели (выходы модели mod1), местоположение объекта на плоскости, груза в пространстве и вспомогательные выходы для отладки.

Общий вид модели представлен на рис. А2.

Рис. А2 - Модель mod2

Формула блока 1 - alfa3 2 - Vc 3 - Ref:

u(2)*cos(u(1))/u(3)

Блок осуществляет расчет изменения угла отклонения по вертикали вследствие движения груза.

Формула блока 1 - alfa3 2 - Vc 3 - Ref 4 - alfa1:

u(2)*sin(u(1))/(u(3)*sin(u(4)))

Блок осуществляет расчет изменения угла отклонения по горизонтали вследствие движения груза.

Формула блока X1: 1 - alfa1 2 - alfa2 3 - R:(u(1))*cos(u(2))*u(3)

Блок осуществляет расчет координаты груза по первой горизонтальной оси.

Формула блока X2: 1 - alfa1 2 - alfa2 3 - R:(u(1))*sin(u(2))*u(3)

Блок осуществляет расчет координаты груза по второй горизонтальной оси.

Формула блока X3: 1 - alfa1 2 - alfa2 3 - R:(3)-cos(u(1))*u(3)

Блок осуществляет расчет координаты груза по вертикальной оси.

Формула блока Ref:(u(3)*u(3)+u(1)*u(1))-u(2)

Блок осуществляет расчет эффективного радиуса вращения груза.

Сравнение в блоке obnul ili neizmen производится с 0.0001.

Сравнение в блоке obnul ili rasch производится с 0.01.

Сравнение в блоке alfa2i производится с 0.01.

Сравнение в блоке alfa3 производится с 0.01.

Константа 1 имеет значение: -100

Параметры модели: g=9.8, Mm=0.1, Me=0.1, rk=0.1, l=0.02, r=0.006, R=0.1

Исследование движения модели производится путем запуска ее через скрипт scr_mod2_trace.m, описанный в Приложении 2 к данной работе.

Модель sys1_1, файл модели sys1_1.mdl.

Модель системы с упрощенным объектом с управлением без корректировок. Входных параметров - нет. Выходных параметров - 15 параметров: описательные параметры модели, заданное и реальное местоположение объекта на плоскости и вспомогательный выход для отладки.

Общий вид модели представлен на рис. А3.

Рис. А3 - Модель sys1_1

Параметры подмодели по умолчанию соответствуют параметрам модели mod2.

Исследование движения модели производится путем запуска ее через скрипт scr_sys1_1.m, описанный в Приложении 2 к данной работе.

Модель sys1_2, файл модели sys1_2.mdl.

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

Общий вид модели представлен на рис. 4.

Рис. А4 - Модель sys1_2

Параметры подмодели по умолчанию соответствуют параметрам модели mod2.

Исследование движения модели производится путем запуска ее через скрипт scr_sys1_2.m, описанный в Приложении 2 к данной работе.

Модель sys2, файл модели - sys2.mdl.

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

Общий вид модели представлен на рис. А5.

Рис. А5 - Модель sys2

Содержание блока getvfunc:[y1,y2,alfa3zo,mdalfa,mtl,mtvc,mtomega,mtv1,mtv2] = getv(alfa1, alfa2, alfa3, alfa1z, alfa2z, k1, k2, l, r, kdv)

% This block supports an embeddable subset of the MATLAB language.

% See the help menu for details. alfa1z==0.501;;

%privedenie ugla alfa2 k znacheniu v otrezke ot -pi do Pialfa2<-pi=alfa2+2*pi;;alfa2>pi=alfa2-2*pi;;

%privedenie ugla alfa2z k znacheniu v otrezke ot -pi do pialfa2z<-piz=alfa2z+2*pi;;alfa2z>piz=alfa2z-2*pi;;

%privedenie ugla alfa3 k znacheniu v otrezke ot 0 do 2Pialfa3<0=alfa3+2*pi;;alfa3>2*pi=alfa3-2*pi;;

%raschet raznosti uglov=(alfa1z-alfa1);=-(alfa2z-alfa2);

%privedenie ugla dalfa2 k znacheniu v otrezke ot -pi do Pidalfa2<-pi=dalfa2+2*pi;;dalfa2>pi=dalfa2-2*pi;;

%raschet uglovogo rasstoyaniya=sqrt(dalfa1^2 + dalfa2^2);

%raschet uslovnogo uglovogo rasstoyaniya=l;

%raschet trebuemogo ugla povorota - alfa3zz=0;=0;alfa1>0.01dalfa2>0z=asin(dalfa1/dalfa)-pi/2;;dalfa2<0z=pi-asin(dalfa1/dalfa)-pi/2;;

%raschet raznosti uglov povorota - alfa3=alfa3-alfa3z;=dalfa2;;

%privedeniye poluchennogo ugla dalfa3 raznosti k znacheniu v promegutke ot -Pi do Pidalfa3<-pi=dalfa3+2*pi;;dalfa3>pi=dalfa3-2*pi;;

%raschet skorosti dvigenya pryamoabs(dalfa1)>0.01alfa1>0.01abs(pi/2-alfa3)<0.1 && abs(-pi/2-alfa3)<0.1abs(dalfa3)<pi/2=k1*dalfa2;=0;;=k1*dalfa1/sin(alfa3+pi/2);;=k1*dalfa1;;abs(dalfa2)>0.01alfa1>0.01abs(dalfa3)<pi/2=k1*dalfa2;=0;;=0;;=0;;;

%schitaem uglovuyu skorost povorota proporcionalno uglu raznosti=k2*dalfa3;

%dlya levogo kolesa=tvc+(tomega*tl)/2;

%dlya pravogo kolesa=tvc-(tomega*tl)/2;=tv1*kdv/r;=tv2*kdv/r;zo=alfa3z;=dalfa;=tl;=tvc;=tomega;=tv1;=tv2;

Параметры модели: g=9.8, Mm=0.1, Me=0.1, rk=0.1, l=0.02, r=0.006, R=0.1, k1=10, k2=500, kdv=1

Исследование движения модели производится путем запуска ее через скрипт scr_sys2.m, описанный в Приложении 2 к данной работе.

ПРИЛОЖЕНИЕ Б

В данном приложении описываются скрипты системы компьютерного моделирования MATLAB версии 7.0, которые используются для запуска моделей и ссылки на которые приведены в основном тексте диссертации.

Методика запуска скриптов: необходимо сделать рабочей папку с файлом запускаемого скрипта и файлом соответствующей модели (запускаемой скриптом, см. описания скриптов далее). Далее в консоли системы MATLAB набирается имя скрипта и нажимается клавиша ВВОД (ENTER). Результат работы скрипта будет отображен на появляющихся фигурах (figure). Перечень результатов работ скриптов указан в описании скриптов далее.

Скрипт scr_mod1_testV, файл скрипта scr_mod1_testV.m

Текст скрипат приведен далее:;

disp('********************************************************************************************************************************************************************************************************');on;=1;alfa1z=0.1:0.2:1.57=simset('FinalStateName', 'STF');

[tt,xz,V,alfa1,alfa2,Fi,sFi,x1,x2,ddFi,other]=sim('mod1',15,OPT,[[0 15]',[alfa1z alfa1z]',[0 0]']);(tt, V)([tt(1) tt(length(tt))], [V(length(V)) V(length(V))],'r')

[alfa1z V(length(V)) alfa1z/V(length(V))];(i,2)=alfa1z;(i,1)=V(length(V));=i+1;off;(K(:,1),K(:,2))on;

Скрипт входных параметров не имеет. Результат работы скрипта: запуск модели mod1 (см. Приложение 1) с различными углами отклонения груза по вертикали, в результате которых получается соотношение установившейся скорости движения робота к углу отклонения.

Зависимости скорости от времени и скоростей от углов выводятся в виде графиков на двух отдельных фигурах.

Скрипт scr_mod1_trace, файл скрипта scr_mod1_trace.m

Текст скрипат приведен далее:;

clear all;('********************************************************************************************************************************************************************************************************');

%Vz=[0.3 0.3 0.3 0.3];

%Fiz=[0 -1.57 -3.14 1.57];=[0.4 1];=[0 1.57];=simset('FinalStateName', 'ST');

[tt,xz,V,alfa1,alfa2,Fi,sFi,x1,x2,ddFi,other]=sim('mod1',0,OPT,[[0 0]',[0 0]',[0 0]']);length(V)>0=V(length(V));=Fi(length(Fi));;on;on;i=1:length(Vz)z(i)=Vz(i);z(i)=Fiz(i);=simset('InitialState', ST, 'FinalStateName','ST');

[tt,xz,V,alfa1,alfa2,Fi,sFi,x1,x2,ddFi,other]=sim('mod1',10,OPT,[[0 10]',[alfa1z(i) alfa1z(i)]',[alfa2z(i) alfa2z(i)]']);(i)=V(length(V));(i)=Fi(length(Fi));=Vrm(i);=Firm(i);j=1:2:(length(V)-1)=V(j)*cos(Fi(j));=V(j)*sin(Fi(j));([x1(j) x1(j)+Vx],[x2(j) x2(j)+Vy],'r');;(x1, x2,'b')(x1(length(x1)), x2(length(x2)), 'ko');

end;

Скрипт входных параметров не имеет. Результат работы скрипта: запуск модели mod1 (см. Приложение 1) с заданием нескольких значений вектора скорости во времени для наблюдения за отработкой роботом этих параметров.

Результирующая траектория (синим цветом) и вектора скорости в периодические моменты времени (красным цветом) выводятся на отдельной фигуре.

Скрипт scr_mod2_trace, файл скрипта scr_mod2_trace.m

Текст скрипат приведен далее:;

clear all;

%test1

% mass=[1 1 1 1 1 1 1; 0 1 0 0 1 0 0; 0 1 0 0 0 0 1];

%test2

%mass=[0 3 1 1; 0 0.5 0.5 0; 0 0.5 0.7 0];

%test3

%mass=[1 3 3 3 3 3 3; 0 0.5 0 -0.2 0 0.5 0; 0 0.5 0 0.2 0 0.5 0];

%test4 long

%mass=[1 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3; 0 0.5 0 -0.2 0 0.5 0 -0.2 0 0.5 0 -0.2 0 0.5 0 -0.2 0 0.5 0 -0.2 0 0.5 0 0.2 0 0.5 0; 0 0.5 0 0.2 0 0.5 0 0.2 0 0.5 0 0.2 0 0.5 0 0.2 0 0.5 0 0.2 0 0.5 0 -0.2 0 0.5 0];

%turn left

%mass=[5; -0.2; 0.2];

%accel-stop

%mass=[3 10; 0.7 0; 0.7 0];

%full accel

%mass=[5; 20; 20];

%spiral

%mass=[2 1 10; 0.5 0 0.5; 0.5 1 0.5];

%spiral2

%mass=[2 1 10; 1 1 1; 1 2 1];

%spiral3=[2 1 10; 1 1 1; 1 1.1 1];=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;=0;

[rows,cols]=size(mass);i=1:colsi==1=simset('FinalStateName','ST');=simset('InitialState', ST, 'FinalStateName','ST');;=mass(1, i);=mass(2, i);=mass(3, i);

[tt,xz,v,alfa1,alfa2,alfa3,fi,sfi,x1,x2,ddfi,other,xc1,xc2,xc3,vc,sv,v1,v2,u1,u2,other2]=sim('mod2',t,OPT,[[0 t]' [u1 u1]' [u2 u2]']);=tt+st;=vertcat(mtt,tt);(length(mtt))=vertcat(mv,v);=vertcat(malfa1,alfa1);=vertcat(malfa2,alfa2);=vertcat(malfa3,alfa3);=vertcat(mfi,fi);=vertcat(msfi,sfi);=vertcat(mx1,x1);=vertcat(mx2,x2);=vertcat(mddfi,ddfi);=vertcat(mother,other);=vertcat(mxc1,xc1);=vertcat(mxc2,xc2);=vertcat(mxc3,xc3);=vertcat(mvc,vc);=vertcat(msv,sv);=vertcat(mv1,v1);=vertcat(mv2,v2);=vertcat(mu1,u1);=vertcat(mu2,u2);=vertcat(mother2, other2);=st+t;(1);(mxc1, mxc2, mxc3);on;(2);(mx1+mxc1, mx2+mxc2, mxc3);on;(3);(3,1,1)(mtt, malfa1);on;('alfa1');(3,1,2)(mtt, malfa2);on;('alfa2');(3,1,3)(mtt, malfa3); on;('alfa3');

Скрипт входных параметров не имеет, однако в тексте скрипта можно закомментировать текущую входную последовательность (mass) и раскомментировать другую для проведения исследований на другой траектории. Результат работы скрипта: запуск модели mod2 (см. Приложение 1) с заданием нескольких наборов значений углов отклонения и промежутков времени для этих отклонений и наблюдения за результатом такого управления роботом.

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

Скрипт scr_sys1_1, файл скрипта scr_sys1_1.m

Текст скрипат приведен далее:;

OPT=simset('FinalStateName', 'ST');

[tt,xz,v,alfa1,alfa2,fi,sfi,x1,x2,ddfi,other,mustx1,mustx2,mustv,mustfi,vforce,fiforce]=sim('sys1_1',15,OPT);

%figure(1);(1,3,1);on;on;(mustx1,mustx2,'r');(x1,x2,'b');

%figure(2);(1,3,2);on;on;(tt,mustv,'r');(tt,v,'b');(tt,vforce,'k');

%figure(3);(1,3,3);on;on;(tt,mustfi,'r');(tt,fi,'b');

plot(tt,fiforce,'k');

Скрипт входных параметров не имеет. Результат работы скрипта: запуск модели sys1_1 (см. Приложение 1) с последующим выводом результатов движения робота по задаваемой траектории.

На результирующей фигуре представлены три графика:

) Реальная (синим цветом) и заданная (красным цветом) траектории движения.

) Заданная (черным цветом) и реальная (синим цветом) зависимости модуля скорости робота от времени.

) Заданная (черным цветом) и реальная (синим цветом) зависимости угла поворота вектора скорости робота от времени.

Скрипт scr_sys1_2, файл скрипта scr_sys1_2.m

Текст скрипат приведен далее:

clear;

OPT=simset('FinalStateName', 'ST');

[tt,xz,v,alfa1,alfa2,fi,sfi,x1,x2,ddfi,other,mustx1,mustx2,mustv,mustfi,pvforce,ivforce,pfiforce,dfiforce]=sim('sys1_2',15,OPT);

%figure(1);(1,3,1);on;on;(mustx1,mustx2,'r');(x1,x2,'b');

%figure(2);(1,3,2);on;on;(tt,mustv,'r');(tt,v,'b');(tt,pvforce+ivforce,'k');

%figure(3);(1,3,3);on;on;(tt,mustfi,'r');(tt,fi,'b');(tt,pfiforce+dfiforce,'k');(tt,pfiforce,'g');(tt,dfiforce,'y');

Скрипт входных параметров не имеет. Результат работы скрипта: запуск модели sys1_2 (см. Приложение 1) с последующим выводом результатов движения робота по задаваемой траектории.

На результирующей фигуре представлены три графика:

) Реальная (синим цветом) и заданная (красным цветом) траектории движения.

) Заданная (красным цветом) и реальная (синим цветом) зависимости модуля скорости робота от времени и зависимость (черным цветом) суммарного управления по скорости от времени.

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

Скрипт scr_sys1_2, файл скрипта scr_sys1_2.m

Текст скрипат приведен далее:;

clear all;=simset('FinalStateName', 'ST');

[tt,xz,v,alfa1,alfa2,alfa3,fi,sfi,x1,x2,ddfi,other,xc1,xc2,xc3,vc,sv,v1,v2,u1,u2,other2,alfa1z,alfa2z,alfa3z,dalfa1,dalfa2,dalfa3,dalfa,tl,tvc,tomega,tv1,tv2,mustv,mustfi,mustx1,mustx2]=sim('sys2',15,OPT);

%figure(1);(1,3,1);on;on;(mustx1,mustx2,'r');(x1,x2,'b');

%figure(2);(1,3,2);on;on;(tt,mustv,'r');(tt,v,'b');

%figure(3);(1,3,3);on;on;(tt,mustfi,'r');(tt,fi,'b');

Скрипт входных параметров не имеет. Результат работы скрипта: запуск модели sys1_2 (см. Приложение 1) с последующим выводом результатов движения робота по задаваемой траектории.

На результирующей фигуре представлены три графика:

) Реальная (синим цветом) и заданная (красным цветом) траектории движения.

) Заданная (красным цветом) и реальная (синим цветом) зависимости модуля скорости робота от времени.

) Заданная (красным цветом) и реальная (синим цветом) зависимости угла поворота вектора скорости робота от времени.

ПРИЛОЖЕНИЕ В

В данном приложении описывается программа paracont, которая является основной программой ПО системы, исследуемой в диссертации. Текст программы находится в файле paracont.cpp а запускается программа файлом paracont.exe. Также возможен запуск программы из среды программирования TurboC (более поздние компиляторы не поддерживают функций ассемблера прямого обращения к регистрам LPT-порта).

После запуска программы нажатием кнопок Insert, Delete, PageUp, PageDown можно изменять скорость и направление вращения двигателей на объекте, а по нажатии клавиши Esc происходит завершение работы программы.

Текст программы:

#include<stdio.h>

#include<stdlib.h>

#include<dos.h>

#include<conio.h>main (void)

{

#define tacts 4char port_map = 0;char port_map_for_work = 0;char key = 0;bit_1, bit_2, bit_3, bit_4;// 0 ->16_1= bit_2= bit_3= bit_4= 0;();(0x378, 0);(1)

{(!kbhit())

{_map_for_work = port_map;(int i=1; i<=tacts; i++)

{(0x378, port_map_for_work);(5);(bit_1==i)sub port_map_for_work, 00000001b;(bit_2==i)sub port_map_for_work, 00000010b;(bit_3==i)sub port_map_for_work, 00000100b;(bit_4==i)sub port_map_for_work, 00001000b;

}

}=getch();(key == 27)

{(0x378, 0);;

}=getch();(key == 82)

{(bit_3 > 0)_3--;if (bit_1 < tacts)_1++;

}(key == 83)

{(bit_1 > 0)_1--;if (bit_3 < tacts)_3++;

}(key == 73)

{(bit_4 > 0)_4--;if (bit_2 < tacts)_2++;

}(key == 81)

{(bit_2 > 0)_2--;if (bit_4 < tacts)_4++;

}_map = 0;(bit_1!= 0)or port_map, 00000001b;(bit_2!= 0)or port_map, 00000010b;(bit_3!=0)or port_map, 00000100b;(bit_4!=0)or port_map, 00001000b;("FWD%i, BWD%i,FWD%i, BWD%i\n", bit_1, bit_3, bit_2, bit_4);

}

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

ПРИЛОЖЕНИЕ Г

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

Для начала приведем пример четырехколесного робота, а именно робота, названного Seekur, который свободно перемещается по поверхности во всех направлениях и имеет специальный терминал управления. Его фото представлено на рис. Г1.

Рис. Г1 - Фотография четырехколесного робота Seekur

Далее приведем фотографию трехколесного робота Qwerkbot (см. рис. Г2).

Рис. Г2 - Фотография трехколесного робота Qwerkbot

Также приведем фотографию шестиколесного трехосного робота RouROC (см. рис. Г3).

Рис. Г3 - Фотография шестиколесного робота RobuROC

Далее перейдем к шагающим роботом. Ярким представителем этого направления робототехники является WL-16 (см. рис. 4). Это шагающее кресло-робот, управляемое человеком только в плане направления движения.

Рис. Г4 - Фотография шагающего робота WL-16

Стоит также привести фотографию одного из наиболее сложных человекоподобных роботов - SDR (Sony Dream Robot). Его фото представлено на рис. Г5.

Рис. Г5 - Фотография человекоподобного робота SDR

Далее приведем фотографию шарового мобильного робота фирмы Rotundus, который рассматривался в данной работе.

Кроме этого шарового робота, в том же разделе данной работы рассматривался еще один робот, использующий для передвижения шар - Ballbot.

Похожие работы на - Разработка и исследование мехатронной мобильной системы шарового типа

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!