Настройка скоростей joints / world

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Настройка скоростей joints / world

Сообщение Nick »

Для тривиальной кинематики все более-менее понятно Скорость оси = скорость перемещения вдоль оси = скорсть joint.
Но вот с нетривиальной кинематикой, не совсем понятно... В какая скорость указывается в ini в разделах axis и traj, откуда беруться ускорения для режимов world и joint?
И как все это правильно настроить?

Сказать по правде я тупо ставил большие значения на угад. Как мне показалось, что если поставить маленикие max_velocity для осей (скажем в моем случае это было 720 градусов в секунду), то потом станок не будет ездить на больших скоростях. Нормальные скорости получались при значениях 10 000...
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение PKM »

Nick писал(а):max_velocity для осей (скажем в моем случае это было 720 градусов в секунду)
оно вообще не различает поворотные оси, кажется.
точно не помню, я для параллельных ставлю joints_axes, там это чуть лучше сделано.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение Serg »

Для world скорости и ускорения ограничиваются в TRAJ.
Причем если там не указать ускорение, то оси будут стартовать и тормозить с максимальным.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение Nick »

PKM писал(а):точно не помню, я для параллельных ставлю joints_axes, там это чуть лучше сделано.
Не знаешь, планируется его в основную ветку запихать или нет?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение PKM »

Пока не планируется. А вот в форке machinekit - возможно )
umerov
Кандидат
Сообщения: 83
Зарегистрирован: 18 янв 2012, 21:22
Репутация: 21
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение umerov »

Как при использовании не тривиальной кинематики задать soft limits не в системе world а для каждого joint?
При использовании не стандартной кинематики, при ручном перемещени linuxcnc выводит только предупреждение что сработал soft limits и продолжает двигать оси дальше.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение Nick »

Хороший вопрос. :) Т.е. получается в ini в разделах [AXIS] задаются лимиты для World, а не для joint?
А какая используется кинематика?
umerov
Кандидат
Сообщения: 83
Зарегистрирован: 18 янв 2012, 21:22
Репутация: 21
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение umerov »

кинематика 5-и осевая с поворотной головой
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение Nick »

Можно попробовать их ограничивать через HAL... провести все команды осям через limit, и вставить туда пределы.
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение PKM »

Nick писал(а):получается в ini в разделах [AXIS] задаются лимиты для World, а не для joint?
Именно.
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение Nick »

Т.е. AXIS_0 - это X, 1-Y и т.д.?
И скорости тоже для world?
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение PKM »

Да. А по скоростям не скажу, скорее нет. Точно помню, что часть параметров относится к осям, а часть - к приводам.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Настройка скоростей joints / world

Сообщение nkp »

umerov писал(а):При использовании не стандартной кинематики, при ручном перемещени linuxcnc выводит только предупреждение что сработал soft limits и продолжает двигать оси дальше.
если лимит всё таки отслеживается (вывод предупреждения ) - то можно это использовать для блокировки движения ...
конечно - это уже не на уровне пользователя...

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

Re: Настройка скоростей joints / world

Сообщение Serg »

Режимы joints / world вообще плохо проработаны, такое ощущение что "навесили" это много позже...
В axis_joints сделана попытка в правильном направлении, но, к сожалению, только самая поверхностная. По хорошему надо весь motmod переделать с четким разделением joints и axis и только в "самом конце" делать привязку joint<->axis.
Или, как вариант, оставить там именно axis (и выкинуть оттуда всякую фигню типа процедур хомления и т.п.), а joints реализовать в виде отдельного HAL-компонента, который будет получать команды от axis и управлять моторами.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Ответить

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