Методическое пособие 659
.pdf6.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