Курсовая работа. Курсовая работа Разработка и проектирование робота для разминирования Разработка и проектирование робота для разминирования
![]()
|
1 2 3.3 Программное обеспечение Программное обеспечение предоставлено компанией Apple. 3.4 Пример шагающего аппарата Шагающий аппарат содержит корпус, снабженный 2 ногами. В центре корпуса расположен гироскопический датчик, сообщающий системе управления информацию об ориентации корпуса по отношению к вектору силы тяжести; в передней части укреплен оптический дальномер, доставляющий информацию о поверхности, по которой перемещается шагающий робот. Внутри корпуса размещается микропроцессорная система управления и силовая часть. Каждая конечность имеет три степени свободы, и приводится в действие с помощью двигателя с механизмом (передача, коробка передач, редуктор). В ![]() Основные характеристики шагающего аппарата: · высота корпуса – 10 см; · длина стороны – 17 см; · общая масса – 21 кг; · размер конечности – 45,6 см; · масса конечности – 2.8 кг; · масса корпуса с микропроцессором – 3,8 кг; · скорость – около 0,4 км/ч; · полезная нагрузка – 5 кг; · длина бедра – 20,4 см; · длина голени – 25,2 см; · поверхность касания конечности – 28,3 см2 3 Технические расчеты Попытаемся произвести некоторые расчеты движения руки, ее координирования и различных сил действующих на нее. Таким образом, вычисления во время рабочего режима при каждом периоде выборки включают в себя только вычисление сил и моментов, развиваемых приводами, но не включает преобразований из декартовой системы координат в пространство присоединенных переменных. Следовательно, возможно увеличение частоты выборки. Пусть положение системы координат описывает однородная матрица Н(t), размерностью (4x4): ![]() где p – вектор, описывающий положение манипулятора, n, s и a – вектора нормали, перемещения и подхода соответственно. Оценка сочленения, соответствующая матрице H(t), зависит от структуры робота. Один из примеров решения для манипулятора PUMA представлен ниже. Пусть H(t)=H(t1). Схват должен пройти последовательность узловых точек в декартовом пространстве: H(t1), H(t2)…H(tn) . Для построения траектории узловым точкам ставятся в соответствие векторы присоединенных координат [q11(t1), q12(t2), …,q1n(tn)],[ q21(t1), q22(t2), …,q2n(tn)],…[ q1n(t1), q2n(t2), …,qNn(tn)], где qji обозначает j-ю присоединенную переменную, соответствующую положению схвата в i-й узловой точке H(t). В данной процедуре построение траектории сочленения происходит для одного сочленения за один раз. Затем строится кубическая интерполяция траектории j-ой присоединенной переменной между точками qj1(t1), qj2(t2), …,qjn(tn). Индекс j в переменной qji не обязателен, поэтому qji ставим в соответствие qi. Главная задача – построить траекторию j-ой присоединенной переменной во времени с использованием кубического полинома. Пусть t1 Пусть Qji(t) – кубический полином, описывающий поведение j-й присоединенной переменной между узловыми точками Hi и Hi+1 и определенный на интервале [t1, ti+1]. Задача состоит в “сшивке” между собой полиномов Qji(t) (i=1,2,…,n-1) так, чтобы они проходили через заданные узловые точки и обеспечивалась непрерывность положения, скорости и ускорения на всем интервале [t1, tn]. Поскольку Qji(t) – кубический полином, его вторая производная Q’’ji(t) должна быть линейной функцией времени t: Q’’ji(t)=[(ti+1-t)/hi]*Q’’ji(ti) + [(t-ti)/hi]*Q’’ji(ti+1), i=1,…,n-1, (1) j=1,…,N, где hi= ti+1-t – время, затрачиваемое на прохождение i-го участка. Дважды интегрируя Q’’ji(t) и учитывая граничные условия Qji(ti)=qji и Qji(ti+1)=qi,i+1, получаем интерполирующую функцию следующего вида: Qji(t)= [(Q’’ji(ti)/6hi]*(ti+1-t)3 + (Q’’ji(ti+1)/6hi]*(t-ti)3 + + [qj,i+1/hi – hiQ’’ji(ti+1)/6](t-ti) + [qi,t/hi – hiQ’’ji(ti)/6](ti+1-t) i=1,2,…,n-1, j=1,2,…,N. (2) Таким образом, для i=1,2,…,n-1, Qji(t) определены, если известны Q’’ji(ti) и Q’’ji(ti+1). На основании этого можно записать систему n-2 линейных уравнений относительно неизвестных Q’’ji(ti), i=2,…, n-1,(описание системы в приложении А): A= ![]() A= ![]() = ![]() Ленточная структура матрицы А позволяет легко определить неизвестную величину Q’’i(ti). В окончательном виде полиномы Qi’’(ti) выражаются временными интервалами hi и данными значениями присоединенных координат, скоростей и ускорений. Доказательство единственного решения Свойство 1: Задача интерполяции траектории имеет единственное решение, т.е. матрица А в уравнении (3) неособенная. Доказательство: Известно, что hi – временные интервалы и должны быть положительны. Кроме того, в матрице А все строки, кроме 2 и n-3, удовлетворяют неравенству ![]() а) Если h2 ![]() ![]() б) Если h1 > h2, выполняем строковую операцию вычитания (строка 1)x(h2 – h21/h2)/(3h1+2h2+ h21/h2) из строки 2 для исключения а21. Получаем: ![]() и ![]() Из h1 >h2 следует, что ![]() III.Описание траектории кубическими полиномами В промышленности производительность зависит от скорости манипулирования робота. Для увеличения скорости работы манипулятора нужно минимизировать время движения вдоль заданной траектории. Задача оптимизации сводится к минимизации времени движения путем соответствующего выбора величин временных интервалов h1, h2,…, hn-1. с учётом ограничений присоединенных скоростей, ускорений, моментов и скоростей изменения ускорений. Для удобства примем: VCj – ограничение по скорости для j-го сочленения, wCj – ограничение по ускорению для j-го сочленения, JCj – ограничение по скорости изменения ускорения для j-го сочленения. Qji(t) – кубический полином, описывающий поведение j-й присоединенной переменной между узловыми точками i и i+1, т.е. между Hi и Hi+1 . wji – ускорение в Hi; оно соответствует Qji’’(ti) если Qji(t) проходит через Hi в момент времени ti. X=(h1, h2,…, hn-1),- вектор временных интервалов. Задачу можно сформулировать следующим образом: минимизировать целевую функцию Т ![]() при следующих ограничениях: ![]() ![]() ![]() Строгое представление этих ограничений представлено ниже. а) Ограничение по скорости. ![]() Дифференцируя равенство (2) и заменяя Qji’’(ti) и Qji’’(ti+1) соответственно на wji и wj,i+1, получаем: Qji’(t)=wji/2hi*(ti+1-t)2 + wji+1/2hi*(t-ti)2 + [qj,i+1/hi – hiwj,i+1/6] – [qji/hi – hiwji/6], Также Qji’’(t) можно представить как Qji’’(t)= wj,i+1/hi*(t-ti) + wji/hi*(t-ti+1), Скорость достигает своего максимального по абсолютной величине значения в одной из точек ti , ti+1 или ![]() ![]() ![]() ![]() для i=1,2,…,n-1j=1,2,…,N, (6) где ![]() ![]() И ![]() б) Ограничения по ускорению: ![]() Между двумя узловыми точками ускорение линейно зависит от времени. Поэтому максимальная абсолютная величина ускорения достигается в точке ti или в точке ti+1 и равна максимальной из величин ![]() ![]() в) Ограничение по скорости изменения ускорения: ![]() Ограничение по скорости изменения ускорения можно представить в виде: ![]() Пример возможного решения Свойство 2: Задача оптимизации при наличии ограничений (6) - (8) всегда имеет решение. Если временные интервалы h1,…, hn-1 ….………., тогда, в соответствии со свойством 1 I-го раздела w2, w3,…, wn-1 определяются однозначно. Однако, ограничения по скорости, ускорению и скорости изменения ускорения могут не удовлетворять требованиям. В этом случае временные интервалы {h1,…, hn-1} могут быть увеличены для придания ограничениям значений, удовлетворяющих требованиям. Для этого представим Qi(t) исходным полиномом присоединенной переменной, определённым на временном интервале [ti, ti+1]=[ti, ti+hi]. Если все временные интервалы увеличить в соответствии с ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() и ![]() Если временной интервал hi заменен на ![]() ![]() ![]() 1) Вычисление ![]() 2) Замещение временных интервалов (h1, h2,…, hn-1) на ( ![]() 3) Замещение wj,2, wj,3,…, wj,n-1 на ![]() Алгоритм оптимизации Матрица А(Х) определена как вектор временных интервалов между выбранными узлами, т.е. [h1, h2,…, hn-1]. Основной задачей Х является представление Т(Х) и соответствует (h1+h2+…+hn-1). Сначала выбирается n – максимальное количество вершин Хi , (i=1,2,…, n), для формирования исходного многогранника. Пусть Xg и Xs имеют максимальное и минимальное значения функции. Предположим, что Хn+1 – центроид многогранника, не включая Хg. Вычисляется это так: ![]() ![]() Алгоритм пытается выбрать наилучшие значения (в соответствии с минимальным значением функции) вдоль прямой, соединяющей Xg и Xn+1, для замещения неудовлетвори-тельной величины Xg. Если это ему не удается, то многогранник уменьшается. Процедура поиска необходимых величин и уменьшения размера многогранника включает в себя отображение, растяжение, сжатие и уменьшение. Все они представлены ниже: 1)Отображение: Отображение Xg через центроид вычисляется следующим образом: Xn+2=Xn+1+a(Xn+1-Xg), (14) где а>0 – коэффициент отображения. Отметим, что все элементы Xn+2 являются временными интервалами. Для того, чтобы все интервалы были положительными, коэффициент а должен быть правильно определен. Сначала, примем его равным 1. Если какой-нибудь элемент Xn+2 будет отрицательным, то коэффициент следует уменьшить. Пусть Xp=[ ![]() Xn+2=2Xn+1-Xg = [ ![]() Все элементы должны быть положительными, т.е. ![]() ![]() Из (14) получаем ![]() ![]() ![]() ![]() ![]() ![]() где 0< ![]() 2) Растяжение: Растянуть вектор (Xn+2-Xn+1) можно следующим образом: Xn+3=Xn+1+ ![]() где ![]() ![]() где 0< ![]() 3) Сжатие: Сжать вектор (Xg-Xn+1) можно следующим образом: Xn+4=Xn+1+ ![]() где 0< ![]() 4) Уменьшение: Уменьшить все вектора (Xi-Xs), i=1,2,…,n, деля их пополам начиная с Xs можно следующим образом: ![]() До начала поиска выберем n – максимальное количество вершин многогранника. Пусть qj,1, qj,3,…, qj,n-2, qj,n - присоединенные переменные, соответствующие положению схвата в j-й узловой точке. Из-за особенностей 2-ой и n-1 точек, qj,2 и qj,n-1 еще не определены. Временно они определены как qj,2=(qj,1+qj,3)/2 и qj,n-1=(qj,n-2+qj,n)/2. Таким образом, нижняя граница вектора временных интервалов оценивается как: ![]() Первая вершина Х10 вычисляется как ![]() ![]() ![]() ![]() ![]() ![]() где ![]() D – выбранное расстояние. Поэтому, ![]() ![]() ![]() ![]() Повторением операции мы уменьшаем размеры исходного многогранника и потом отслеживаем шаги поиска и приближения (к пределу). В процессе уменьшения многогранник иногда может принимать настолько малые размеры, что невозможно будет найти решение. Для возобновления процесса поиска мы будем использовать ![]() ![]() ![]() 1) Увеличение размера многогранника увеличивает шаг поиска на столько, чтобы он был способен достичь наилучшей вершины. 2) Форма многогранника изменяется в соответствии с направлением поиска. Результаты двух следствий сравниваются. Цикл будет повторяться до тех пор, пока не возникнет каких-либо существенных различий между результатами, т.е. разность решений двух циклов будет меньше ранее определенного значения e2. Ниже представлен подробный алгоритм вычисления. LВ алгоритме, при достижении 14 шага, цикл завершается. На 13 шаге завершается стадия повторения этого цикла. Таким образом, kk – номер цикла, который начинается с 0, а k – номер стадии для каждого цикла, который тоже начинается с 0. (Инициализация) Шаг 1) Пусть kk=0 и k=0. Выбираем ![]() ![]() (Вычисление первой вершины многогранника) Шаг 2) Вычисляем ![]() ![]() ![]() ![]() ![]() (Вычисление остальных n-1 вершин многогранника) Шаг 3) Для i=2,3,…,n вычисляем ![]() ![]() ![]() ![]() ![]() Шаг 4) Из n вершин ![]() ![]() ![]() ![]() ![]() Шаг 5) Вычисляем центр многогранника ![]() (Отображение) Шаг 6) Проводим отображение для получения ![]() ![]() (Растяжение, при ![]() Шаг 7) Если ![]() а) Если ![]() ![]() иначе продолжаем (Замечание: ![]() б) Выполняем отображение для получения ![]() ![]() с) Выбираем ![]() потом увеличиваем k=k+1 и переходим на шаг 13). Шаг 8) Если ![]() ![]() ![]() Шаг 9) Если ![]() ![]() (Сжатие) Шаг 10) Выполняем сжатие для получения величины ![]() ![]() Шаг 11) Если ![]() ![]() (Уменьшение) Шаг 12) Уменьшаем многогранник следующим образом: ![]() (Проверка размера многогранника) Шаг 13) Если ![]() (Проверка на близость результатов решений двух циклов) Шаг 14) Если ![]() ![]() ![]() ![]() Алгоритм оптимизации всегда приводит не удовлетворяющую величину к подходя-щему для нас виду процедурой (ПВР), которая выполняет преобразование не удовлетворяющих величин умножением на величину ![]() В начале каждого цикла n вершин первоначально определяются так, что любая из (n-1) вершин линейно независима. Новая вершина, которая замещает ![]() ![]() Вычисление производной для ![]() Условие непрерывности по скорости дает нам ![]() ![]() Не оговоренные присоединенные переменные в двух особых точках могут быть выражены граничными величинами начальных и конечных узлов вместе с ![]() ![]() ![]() ![]() Подставляя (23) и (24) в (22) получаем ![]() ![]() ![]() ![]() ![]() Из-за условия непрерывности по ускорению в уравнениях (25) и (29) ![]() ![]() ![]() ВЫВОДЫ В представленной курсовой работе был разработан робот для разминирования различных объектов, рассчитаны его параметры и рабочие характеристики, которые были получены при моделировании в пакете прикладной программы Mathcad 2001. В ходе данной разработке был проведен анализ задачи «Проектирование робота». Разработана структура функционирования и передвижения ноги робота. В результате курсового проектирования была выполнена поставленная задача разработки исследуемого объекта. ПЕРЕЧЕНЬ ССЫЛОК 1. Советов Б.Я., Яковлев С.А. “Робототехника”. - М.: Высш. шк., 2005.- 271 с. 2. Методические указания к курсовой работе по дисциплине "Робототехника и мехатроника" для студентов специальности ГКСР ". 1999. 3. Аш Ж., Андре П., Бофрон Ж. Датчики измерительных систем. В 2 т. Пер с фр. М.:Мир, 2002; 4. Бауман Э. Измерение сил электрическими методами: Пер. с нем. Мир, 1978. Энергоатомиздат, 2001; 5. Воротников С.А. Информационные устройства робототехнических систем. М.: Изд. МГТУ им. Н.Э.Баумана, 2005 6. Вульвет Дж. Датчики в цифровых системах: Пер. с англ. М.:Энергоиздат, 2003; 7. Гориневский Д.М. Формальский А.М., Шнейдер А.Ю. Управление манипуляционными системами на основе информации об усилиях. М.:Изд.фирма «Физико-математическая литература», 2001; 8. Погребной В.О., Рожанковский И.В., Юрченко Ю.П. Основы информационных процессов в роботизированном производстве; 9. Письменный Г.В., Солнцев В.И., Воротников С.А. Системы силомоментного очувствления роботов. М.: Машиностроение, 20001>1> 1 2 |