PDA

Просмотр полной версии : апроксимация Ptp-lin Kr60


sabbonis
12.12.2014, 10:32
товарищи, доброго времени суток!


при программировании робота Kuka Kr60 возникла такая проблема, что при переходе из Ptp движения (очень близкого по форме траектории к линейному) в Lin робот как-бы "клюет", те делает непонятное движение вниз, потом возвращается на Lin траекторию и двигается дальше. фланец робота двигается в горизонтальной плоскости, робот в режиме паллетизатора, $advance=1.
Как можно избавиться от такого эффекта и с чем он может быть связан?

Ptp Pos_117 C_ptp C_vel
Position=117
Endif

Continue
If .... Then
....
Endif

Message_no=130
Continue
Wait For ....
Message_no=0

Lin Pos_113 C_vel
Position=113

Заранее благодарен!

zof
12.12.2014, 12:22
может быть у вас в параметрах движения Ptp включен "обвод"?

Броневой
12.12.2014, 13:17
товарищи, доброго времени суток!


при программировании робота Kuka Kr60 возникла такая проблема, что при переходе из Ptp движения (очень близкого по форме траектории к линейному) в Lin робот как-бы "клюет", те делает непонятное движение вниз, потом возвращается на Lin траекторию и двигается дальше. фланец робота двигается в горизонтальной плоскости, робот в режиме паллетизатора, =1.
Как можно избавиться от такого эффекта и с чем он может быть связан?

Ptp Pos_117 C_ptp C_vel
Position=117
Endif

Continue
If .... Then
....
Endif

Message_no=130
Continue
Wait For ....
Message_no=0

Lin Pos_113 C_vel
Position=113

Заранее благодарен!

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

sabbonis
13.12.2014, 07:42
Совершенно верно, обвод включен, я ведь указал что $advance=1. Дело в том, что робот практически ходит до точки начала движения LIN, замедляется, затем делает непонятное движение вниз и не останавливаясь продолжает движение по LIN. Откуда берется это непонятное движение? Ведь логически он должен просто замедлиться и перейти в LIN.

РОБОТ-Н
13.12.2014, 09:18
Совершенно верно, обвод включен, я ведь указал что =1. Дело в том, что робот практически ходит до точки начала движения LIN, замедляется, затем делает непонятное движение вниз и не останавливаясь продолжает движение по LIN. Откуда берется это непонятное движение? Ведь логически он должен просто замедлиться и перейти в LIN.

А на сколько он клюёт?

zof
14.12.2014, 17:10
$advance-это не обвод, а предрасчет , и для того чтобы работал предрасчет траектории необходимо ставить $advance=3. Обвод задается в параметрах движения функцией СONT

zof
14.12.2014, 17:17
попробуйте $advance=3, CONT не включайте, тогда робот отработает РТР, притормозится и начнет отрабатывать LIN. И если РТР по длине короток , то никакой дуги не должно быть заметно

ProductManager
16.12.2014, 23:44
to ZOF
Для отработки CONT (сглаживания) достаточно $advance=1.

1. Проверьте нагрузочные данные, используемого TOOL на соответствие реальности.
2. Каково значение переменной $apo.cvel ?
3. Continue распространяется только на одну последующую строчку. В ... нет ли команд останавливающих препроцессор?
4. Попробуйте поменять c_vel на c_dis, предварительно указав $apo.cdis=...

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

zof
17.12.2014, 08:29
Ну да,я ошибся, по документации $advance должен быть хотя бы =1.
На моих роботах перекладчиках $advance=3, но движение LIN в моем примере отрабатывается с обводом только первые 2 цикла когда скорость замедленная

LIN in3 CONT Vel=0.8 m/s lh Tool[5]:Entnahmehub Flansch Base[0]

CONTINUE
IF $EXT AND (CNT_CYCLES >= 2) THEN
WAIT SEC 0
$OV_PRO = OV_PRO_FAST
ENDIF

TRIGGER WHEN DISTANCE=1 DELAY=0 DO MotionStep=17
PTP in4 CONT Vel=100 % wh Tool[5]:Entnahmehub Flansch Base[0];%