Программная коррекция кривизны портала

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение a321 »

nkp писал(а):такой командой компилируется для rip версии(емс собранный из исходников)
Ясно. Нет, я скачивал дистрибутив и чисто его ставил. Как компилировать в таком случае?
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение nkp »

sudo halcompile --install имя_файла
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение a321 »

make KBUILD_EXTRA_SYMBOLS=/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/Module.symvers -C /usr/src/linux-headers-3.4-9-rtai-686-pae SUBDIRS=`pwd` CC=gcc V=0 modules
make[1]: Entering directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
CC [M] /tmp/tmpI4tJlO/krivkins.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/tmpI4tJlO/krivkins.mod.o
LD [M] /tmp/tmpI4tJlO/krivkins.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
cp krivkins.ko /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/

Ну он и ранее там был, я по ls это показал.

сейчас, после исправлени моей ошибки (не указал kins=krivkins tp=tp) он вылетает с указанием на

.
Error: could not insert module /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/motmod.ko: Unknown symbol in module
./custom.hal:2: exit value: 1
./custom.hal:2: insmod for motmod failed, returned -1
See the output of 'dmesg' for more information.
8894
Stopping realtime threads
Unloading hal components
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение a321 »

пойдем по пунктам -
1. в главном hal закрыли -
#loadrt trivkins
#loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

2. в кастом hal вписали -
loadrt krivkins coordinates=XY adjust=X from=Y steps=2 step_size=1000 offset=-550

а теперь версии -
2.1. loadrt tp
2.2. loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES kins=krivkins tp=tp
2.3. loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

3. варианты формата задания корректирующих значений, задаваемых ниже записей по п. 2 в случае коррекции только Х от У (неперпендикулярность портала) -
3.1. setp krivkins.adjX.Y-500 0
3.2 setp krivkins.adjX.Y500_X100 30
Пожалуйста актуализируйте инструкции применительно к текущим версиям файлов krivkins и последнему опубликованному в топике relkins
И как это все применять "на лету"?
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение a321 »

кто-б еще сказал, что halcmd show pin krivkins надо запускать при запущенном LinuxCNC/

halcmd show pin krivkins
Component Pins:
Owner Type Dir Value Name
6 float IN 0 krivkins.adjX.Y-550
6 float IN 0 krivkins.adjX.Y450

Отлично, значит оно есть и запускается. Соответственно с парой -
loadrt krivkins coordinates=XY adjust=X from=Y steps=2 step_size=1000 offset=-500
setp krivkins.adjX.Y-500 0
setp krivkins.adjX.Y500 30

Оно запускается. Но при попытке включения (F2) аборт с сообщением joint0 following error.

Изменил корректор 30 на 0.2 - запускается. На 0.9 - аборт. Где-то там внутри что-то на цифрах падает.
Тогда переключился на relkins и оно заработало. Спасибо nkp за помощь со старой (работоспособной) версией relkins.
Соберу инструкцию по выравниванию и выложу в отдельный топик.
Аватара пользователя
alejandro52
Новичок
Сообщения: 4
Зарегистрирован: 28 ноя 2020, 06:22
Репутация: 0
Настоящее имя: Alexander
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение alejandro52 »

День добрый!
Помогите плз, изучил весь топик, но так и не понял, в какой файл и каким образом можно скорректировать одну ось Х,
например для Х=1000 дельта =-2мм, Х=2000 дельта=+1мм и тп...
a321
Мастер
Сообщения: 563
Зарегистрирован: 03 дек 2016, 00:30
Репутация: 65
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение a321 »

На отметке Х дельта -2 по У? или у Вас сама Х настолько нелинейна? - тогда чудно.
Если же речь о "на Х дельта по У", то я ни в какой файл не записываю, а ввожу вручную в терминале (даже проще - стрелка вверх (готова предыдущая команда = команда на компенсацию)). Параметр на неответственных работах каждый раз использую как "последний примененный". На ответственных (перпендикулярность, детали с переворотом) каждый раз замеряю (автоматом) геометрию станка, вычисляю отклонение, даю команду в терминале. Если нужно несколько строк, то я бы делал скриптом, в котором просто строки команд с параметрами компенсации (их хорошо бы перемерять регулярно).
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

a321 писал(а): Помогите плз, изучил весь топик, но так и не понял, в какой файл и каким образом можно скорректировать одну ось Х,
например для Х=1000 дельта =-2мм, Х=2000 дельта=+1мм и тп...
В первую очередь надо не топики читать, а документацию: http://linuxcnc.org/docs/devel/html/con ... gt_section
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): В первую очередь надо не топики читать, а документацию:
Про компенсационный файл когда-то читал, но так и не понял, как им пользоваться.
Я на своем ТВ-16 удачно запустил компенсацию люфта по обом осям.
Но на поперечке у меня гнутый винт и дает "гуляние" при каждом обороте одинаковое смещение.
Хотел это как-то учесть програмно, но не понял как пользоваться приведёнными примерами.
Создается файл компенсации, прописывается к нему путь.
Есть 2 варианта его описания. И на этом понимание описанного остановилось.
If COMP_FILE is specified for an joint, BACKLASH is not used. A COMP_FILE_TYPE must be specified for each COMP_FILE.
Отключается ли компенсация люфта? Или это вместо компенсации люфта, только детализировано?
Для каждой оси нужен свой файл, или всё описывается в одном? Но судя по цитате для каждой оси свой.
На сколько я понял, то первый тип первым прописывается координата, потом люфт в положительную сторону перемещения, мотом люфт в отрицательную.
И так сколько строк нужно описать - не понятно... И получу ли нужный результат в моем случае.
На данный момент компенсация люфта на поперечке 0,47мм. А когда протачивался конус, то при вращении винта на определенный участках ось Х притормаживает. И так при каждом обороте.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

Используется вместо backlash.
Для каждого привода свой файл. На одной оси может быть несколько приводов.
Количество строк не более 256, но можно пересобрать с любым ограничением. Например при шаге винта 5мм можно будет прописать значения для каждых 2.5мм.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): 19 май 2021, 09:30 Используется вместо backlash.
Для каждого привода свой файл. На одной оси может быть несколько приводов.
Количество строк не более 256, но можно пересобрать с любым ограничением. Например при шаге винта 5мм можно будет прописать значения для каждых 2.5мм.
Т.е. грубо говоря, мне нужно это для каждого оборота прописать шагом а 1.5мм и найти промежуток, где начинается "останов" и снова продвигается? На полтора мм нужно указать 4 отрезка и так на всём ходу?
Или может хватит прописать именно те места, где останавливается и дальше продвигается?
Если у меня ход 100 мм, датчик дома и софт лимиты +20 и -80, то наверное проще использовать "0"-й тип и по УЦИ прописать координаты в положительном движении и отрицательном.
На сколько я понял, то первое значение координата, что показывает в окне ЛЦНЦ, а вторая что показывает УЦИ в положительном направлении, а третья в отрицательном направлении УЦИ.
А как изначальный люфт прописать? Просто 0,47/2? и тогда первое значение 20 20,24 19,77 ; второе 18,5 18,74 18,27? А между первым и вторим прописать ещё 2 "скачка"?
Или выбрать люфт в одном направлении и тогда первое 20 20 19.53 ; второе 18.5 18.5 18.03 ?
А там где останов я не знаю ещё какой люфт.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

Файл создаётся просто: привод перемещается в заданную позицию, замеряется реальное положение и записывается в файл. И так для всех желаемых точек на прямом и обратном пути. Между точками будет линейная апроксимация.
Первое значение - координаты, которые показываются в LinuxCNC и используются в УП.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): Файл создаётся просто: привод перемещается в заданную позицию
Тут понятно
Serg писал(а): замеряется реальное положение и записывается в файл.
А это как сделать? Относительно чего измеряется реальное положение? Обнулиться можно в любой координате, или же по домашнему положению.
Если я начну с +20 и буду перемещаться в минимум -80 по ходу выбирается люфт. Не учитывая "скачков" на всём протяжении люфт 0,47мм.
И получу картину вот такую
xenon-alien писал(а): Или выбрать люфт в одном направлении и тогда первое 20 20 19.53 ; второе 18.5 18.5 18.03 ?
Третье 17 17 16.53
Четвёртое 15.5 15.5 15.03
Или я чего-то не до понимаю?
Serg писал(а): Первое значение - координаты, которые показываются в LinuxCNC и используются в УП.
Тогда это я верно понял.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

xenon-alien писал(а): А это как сделать? Относительно чего измеряется реальное положение? Обнулиться можно в любой координате, или же по домашнему положению.
Как померить? :)
Относительно g53.
xenon-alien писал(а): Или я чего-то не до понимаю?
Для компенсации постоянного люфта достаточно двух строчек:
-80 -80 -81.53
20 20 19.53
а возможно и одной:
0 0 -1.53
надо попробовать.
xenon-alien писал(а): Тогда это я верно понял.
Впрочем особой разницы нет - это ж простая математика... :hehehe:
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): Для компенсации постоянного люфта достаточно двух строчек:
-80 -80 -81.53
20 20 19.53
а возможно и одной:
0 0 -1.53
надо попробовать.
ОК.
В твоем примере люфт какой?
Т.е. можно выбрать люфт и так считать. Замечательно и проще.
Serg писал(а): Впрочем особой разницы нет - это ж простая математика...
У меня с детства наблюдается особенность подозревать сложность в простых задачах.
Типа не может быть так просто и ищу подвох
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

xenon-alien писал(а): В твоем примере люфт какой?
твой. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): 20 май 2021, 15:15
xenon-alien писал(а): В твоем примере люфт какой?
твой. :)
Шаг винта 1,5мм люфт 0,47мм
как получилось при -80 -80 -81.53, или при 0 0 -1.53? :thinking:
по идее -80 -80 -80.47 и 0 0 -0.47, или я опять что-то мудрю и недопонимаю? :thinking:
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение Serg »

Да, у тебя правильно, я ошибся, у меня тут суматошно немного...
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
xenon-alien
Почётный участник
Почётный участник
Сообщения: 4506
Зарегистрирован: 01 янв 2013, 13:13
Репутация: 920
Настоящее имя: Daniel
Откуда: Закарпатская обл. Украина
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение xenon-alien »

Serg писал(а): 20 май 2021, 16:50 Да, у тебя правильно, я ошибся, у меня тут суматошно немного...
Не страшно!
Благодарю за подсказки!
Буду экспериментировать.
Аватара пользователя
alejandro52
Новичок
Сообщения: 4
Зарегистрирован: 28 ноя 2020, 06:22
Репутация: 0
Настоящее имя: Alexander
Контактная информация:

Re: Программная коррекция кривизны портала

Сообщение alejandro52 »

a321 писал(а): 18 май 2021, 19:33 На отметке Х дельта -2 по У? или у Вас сама Х настолько нелинейна? - тогда чудно.
Если же речь о "на Х дельта по У", то я ни в какой файл не записываю, а ввожу вручную в терминале (даже проще - стрелка вверх (готова

Дельта тоже по Х, речь идет об одной оси.
Если не сложно, каков формат команды для моего случая с терминала?
Ответить

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