Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методическое пособие 659

.pdf
Скачиваний:
8
Добавлен:
30.04.2022
Размер:
3.39 Mб
Скачать

6.7. Программная реализация алгоритмов планирования движения мобильного робота

Планирование движений тележки и манипулятора мобильного робота с учетом препятствий основано на уравнениях (3.24), (3.27–3.35). Программа 4 для расчета параметров при планировании движений тележки разработана в среде DELPHI 5.0 [28]. Ее алгоритм приведен на рис. 6.11.

В начале программы задаются длина и ширина тележки. Затем вводятся начальные значения координат х(t0), y(t0) центра масс транспортной тележки и их конечные значения

x(tT), y(tT), величина -области, начальные значения параметров b1, b2, b3, входящие в уравнение для определения курсового угла.

Далее в соответствии с параметрами препятствий рассчитываются координаты вершин прямоугольников, в кото-

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

Организуется цикл по времени. Рассчитывается началь-

ный курсовой угол (t, b2, b3), обеспечивающий движение к конечной точке по прямой линии, при этом b2 = b3 = 0. По

курсовому углу определяются координаты x(t, ), y(t, ). Для текущего значения x(t) определяются параметры ai, bi

такие, что ai < x(t) bi, и рассчитываются значения i, i. Для

координаты y(t) должно выполняться неравенство |y(t) – i| < i. Это означает, что тележка находится в свободной зоне.

Если данное неравенство верно, то текущее время увеличивается на период дискретности и начинается следующий шаг цикла со старыми коэффициентами b2, b3. Если условие нарушается, то производится коррекция коэффициентов b2, b3 с помощью конечно-сходящегося алгоритма «Полоска-1». Измененные параметры b2, b3 задаются на новом этапе расчета как начальные, и цикл начинается снова (t = 0). Так продолжается до тех пор, пока для всех участков при перемещении те-

лежки не будет выполняться условие |y(t) – i|< i.

180

Расчеты завершаются после того, как координаты х(t) и y(t) попадут в окрестность заданной опорной точки: x(t) = x(tT)

, y(t) = y(tT) , где – точность позиционирования тележки. Последние значения коэффициентов b2, b3 принимаются как результат вычислений и коррекции и выводятся на экран.

1Определение типов

массивов, переменных и функции f1

2

Ввод постоянных

параметров h, l

 

Ввод начальных

3

координат KX0,

KY0, конечных

 

координат KXt,

 

KYt и параметра d

Задание координат

4 препятствий

5 Расчет относитель-

ных координат препятствий и достижимой зоны

6

t = 0

 

 

7 Определение

начального значения курсового угла

8 Определение

курсового угла f

9

Определение

 

координат Х,Y

10

Определение

 

параметров Е и А

Нет

11 y – A > E

 

 

Да

12

Корректировка пара-

 

метров b22, b23

 

13 t = t + t

Нет

14

 

x – KXt <

 

 

 

 

 

 

 

 

y– KYt <

 

 

 

 

 

Да

 

 

 

 

 

 

15

Вывод параметров

 

 

 

b22, b23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Останов

 

 

 

 

 

Рис. 6.11. Алгоритм расчета параметров траектории

181

implementation

Программа 4

 

label 1,2,3,4,5;

 

var

{Определение типов переменных и массивов}

i,j,k,x0,y0:integer; z,t1,f0,b20,b21,b22,b23,a,e,h,t,q,P,l,f,d,KX0,KY0,KXt, KYt:real;

xp: array[1..2, 1..8] of real;

yp: array[1..2, 1..8] of real;

xn: array[1..2, 1..8] of integer;

yn: array[1..2, 1..8] of integer;

xz: array[1..2, 1..8] of integer;

yz: array[1..2, 1..8] of integer;

{$R *.DFM}

 

{функция для нахождения курсового угла f} function f1(t,b21,b22,b23:real):real;

begin f1:=(b21*t+b22*t*t+b23*t*sqr(t)); end;

procedure TForm1.Button1Click(Sender: TObject);

label 1,2;

 

begin

 

x0:=50; y0:=360; H:=1; l:=0.2;

{Параметры тележки}

{Начальные и конечные координаты, ширина допустимой зоны} KX0:=2; KY0:=2; KXt:=14.3; KYt:=7.8; d:=0.4; t1:=abs((KXt-KX0)/1);

if t1<=0 then t1:=5; b21:=0; b22:=0; b23:=0;

{ Задание координат препятствий }

xp[1,1]:=0;

xp[2,1]:=1.5;

xp[1,2]:=1.5;

xp[2,2]:=4;

yp[1,1]:=5;

yp[2,1]:=11;

yp[1,2]:=6;

yp[2,2]:=11;

xp[1,3]:=5;

xp[2,3]:=8;

xp[1,4]:=8;

xp[2,4]:=11;

yp[1,3]:=0;

yp[2,3]:=3.5;

yp[1,4]:=0;

yp[2,4]:=6.5;

xp[1,5]:=11; xp[2,5]:=18;

xp[1,6]:=4;

xp[2,6]:=20;

yp[1,5]:=0;

yp[2,5]:=3;

yp[1,6]:=9;

yp[2,6]:=11;

xp[1,7]:=16; xp[2,7]:=20;

 

 

yp[1,7]:=6;

yp[2,7]:=9;

 

 

{Расчет относительных координат и достижимой зоны} for i:=1 to 2 do

begin

182

for j:=1 to 8 do begin

xn[i,j]:=x0+trunc(xp[i,j]*25); yn[i,j]:=y0-trunc(yp[i,j]*25); xz[1,j]:=x0+trunc((xp[1,j]-d)*25); yz[1,j]:=y0-trunc((yp[1,j]-d)*25); xz[2,j]:=x0+trunc((xp[2,j]+d)*25); yz[2,j]:=y0-trunc((yp[2,j]+d)*25);

if xz[1,j]<x0 then xz[1,j]:=x0; if xz[2,j]<x0 then xz[2,j]:=x0; if yz[1,j]>y0 then yz[1,j]:=y0;

if yz[2,j]>y0 then yz[2,j]:=y0; end;

end;

1: t:=0; P:=KY0; f:=0; Q:=KX0+(KXt-KX0)*t/t1+l*cos(f);

f0:=arctan((KYt-KY0)/(KXt-KX0)); {Определение начального} if (Q>8) and (Q<10.5) then f0:=0; {значения курсового угла f}

repeat

 

f:=f0+f1(t,b21,b22,b23);

{Определение курсового угла f}

if f>1 then f:=1; if f<-1 then f:=-1; z:=(1+sqr(t)+sqr(t*t)+sqr(t*t*t)); Q:=KX0+(KXt-KX0)*t/t1+l*cos(f);{Определение координаты Х} P:=P+((KXt-KX0)*0.01/t1)*(sin(f)/cos(f)); {Определение Y}

if (Q>6) and (p>7.75) then begin p:=7.75; f:=0;

end;

if (Q>11) and (P<4.5) then begin p:=4.5; f:=0;

end;

if (Q>16) and (P<1.5) then begin p:=1.5; f:=0;

end;

{Определение параметров Е и А} if (q>0) and (q<=1.5+d) then begin e:=(5-d)/2; a:=(5-d)/2;

end;

183

if (q>1.5+d) and (q<=4+d) then begin e:=(6-d)/2; a:=(6-d)/2;

end;

if (q>4+d) and (q<=5-d) then begin e:=(9-d)/2; a:=(9-d)/2;

end;

if (q>5-d) and (q<=8-d) then begin e:=2.75-d; a:=6.25;

end;

if (q>8-d) and (q<=11+d) then begin e:=1.25-d; a:=7.75;

end;

if (q>11+d) and (q<=16-d) then begin e:=3-d; a:=6;

end;

if (q>16-d) and (q<=18+d) then begin e:=1.5-d;a:=4.5;

end;

{Определение знака выражения Q-A} if abs(p-A)>E then begin

k:=1;

if (p-A<0) then k:=-1;

{Корректировка параметров уравнения для курсового угла} b22:=b22-((p-A)-0.999*E*k)*t*t/z;

b23:=b23-((p-A)-0.999*E*k)*t*t*t/z;

goto 1; end; t:=t+0.01; i:=i+1;

until (Abs(q-Kxt)<0.4) and (Abs(p-Kyt)<0.4); {Вывод параметров уравнения для курсового угла} begin

Edit1.text:=FloatToStr(b22);

Edit2.text:=FloatToStr(b23);

end;

end;

184

Контрольные вопросы

1.Какие существуют варианты аппаратной реализации алгоритмов управления промышленными роботами?

2.Каким образом осуществляется выбор управляющей вычислительной машины?

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

4.Как можно аппаратно реализовать преобразователь кода в длительность импульсов?

5.Докажите соответствие уравнений (6.4) расчетной схеме манипулятора с угловой системой координат.

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

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

8.Покажите, что уравнение для кубического сплайна удовлетворяет условиям непрерывности сплайн-функции и приближения.

9.Получите выражения для определения скорости изменения кубического сплайна на s-ом и s+1-м временных интервалах.

10.Произведите вывод уравнений, следующих из условий непрерывности скоростей и условий равенства нулю скорости в начале и в конце траектории.

11.В чем состоит метод прогонки при решении системы алгебраических уравнений для определения параметров кубического сплайна?

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

13.Как осуществляется моделирование двухкоординатного робота с самонастраивающейся системой управления?

14.Опишите алгоритм программы для планирования траекторий движения мобильного робота.

185

ЗАКЛЮЧЕНИЕ

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

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

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

Совершенствуются методы робастного, нейро-нечеткого и адаптивного управления [6], [29], определены принципы проектирования адаптивных робототехнических систем для обработки материалов и нанесения нанопокрытий [30], разрабатываются информационные технологии навигации и управления пол том летательных роботов [31]. Опираясь на основы теории управления роботами, читатель должен следить за развитием новых направлений в этой области.

186

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1.Ключев, В. И. Теория электропривода [Текст] : учебник для вузов / В. И. Ключев. – 2-е изд., перераб. и доп. – М.: Энергоатомиздат, 2001. – 704 с.

2.Юревич, Е. И. Управление роботами и робототехническими системами [Текст] : учеб. пособие / Е. И. Юревич. – СПб.: Изд-во СПбГТУ, 2001. – 168 с.

3.Зенкевич, С. Л. Основы управления манипуляционными роботами [Текст] : учебник для вузов / С. Л. Зенкевич. – М.: Изд-во МГТУ им. Н. Э. Баумана, 2006. – 480 с.

4.Хапкина, И. К. Синтез управления роботами с использованием вектора скорости [Текст] / И. К. Хапкина // ТулГУ.

Технические науки. – 2013. – Вып. 9. – Ч. 1. – С. 186–192.

5.Крутько, П. Д. Управление исполнительными системами роботов [Текст] / П. Д. Крутько. – М.: Наука, 1991. – 336 с.

6.Методы робастного, нейро-нечеткого и адаптивного управления [Текст] : учебник / К. А. Пупков [и др.]; под общ. ред. Н. Д. Егупова. – М.: МГТУ, 2002. – 744 с.

7.Марчук, Г. И. Методы вычислительной математики [Текст] : учеб. пособие / Г. И. Марчук. – М.: Лань, 2009. – 608 с.

8.Бесекерский, В. А. Теория систем автоматического управления [Текст] / В. А. Бесекерский, Е. П. Попов. – 4-е изд., перераб. и доп. – М.: Профессия, 2004. – 752 с.

9.Ерофеев, А. А. Теория автоматического управления [Текст] : учебник для вузов / А. А. Ерофеев. – 3-е изд., стер. – М.: Политехника, 2008. – 302 с.

10.Ким, Д. П. Теория автоматического управления. Т.1. Линейные системы [Текст] : учебник для студентов вузов / Д. П. Ким. – 2-е изд., испр. и доп. – М.: Физматлит, 2007. – 312 с.

11.Мирошник, И. В. Теория автоматического управления. Линейные системы [Текст] : учеб. пособие / И. В. Мирош-

ник. – СПб: Питер, 2005. – 336 с.

187

12.Зуев, А. В. Особенности создания комбинированных позиционно-силовых систем управления манипуляторами [Текст] / А. В. Зуев, В. Ф. Филаретов // Известия РАН. Теория

исистемы управления. – 2009. – № 1. – С. 154–162.

13.Филаретов, В. Ф. Позиционно-силовое управление электроприводом манипулятора [Текст] / В. Ф. Филаретов, А. В. Зуев // Мехатроника, автоматизация, управление. – 2006. – № 9. – С. 20–24.

14.Филаретов, В. Ф. Разработка самонастраивающихся регуляторов для электроприводов многозвенных манипуляторов со сложной кинематической схемой [Текст] / В. Ф. Филаретов, А. Н. Жирабок, М. А. Никифоров // Мехатроника, автоматизация, управление. – 2002. – № 5. – С. 2–7.

15.Антонов, Н. В. Адаптивное управление в техниче-

ских системах [Текст] : учеб. пособие / Н. В. Антонов, В. А. Терехов, И. Ю. Тюкин. – СПб.: Изд-во СПб ГУ, 2001. –

244с.

16.Козаченко, В. Ф. Микроконтроллеры: руководство по применению 16-разрядных микроконтроллеров Intel MCS-

196/296 во встроенных системах управления [Текст] / В. Ф. Козаченко. – М.: Эком, 1997. – 688 с.

17.Гук, И. И. Сравнительный анализ цифровых сигнальных контроллеров TMS320x281x и TMS320x2833x [Текст] / И. И. Гук // Компоненты TI. Полный спектр применений: бюл. науч.-техн. информ. – 2008. – Вып. 1. – С. 2–12.

18.Козаченко, В. Ф. Перспективы применения специализированных сигнальных микроконтроллеров фирмы Texas Instruments ‘F28x в системах управления реального времени [Текст] / В. Ф. Козаченко, С. А. Грибачев // Инженерная микроэлектроника. СHIP NEWS. – 2002. – № 10. – С. 5–14.

19.Козаченко, В. Ф. Новые возможности семейства спе-

циализированных микроконтроллеров TMS320F2833x [Текст] / В. Ф. Козаченко // Новости электроники. 2008.

14. С. 7–14.

20.Баранов, В. Н. Применение микроконтроллеров AVR: схемы, алгоритмы, программы [Текст] / В. Н. Баранов. – 3-е изд., испр. – М.: ИД «Додэка-XXI», 2006. – 288 c.

188

21.Евстифеев, А. В. Микроконтроллеры AVR семейства Classic фирмы «ATMEL» [Текст] / А. В. Евстифеев. – М.: ИД «Додэка-XXI», 2002. – 288 с.

22.Евстифеев, А. В. Микроконтроллеры AVR семейства Mega [Текст] / А. В. Евстифеев. – М.: ИД «Додэка-ХХI», 2007. – 592 с.

23.Евстифеев, А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы «ATMEL» [Текст] / А. В. Евстифеев. – М.: ИД «Додэка-ХХI», 2004. – 560 с.

24.Контурное управление манипулятором с угловой системой координат [Текст] / А. И. Шиянов [и др.] // Электричество. – 1998. – № 5. – С. 40–42.

25.Медведев, В. А. Решение обратной задачи кинематики на ЭВМ итерационным методом [Текст] / В. А. Медведев, А. М. Семенов, А. И. Шиянов // Современные проблемы информатизации : тез. докл. II Республ. электрон. науч. конф. – Воронеж: Изд-во Воронежского педагогического ун-та, 1997. – С. 131.

26.Бахвалов, Н. С. Численные методы [Текст] : учебник для вузов / Н. С. Бахвалов, Н. П. Жидков, Г. М. Кобельков. – 6-е изд. – М.: Бином, 2008. – 636 с.

27.Медведев, В. А. Моделирование робота с взаимосвязанной адаптивной системой управления [Текст] / В. А. Медведев // Автоматизация и роботизация технологических процессов : матер. регион. науч.-техн. конф. – Воронеж: ВГТУ, 2005. – С. 16–18.

28.Медведев, В. А. Автономное планирование траектории движения мобильного робота [Текст] / В. А. Медведев, Л. Н. Стрельникова // Компьютерные технологии в промышленности и связи: матер. регион. науч.-техн. конф. – Воронеж: ВГТУ, 2002. С. 203–205.

29.Пенев, Г. Д. Робастное и адаптивное управление динамическими системами с запаздыванием [Текст] / Г. Д. Пенев, Е. Г. Иванова. СПб.: ИД СПбГУ, 2008. 96 с.

189