Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие_v0.2.9.pdf
Скачиваний:
20
Добавлен:
11.03.2015
Размер:
1.42 Mб
Скачать

Еще один немаловажный способ увеличения удобства понимания реализован- ного алгоритма это использование комментариев. В среде MathCAD они задаются с помощью текстовых блоков, задаваемых либо «горячей» клавишей «"» (вместе с

Shift).

3.1.3. Работа с векторами и матрицами.

Ввода шаблона вектора или матрицы в документ можно добиться нескольким способами: «горячей» комбинацией Ctrl+M; выбором пиктограммы на панели Matrix; с помощью пункта меню Insert Matrix… Каждое из перечисленных дейст- вий приведет к вызову мастера «Insert Matrix», на полях Rows и Columns которого необходимо задать число строк и столбцов соответственно. После этого в документ будет вставлен шаблон матрицы в круглых скобках, который необходимо заполнить значениями элементов.

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

3.2.Тестирование алгоритма.

3.2.1.Классификация ошибок.

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

ется тестирование.

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

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

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

51

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

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

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

3.2.2. Проверка правильности решения прямой задачи о положениях манипулятора ПР.

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

Так для кинематической структуры манипулятора ПР модели М20П.40.01 (рис. 2.4, б) справедливо следующее векторное уравнение:

çæ xA ÷ö

çæ(s3 + L4 )×cos(ϕ1 +π

ç yA ÷

= ç (s3 + L4 )×sin(ϕ1 +π

ç z

÷

ç

s

2

+ L

è

A ø

è

 

2

/2)ö æ -(s3 + L4 ) ×sin (ϕ1 )ö

/2)÷÷ = çç (s3 + L4 )×cos(ϕ1 ) ÷÷ .

÷ç s + L ÷ ø è 2 2 ø

На основании результатов п. 2.3.2. для вычисления координат точки схвата ро- бота было получено векторно-матричное уравнение, преобразование которого дает

следующий вектор:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ -(s3 + L4 )sinϕ1

 

 

æ cosϕ1

-sinϕ1

0

0

öæ1

0

0

0

öæ1

0

0

0

öæ 0

ö

 

ö

 

ç

 

cosϕ1

0

0

֍

0

0

1

0

֍

0

1

0

0

֍

0

÷

 

ç

(s3 + L4 )cosϕ1

÷

 

ç sinϕ1

֍

֍

֍

÷

=

ç

÷

.

ç 0

0

1

s

֍0 -1

0

L

֍0 0 1 s

֍ L

÷

ç

s

 

+ L

÷

 

2

 

ç

 

 

 

2

֍

 

 

 

2

֍

 

 

 

3

֍

4

 

ç

 

2

÷

 

0

0

0

1

0 0

0

1

0 0 0 1

1

÷

 

ç

 

 

1

÷

 

è

øè

øè

øè

ø

 

è

 

 

ø

 

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

Однако подобный подход оправдан при расчете сравнительно простых струк- тур. Уже для кинематической структуры манипулятора ПР мод. М10П.62.01, имеющей, кстати, тоже 4 степени подвижности, расчет координат точки схвата в неподвижной системе выглядит сложнее. Проверка правильности решения задачи для структуры, представленной на рис. 2.3, при использовании такого метода весь- ма трудоемка.

52

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

Проведем проверку для кинематической структуры манипулятора ПР мод. М10П.62.01. Назначим постоянные параметры структуры: L1 = 350 , L2 = 250 ,

R2 = 200 , L3 = 500 , L4 = 100 . Для нужд тестирования назначим так же и перемен- ные параметры кинематической структуры обобщенные координаты: ϕ1 = −90o ,

ϕ2

= 180o ,

s3 = 50

(рис. 3.1, а); ϕ1 = 90o ,

ϕ2 = 180o , s3 = 60 (рис. 3.1, б); ϕ1 = 0o ,

ϕ2

= 90o , s3

= −40

(рис. 3.1, в).

 

 

а)

 

б)

в)

Рис. 3.1. Различные положения кинематической структуры манипулятора ПР.

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

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

Проверим теперь алгоритм расчета кинематической структуры манипулятора, представленного на рис. 2.3. Назначим постоянные параметры структуры: L1 = 200 ,

R2 = 150 , R3 = 100 , L3 = 300 , L4 = 350 , L5 =100 , L6 = 100 , L7 = 200 , R7 = 100 ,

L8 = 150 , L9 = 100 , R9 = 20 . Кроме этого зададим переменные параметры кинема- тической структуры обобщенные координаты: s1 = 100 , α2 = 90o , s3 =150 ,

53

α4

= 90o ,

s5

= -50 , α6 = 180o ,

 

s7 = 200 ,

α8 = 270o ,

α9

= 0

 

(рис. 3.2, а);

s1 = 80 ,

α2

= 90o , s3

=100 , α4

= 90o , s5

= -70 , α6

= 270o , s7 = 150 , α8

= 270o , α9 = 90o (рис.

3.2, б);

s1 = 110 ,

α2

= 180o ,

s3

=120 ,

α4 = 180o ,

s5 = 60 ,

α6 = 180o ,

s7 = 180 ,

α8

= 90o , α9

=180o

(рис. 3.2, в).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таблица 3.1

 

 

Результаты «ручного» расчета

Результаты выполнения алгоритма

 

 

 

æ x ö

 

æ -(L2 + L3 + L4 )

ö

 

æ -850ö

 

 

æ -850ö

 

 

 

 

 

 

 

 

ç

550

÷

 

 

 

 

ç y ÷ =

ç

L + R

 

÷ =

ç

550

÷

 

A = ç

÷

 

 

 

 

ç ÷

 

ç

1

2

 

÷

 

ç

50

÷

 

0

ç 50 ÷

 

 

 

 

ç z ÷

 

ç

s

 

 

÷

 

ç

÷

 

 

ç

 

 

÷

 

 

 

 

è

ø

 

è

3

 

 

ø

 

è

 

 

ø

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

 

 

 

 

 

æ x ö

æ L2 + L3 + L4

ö

 

æ 850 ö

 

 

 

æ

850 ö

 

 

 

 

 

 

 

 

 

ç

550

÷

 

 

 

 

 

ç y

÷

= ç

L + R

÷

=

ç

550

÷

 

 

A = ç

÷

 

 

 

 

 

ç

÷ ç

1

2

÷

 

ç

-60

÷

 

 

0

ç -60÷

 

 

 

 

 

ç z

÷ ç

-s

÷ ç

÷

 

 

 

ç

 

 

÷

 

 

 

 

 

è

ø

è

 

3

ø

 

è

 

 

ø

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

 

 

 

 

æ x ö æ

s3

 

 

ö æ -40 ö

 

 

æ

-40 ö

 

 

 

 

 

 

 

 

ç

 

 

÷

 

 

 

 

ç y

÷ = ç L + L + L + L

÷ = ç

1200

÷

 

A = ç1200 ÷

 

 

 

 

ç

÷

ç 1

2

3

4

÷

 

ç

 

 

÷

 

0

ç -200÷

 

 

 

 

ç z

÷

ç

-R

 

÷

 

ç

-200÷

 

 

ç

 

 

÷

 

 

 

 

è

ø

è

 

2

 

ø

 

è

 

 

ø

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

 

 

 

 

Для случаев, изображенных на рис. 3.2, координаты точки схвата робота также

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

а) б) в)

Рис. 3.2. Различные положения кинематической структуры.

54

Таблица 3.2

 

 

 

 

Результаты «ручного» расчета

 

 

Результаты выполнения

 

 

 

 

 

 

алгоритма

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

æ x ö

æ

 

s1 + s5 - L8 - L9

 

 

ö

 

æ -200ö

 

 

æ

-200ö

 

 

 

 

 

 

ç

900

÷

ç y

÷

= ç R - R + L + L + s + L

÷

=

ç

900

÷

 

A = ç

÷

ç

 

÷

ç

2

3

4

5 7

 

7

÷

 

ç

770

÷

 

0

ç

770

÷

ç z

÷

ç

L + s + L + R + R

 

÷

 

ç

÷

 

 

ç

 

÷

è ø è

1

3

3

7

9

 

ø è

 

ø

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

æ x ö

æ

 

s1 + s5 - L8 - L9

 

 

ö

 

æ -240ö

 

 

æ

-240ö

 

 

 

 

 

 

ç

400

÷

ç y

÷

= ç

R - R + L + L - R

 

÷

=

ç

400

÷

 

A = ç

÷

ç

 

 

÷

ç

2

3

4

5

7

 

÷

 

ç

970

÷

 

0

ç

970

÷

ç z

÷

ç L + s + L + s

+ L + R

÷

 

ç

÷

 

 

ç

 

÷

è ø è

1

3

3 7

7

 

9

ø è

 

ø

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

æ x ö

 

 

æ

s1 - R2 + R3 + R7 - R9

 

 

ö

 

æ 140 ö

 

æ

140 ö

 

 

 

 

 

 

ç

310

÷

ç y

÷

=

ç

 

s + L + L

 

 

 

÷

= ç 310

÷

A = ç

÷

ç

÷

 

 

ç

 

5

8

9

 

+ L

÷

 

ç

 

÷

0

ç1450÷

ç z

÷

 

 

ç L + s + L + L + L + s

7

÷

 

ç1450

÷

 

ç

 

÷

è

ø è 1

3

3

4

5

 

7 ø è

 

ø

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

è

ø

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

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

55