Страница 6 из 11

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 14:54
Serg
Тима писал(а):Так я же рисовал... область работы робота с запрещенными, разрешенными и условно-разрешенными зонами. И описал при каких условиях что делать...
С областью всё и так понятно, нужно прорисовать логику работы, вот как тут я в конфиге рисовал, чтоб самому понимать как оно работает: Re: AG-400. Пересадка мозга. #29
Если пытаться сразу в HAL это делать, то будет мильён ошибок и глюков и вообще работать не будет. :)

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:06
Тима
UAVpilot, а возможно ограничить движение в одном направлении?

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:15
Serg
Смотря что понимать под термином "ограничить"?..
Вот представь доехала ось до запретной зоны, а с axis.0 продолжает поступать команда на продолжение движения. Что тут можно сделать?..

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:28
Тима
В принципе, меня вариант с estop устраивает, но по нашему алгоритму на срабатывание этого estop выдается импульс и после его сброса ЕМС препятствовать дальнейшему движению в запретную зону не будет. Поэтому и хочется ограничить движение как ограничивается при достижении обычной рабочей зоны.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:35
Serg
Тима писал(а):В принципе, меня вариант с estop устраивает, но по нашему алгоритму на срабатывание этого estop выдается импульс и после его сброса ЕМС препятствовать дальнейшему движению в запретную зону не будет.
Так я ж предлагал в дополнении к этому сделать
UAVpilot писал(а):так, чтобы estop срабатывал каждый раз при попытке поехать не в ту сторону.
Тима писал(а):Поэтому и хочется ограничить движение как ограничивается при достижении обычной рабочей зоны.
Для этого надо как-то сообщить планировщику, что туда хотеть ехать не надо. Планировщик управляется только G-кодом, про это я тоже уже писал:
UAVpilot писал(а):Реализуется управляющей программой (G-код) очень просто - незаезжанием куда не надо.
:)

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:39
Тима
каюсь, проглядел это сообщение. а как можно это сделать? Делать динамическую границу запретной зоны? Т.е. смещать значения к примеру на 0.1мм при каждом срабатывании, а потом сбрасывать при выходе из запретной зоны...

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:50
Тима
С G-кодом понятно, тут он по программе работает и одного Estop достаточно. Программа прервалась, все остановилось и дальше на сцену выходит оператор. Он сбросил аварию и начинает гонять робот в ручном режиме. И вот тут подводный камушек затаился. Пока робот не выйдет из запретной зоны, повторно авария не сработает. Поэтому хочется сделать защиту от дурака.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 15:56
Serg
Тима писал(а):а как можно это сделать? Делать динамическую границу запретной зоны?
Я б сделал разное поведение этого "автомата" вне зоны и внутри зоны. Вне зоны: при заезде внутрь зоны жмём estop. Внутри зоны: при заезезде запоминаем с какой стороны заехали и при любом движении проверяем в какую сторону движемся - если в сторону "углубления" в запретную зону, то тоже жмём estop.
Вот это всё и надо сначала схематически изобразить и проработать, лично у меня мозгов не хватит чтоб сразу это в HAL делать...

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 16:02
Тима
UAVpilot писал(а):Я б сделал разное поведение этого "автомата" вне зоны и внутри зоны.
А что если сделать разные скорости движения в разных зонах. т.е. в запретной зоне сбросить скорость практически в "0". И оператор, если не хочет умышленно угробить робот скоординируется куда надо двигаться. Или/и сделать возможность двигаться в запретной зоне только при удержании кнопки.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 16:22
Serg
при нулевой скорости движение никогда не закончится, а все будут стоять и ждать его окончания. При скорости чуть больше нуля заезд в запретную зону рано или поздно произойдёт и с этим всё равно придётся что-то делать...

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 16:36
Тима
UAVpilot писал(а):при нулевой скорости движение никогда не закончится, а все будут стоять и ждать его окончания. При скорости чуть больше нуля заезд в запретную зону рано или поздно произойдёт и с этим всё равно придётся что-то делать...
Когда я говорил "практически в 0", я имел в виду очень маленькую скорость, чтоб оператор успел остановить робот в случае приближения к препятствию.

В свободной зоне робот ездит с нормальной скоростью. Робот заехал в запретную зону, сработал естоп, при этом сбросил скорость, пока робот не выйдет из опасной зоны. Остановились и робот и ТПА. Здесь не надо продолжать УП с места останова. Надо все вывести на стартовую позицию и запустить заново. Это будет делать оператор нажимая кнопки. Пока оператор ведет робот "не в ту сторон", робот ездит с маленькой скоростью. как выехал из опасной зоны - скорость восстановилась. Если случайно опять заедет в запретную зону, опять естоп и маленькая скорость.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 17:06
Тима
На быструю руку набросал вот такой алгоритм:
www.jpg (2337 просмотров) <a class='original' href='./download/file.php?id=44720&mode=view' target=_blank>Загрузить оригинал (43.08 КБ)</a>
По этому алгоритму получается, пока робот в свободной зоне выход с блока AND "0" - сообщения не выводим, станок не тормозим, скорость =100. Как заехали в запретную зону, имеем выход с AND "1" - тормозим станок, выводим сообщение и скорость 10.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 19:17
Serg
Тима писал(а):Когда я говорил "практически в 0", я имел в виду очень маленькую скорость, чтоб оператор успел остановить робот в случае приближения к препятствию.
Чем лучше estop, нажатый оператором, нежели estop "нажатый автоматом"?.. :)
Тима писал(а):Как заехали в запретную зону, имеем выход с AND "1" - тормозим станок, выводим сообщение и скорость 10.
Только вот axis.N будет думать, что ось едет с нормальной скоростью и если не будет обратной связи, то реальное положение оси будет отличаться от того, что думает по этому поводу LinuxCNC. А если будет обратная связь, то всё просто вырубится по ferror.

Моё мнение: менять скорость - тухлый номер.
Тима писал(а):На быструю руку набросал вот такой алгоритм:
Это лишь малая часть... Нужно каким-то образом запомнить с какой стороны случилось нарушение границы, нужны детекторы направления движения, нужно как-то сравнивать направление нарушения и направление движения... Вот это надо всё прорисовывать попутно соображая с помощью каких компонентов делать каждую часть...

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 19:23
Тима
UAVpilot писал(а): Нужно каким-то образом запомнить с какой стороны случилось нарушение границы,
По Х и Z. Авария будет если нарушение и там и там. Если только по одной оси нарушение, это не авария, свободная зона П-образная.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 19:26
Тима
UAVpilot писал(а):Только вот axis.N будет думать, что ось едет с нормальной скоростью
Как он может так думать, если мы программно "нажали" Естоп? Станок аварийно остановился.

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 20:23
Тима
UAVpilot, не будем бежать впереди поезда. Будем решать проблемы по мере поступления. Алгоритм пока такой:
www1.jpg (2307 просмотров) <a class='original' href='./download/file.php?id=44742&mode=view' target=_blank>Загрузить оригинал (31.87 КБ)</a>
В этом алгоритме недоделано только Estop. Пока это на получается.
Нашел в доках это: http://linuxcnc.org/docs/devel/html/man ... tch.9.html
Это то, что мне нужно?

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 06 мар 2015, 21:59
Тима
Пытаюсь задействовать программный E-stop, описанный в доке по сЦылке сообщением выше.
Итог такой:
ww.jpg (2301 просмотр) <a class='original' href='./download/file.php?id=44752&mode=view' target=_blank>Загрузить оригинал (286.53 КБ)</a>
Добавляю строчку loadrt estop_latch count=1, ЕМС запускается.
добавляю строчку addf estop_latch.0 servo-thread , выдает ошибку "функция не найдена".
Что я не так делаю? :thinking:

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 07 мар 2015, 00:27
Serg
Тима писал(а):По Х и Z. Авария будет если нарушение и там и там. Если только по одной оси нарушение, это не авария, свободная зона П-образная.
Ну можно-же нарушить границу зоны при движении по Z, а попытаться выехать из неё движением по X...
Тима писал(а):Как он может так думать, если мы программно "нажали" Естоп? Станок аварийно остановился.
А после того как нарушили границу, но до того как нажали estop?..
Тима писал(а):В этом алгоритме недоделано только Estop.
почему недоделано? там осталось собственно сформированный сигнал robotalarm подать на halui.estop.activate
Тима писал(а):добавляю строчку addf estop_latch.0 servo-thread , выдает ошибку "функция не найдена".
Что я не так делаю? :thinking:
Доку читаешь невнимательно:
SYNOPSIS
loadrt estop_latch [count=N|names=name1[,name2...]]
...
FUNCTIONS
estop-latch.N
:)

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 07 мар 2015, 08:34
Тима
UAVpilot писал(а):почему недоделано? там осталось собственно сформированный сигнал robotalarm подать на halui.estop.activate
Ну, вот это и не было доделано... Теперь уже доделано. :good:
UAVpilot писал(а):Доку читаешь невнимательно:
:oops:

Re: нестандартная рабочая зона на ЕМС для робота

Добавлено: 07 мар 2015, 09:02
Тима
В принципе я доволен. Но еще раз возвращаясь к скорости...
ww1.jpg (2275 просмотров) <a class='original' href='./download/file.php?id=44772&mode=view' target=_blank>Загрузить оригинал (136.62 КБ)</a>
Если менять скорость через этот ползунок, ЕМС ведь будет "знать" что скорость изменилась?
И можно программно через этот ползунок менять скорость в процессе работы робота?