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

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Тима писал(а):Так я же рисовал... область работы робота с запрещенными, разрешенными и условно-разрешенными зонами. И описал при каких условиях что делать...
С областью всё и так понятно, нужно прорисовать логику работы, вот как тут я в конфиге рисовал, чтоб самому понимать как оно работает: Re: AG-400. Пересадка мозга. #29
Если пытаться сразу в HAL это делать, то будет мильён ошибок и глюков и вообще работать не будет. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot, а возможно ограничить движение в одном направлении?
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Смотря что понимать под термином "ограничить"?..
Вот представь доехала ось до запретной зоны, а с axis.0 продолжает поступать команда на продолжение движения. Что тут можно сделать?..
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

В принципе, меня вариант с estop устраивает, но по нашему алгоритму на срабатывание этого estop выдается импульс и после его сброса ЕМС препятствовать дальнейшему движению в запретную зону не будет. Поэтому и хочется ограничить движение как ограничивается при достижении обычной рабочей зоны.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Тима писал(а):В принципе, меня вариант с estop устраивает, но по нашему алгоритму на срабатывание этого estop выдается импульс и после его сброса ЕМС препятствовать дальнейшему движению в запретную зону не будет.
Так я ж предлагал в дополнении к этому сделать
UAVpilot писал(а):так, чтобы estop срабатывал каждый раз при попытке поехать не в ту сторону.
Тима писал(а):Поэтому и хочется ограничить движение как ограничивается при достижении обычной рабочей зоны.
Для этого надо как-то сообщить планировщику, что туда хотеть ехать не надо. Планировщик управляется только G-кодом, про это я тоже уже писал:
UAVpilot писал(а):Реализуется управляющей программой (G-код) очень просто - незаезжанием куда не надо.
:)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

каюсь, проглядел это сообщение. а как можно это сделать? Делать динамическую границу запретной зоны? Т.е. смещать значения к примеру на 0.1мм при каждом срабатывании, а потом сбрасывать при выходе из запретной зоны...
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

С G-кодом понятно, тут он по программе работает и одного Estop достаточно. Программа прервалась, все остановилось и дальше на сцену выходит оператор. Он сбросил аварию и начинает гонять робот в ручном режиме. И вот тут подводный камушек затаился. Пока робот не выйдет из запретной зоны, повторно авария не сработает. Поэтому хочется сделать защиту от дурака.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Тима писал(а):а как можно это сделать? Делать динамическую границу запретной зоны?
Я б сделал разное поведение этого "автомата" вне зоны и внутри зоны. Вне зоны: при заезде внутрь зоны жмём estop. Внутри зоны: при заезезде запоминаем с какой стороны заехали и при любом движении проверяем в какую сторону движемся - если в сторону "углубления" в запретную зону, то тоже жмём estop.
Вот это всё и надо сначала схематически изобразить и проработать, лично у меня мозгов не хватит чтоб сразу это в HAL делать...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot писал(а):Я б сделал разное поведение этого "автомата" вне зоны и внутри зоны.
А что если сделать разные скорости движения в разных зонах. т.е. в запретной зоне сбросить скорость практически в "0". И оператор, если не хочет умышленно угробить робот скоординируется куда надо двигаться. Или/и сделать возможность двигаться в запретной зоне только при удержании кнопки.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

при нулевой скорости движение никогда не закончится, а все будут стоять и ждать его окончания. При скорости чуть больше нуля заезд в запретную зону рано или поздно произойдёт и с этим всё равно придётся что-то делать...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

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

В свободной зоне робот ездит с нормальной скоростью. Робот заехал в запретную зону, сработал естоп, при этом сбросил скорость, пока робот не выйдет из опасной зоны. Остановились и робот и ТПА. Здесь не надо продолжать УП с места останова. Надо все вывести на стартовую позицию и запустить заново. Это будет делать оператор нажимая кнопки. Пока оператор ведет робот "не в ту сторон", робот ездит с маленькой скоростью. как выехал из опасной зоны - скорость восстановилась. Если случайно опять заедет в запретную зону, опять естоп и маленькая скорость.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

На быструю руку набросал вот такой алгоритм:
www.jpg (2334 просмотра) <a class='original' href='./download/file.php?id=44720&mode=view' target=_blank>Загрузить оригинал (43.08 КБ)</a>
По этому алгоритму получается, пока робот в свободной зоне выход с блока AND "0" - сообщения не выводим, станок не тормозим, скорость =100. Как заехали в запретную зону, имеем выход с AND "1" - тормозим станок, выводим сообщение и скорость 10.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

Моё мнение: менять скорость - тухлый номер.
Тима писал(а):На быструю руку набросал вот такой алгоритм:
Это лишь малая часть... Нужно каким-то образом запомнить с какой стороны случилось нарушение границы, нужны детекторы направления движения, нужно как-то сравнивать направление нарушения и направление движения... Вот это надо всё прорисовывать попутно соображая с помощью каких компонентов делать каждую часть...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot писал(а): Нужно каким-то образом запомнить с какой стороны случилось нарушение границы,
По Х и Z. Авария будет если нарушение и там и там. Если только по одной оси нарушение, это не авария, свободная зона П-образная.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot писал(а):Только вот axis.N будет думать, что ось едет с нормальной скоростью
Как он может так думать, если мы программно "нажали" Естоп? Станок аварийно остановился.
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot, не будем бежать впереди поезда. Будем решать проблемы по мере поступления. Алгоритм пока такой:
www1.jpg (2304 просмотра) <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
Это то, что мне нужно?
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

Пытаюсь задействовать программный E-stop, описанный в доке по сЦылке сообщением выше.
Итог такой:
ww.jpg (2298 просмотров) <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:
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение 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
:)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

UAVpilot писал(а):почему недоделано? там осталось собственно сформированный сигнал robotalarm подать на halui.estop.activate
Ну, вот это и не было доделано... Теперь уже доделано. :good:
UAVpilot писал(а):Доку читаешь невнимательно:
:oops:
Дорогу осилит идущий!
Я все пойму, Вы только дайте денег!!!
Аватара пользователя
Тима
Почётный участник
Почётный участник
Сообщения: 3162
Зарегистрирован: 01 мар 2012, 20:47
Репутация: 1089
Настоящее имя: Тимур
Откуда: КБР
Контактная информация:

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

Сообщение Тима »

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

Вернуться в «LinuxCNC»