Что я еще не знал о LinuxCNC, что нам еще предстоит сделать

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

Impartial писал(а):На питоне там тоже немало написано.
в той части -интерпретатор ,планировщик - это си ,
а нас сейчас больше эти товарищи интересны...
Impartial писал(а):Связано это просто с ленью разбираться с чужим кодом. Написано там довольно понятно.
как то одно противоречит другому :
обсуждать многобуквенно, предполагая токмо об устройстве - не лень ,
"посмотреть" в понятно написанном - лень... :hehehe:
===========
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Impartial »

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

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

Impartial писал(а):Ничего не противоречит. Это же форум. И просто потрындеть правилами не запрещено.
да это я хочу зацепить за живое сишников :hehehe:
нам в емс всего то надо :
1) предпросмотр
2) s-разгон
3) коррекция на лету
ну там еще есть 48 пунктов - но это на потом :freak:
Аватара пользователя
Nick
Мастер
Сообщения: 22776
Зарегистрирован: 23 ноя 2009, 16:45
Репутация: 1735
Заслуга: Developer
Откуда: Gatchina, Saint-Petersburg distr., Russia
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

Impartial писал(а):Наоборот это как? Объясни.
Это "Разбиение происходит именно на прямые потому что на протяжении сервоцикла скорость по осям постоянна. Верно и наоборот ." обратное Скорость на протяжении сервоцикла постоянна, потому, что разбиение траектории идет по прямым сегментам. Верно и обратное :).
nkp писал(а):да это я хочу зацепить за живое сишников
Не, питон, если хитро написанный, то еще менее читаемый, чем си :).
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Impartial »

Nick писал(а):Скорость на протяжении сервоцикла постоянна, потому, что разбиение траектории идет по прямым сегментам.
Скорее всего так вернее будет, учитывая что первичный все таки интерполятор.
nkp писал(а):нам в емс всего то надо :
1) предпросмотр
2) s-разгон
3) коррекция на лету
ну там еще есть 48 пунктов - но это на потом
Скорее всего это тот случай когда пользователь не знает чего хочет.
В частности по S кривым ускорений. Кто то где то слышал, но никто не видел и не пробовал.
Этот алгоритм легко реализуется, только те кто знает куда его сунуть не видят в этом смысла.
Такая же ситуация с предосмотром. Вот в маче он есть. Многие им эффективно пользуются? Т.е. "ну никак без него"
Хотелось бы узнать.
aftaev
Зачётный участник
Зачётный участник
Сообщения: 34042
Зарегистрирован: 04 апр 2010, 19:22
Репутация: 6192
Откуда: Казахстан.
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение aftaev »

Impartial писал(а):В частности по S кривым ускорений. Кто то где то слышал, но никто не видел и не пробовал.
Этот алгоритм легко реализуется, только те кто знает куда его сунуть не видят в этом смысла.
Starik ссылку на видео показывал там плазма "мягко" ездит.
Дилетанту сложные вещи кажутся очень простыми, и только профессионал понимает насколько сложна самая простая вещь
Кто хочет - ищет возможности, кто не хочет - ищет оправдание.
Найди работу по душе и тебе не придется работать.
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение nkp »

Impartial писал(а):Хотелось бы узнать.
первых два пункта - это как бы от общественности)))
от себя добавил третий ...
я лично пришиваю пуговицы , к пуговицам претензии есть? ©
в стойках 80-х годов даже это было - очень кстати удобно...
---------------
с предпросмотром все разжевано в той же рассылке - емс проигрывает в скорости обработки другим программам
в некоторых случаях именно из-за отсутствия lookahead в полной мере...
--------------------
s-разгон также обсуждался здесь и презентовал свои возможности...
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Impartial »

Starik писал(а):Вот такую занимательную статейку на тему однажды нарыл...
На форуме cnczone.ru есть очень интересный проект автономного контроллера, реализующий подобный алгоритм расчета траектории.
Мы сравнивали результаты скорости расчетов http://www.cnczone.ru/forums/index.php? ... st&p=36414
На первый взгляд результаты впечатляющие. Но если ближе присмотреться, то нужно сильно упрощать код программы , чтобы это получить.
Все таки подход к интерпретации кода и планировке траектории в емс более универсальный.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Serg »

Nick писал(а):Не, питон, если хитро написанный, то еще менее читаемый, чем си :).
Питон - вообще язык для мазохистов. Как можно что-то писать на языке, прогамма на котором работает не так как задумал программист, а в зависимости от настроек его редактора?.. :idiot:
nkp писал(а):да это я хочу зацепить за живое сишников :hehehe:
А за что ты меня зацепишь, если я могу программить в принципе на любом языке программирования? ;)

Предвидя следующий вопрос: у меня сейчас есть более важная и интересная работа. :) Да и у меня собственное мнение по поводу нужных доработок linuxcnc.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11630
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4641
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение michael-yurov »

На счет производительности.
В конце статьи http://cnc-club.ru/forum/viewtopic.php? ... =40#p86426 есть ссылка на сайт, где можно эту программку скачать и потестировать.

Еще на сайте есть видео (мне пришлось увеличить масштаб страницы чтобы что-то там разглядеть) http://webserv.lurpa.ens-cachan.fr/geo3 ... n_VPOp.swf
На видео хорошо видно, как программа делает несколько итераций, чтобы подобрать и скорости и ускорения и jerk, и при этом уложиться в минимальное время прохождения траектории.

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

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение Nick »

А вот собственно говоря и планировщик траектории от KFlop:
Вложения
TrajectoryPlanner.cpp
(55.59 КБ) 1109 скачиваний
TrajectoryPlanner.h
(6.77 КБ) 1112 скачиваний
Аватара пользователя
PKM
Почётный участник
Почётный участник
Сообщения: 4263
Зарегистрирован: 31 мар 2011, 18:11
Репутация: 705
Настоящее имя: Андрей
Откуда: Украина
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение PKM »

Nick писал(а):А вот собственно говоря и планировщик траектории от KFlop:
В LinuxCNC чужой код не возьмут, так что делай местный форк и будем наслаждаться предпросмотром :hehehe:
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11630
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4641
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение michael-yurov »

Похоже пришло время рассказать правду.
В планировщике килофлопа есть где-то небольшой косяк.
(для просмотра содержимого нажмите на ссылку)
Иногда на траекториях с дугами происходит что-то не так и станок может пройти угол в пределах порогового не снизив скорость достаточно для безопасного прохождения стыка.
Или же он не строит скругляющую дугу. Не знаю. Но провляется это, как "удар" в движении станка. При этом какая-нибудь ось может сорваться в пропуск шагов.
Если уменьшить пороговый угол (например 15°), то такие грубые углы становятся незаметны и срывов не происходит, но если пороговый угол достаточно большой (25° или больше), то можно "словить косяк".
Если сохранять траекторию только линейными сегменами, то никаких проблем не возникает. Полагаю, где-то есть ошибка в расчетах стыковки линейного сегмента с дугой.
Аватара пользователя
scout
Опытный
Сообщения: 114
Зарегистрирован: 11 янв 2010, 00:52
Репутация: 11
Откуда: Протвино
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение scout »

Похоже что пришло время рассказать правду )))
Прочитал всю ветку, вроде как все правильно говорится, но не увидел (может плохо смотрел) прямого указания на критически важное для реализации lookahead допущение: траектория должна быть сглажена. Ошибка отклонения от траектории, понятное дело, не должна быть более некой настроечной величины.
Я делал двух- и более проходный алгоритм: траектория (функция скорости от времени) разбивалась на элементарные отрезки (или параболы) и на них исходя из условий допустимых ускорений-торможений вычислялось время исходя из равенства площадей (перемещений). Эдакий "фильтр" которым "фильтровалась" траектория сначала вперед, потом назад, а иногда и несколько раз туда-сюда.
Все было прекрасно, пока это была одна ось, как только их становилось хотя бы две все портилось: либо появлялся скачок скорости на одной из осей, либо скорости на стыке даже очень маленького угла падали почти до нуля.
Вот сидел я и сильно чесал репу, как же так! А потом увидел исследование программ по сглаживанию траектории...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11630
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4641
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение michael-yurov »

scout, это ты для своих станков сам программу управления написал?
Серьезный подход.
scout писал(а):А потом увидел исследование программ по сглаживанию траектории...
Это где конкретно что увидел?
Аватара пользователя
scout
Опытный
Сообщения: 114
Зарегистрирован: 11 янв 2010, 00:52
Репутация: 11
Откуда: Протвино
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение scout »

Ну не то чтоб полностью сам, но непосредственное участие принимал и принимаю.
michael-yurov писал(а):Это где конкретно что увидел?
Да здесь на форуме была тема (сейчас не могу найти), сравнивались различные программы, в частности и качество сглаживания.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11630
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4641
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение michael-yurov »

scout писал(а):Да здесь на форуме была тема (сейчас не могу найти), сравнивались различные программы, в частности и качество сглаживания.
А , ну да это, наверное, я и писал. http://cnc-club.ru/forum/viewtopic.php? ... %B5#p52201
dpss
Мастер
Сообщения: 265
Зарегистрирован: 23 фев 2012, 13:40
Репутация: 27
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение dpss »

Гугл может найти кучу вариантов алгоритмов lookahead если правильно спросить https://www.google.ru/#newwindow=1&q=lo ... e&safe=off
dpss
Мастер
Сообщения: 265
Зарегистрирован: 23 фев 2012, 13:40
Репутация: 27
Контактная информация:

Re: Что я еще не знал о LinuxCNC, что нам еще предстоит сдел

Сообщение dpss »

В одном из алгоритмов, на который я как то давал ссылку, была весьма здравая идея - обсчитывать lookahead не по времени, привязываясь к таймеру, а по пути. Например каждые 50 микрон, а на крутых изгибах чаще. Так можно сильно сэкономить буферную память, а памяти для хранения скоростного профиля сплайна нужно много.
Ответить

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