Перейти к содержанию
    

Алгоритм наискорейшего обхода точек CNC/ЧПУ роутером

Вот я Вас большинство тут не понимаю...

Написано:

1. последовательно обойти точки, а народ советует как мне оптимизировать или решать задачу поиска последовательности...

2. вот спрашиваю о наименьшем времени, а тут какие-то вопросы что да как мне фрезеровать.

 

Вот зачем сотрясать воздух советами не по теме? Что не ясно?

 

Ну, а если надо фрезеровать все же квадрат, а не окружность?

я хоть где-то говорил, что надо квадрат фрезеровать? Вот как например этот комментарий согласуется с постановкой?

 

Не выдержал... наболело... Из 14 ответов только dpss действительно прочитал, что я спрашивал а все остальные тут напридумывали себе каких-то постановок и их решают, зачем???? Не знаете, не советуйте!

 

DPSS огромное спасибо за путевую ссылку, всем остальным, спасибо за ля-ля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Для того и надо "ля-ля", чтобы в общей массе у кого-то сработала телепатия.

 

CNC router занимается обычно фрезеровкой, выжиганием, рисованием..

Если на траекторию начхать, то возникает естественный вопрос, а все ли сказано?

Если для объяснения привлечен CNC, то это уже прикладная инженерная задача, а не голая теория, а инженерные задачи часто имеют решение там, где теория его не дает.

 

http://elar.urfu.ru/bitstream/10995/24848/...-2006-46-03.pdf

 

P.S.

Пример для 2D

Убегающих считать неподвижными.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У меня вопрос к постановке, a не к решению. Mожно ли представить все точки узлами, а каждому ребру задать вес (исходя из доп параметров - скорость и тд)? Тут про графы уже правда упоминали.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

ТС, похоже, сам не понимает, что же он хочет.

Сделать открытие в математике или реализовать инженерное решение.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ТС, похоже, сам не понимает, что же он хочет.

Сделать открытие в математике или реализовать инженерное решение.

у меня и без этого есть открытия, суммарный индекс цитирования моих статей за 70 уже перевалил, среди них и Нейчер, и Джаксы. А вот чтобы так в сердцах ка Вы написали, мне такое писать, я ожидаю, что и у Вас хотя бы такие же публикации и открытия имеются, а если нет, то будьте любезны, прочитать постановку и, если есть что ответить по сути, то писать, а если нет то воздержаться от комментариев не по теме.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Еще раз. Если стоит задача формального математического решения в Вашей постановке - флаг в руки.

Путь я подсказал по ссылке.

Если стоит инженерная задача - без проблем. Только Вы ее не озвучили.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В споре может рождаться и постановка задачи, и истина... Если не переходить на личности.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пусть есть N точек в 3-х или 4-х мерном пространстве осей ЧПУ-шного станка. Необходимо их последовательно посетить, так чтобы скорость и ускорение каждой оси не превышали заданные...

Задача вроде бы должна быть очень распространенная, но решение у меня получается достаточно нетривиальным.

Возможно чем-то для такого типа задачи можно пренебречь и получить более простой метод, только что в этом случае необходимо поменять в постановке?

Если пренебречь «N точек в 3-х или 4-х мерном пространстве» и ограничиться «N точек в 2-х мерном пространстве», и рассматривать частный случай равномерного движения, то получается классическая задача коммивояжёра, о которую за последние 200 лет было сломано немало копий.. ;)

 

Упс.. Пардон, уже было..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если пренебречь «N точек в 3-х или 4-х мерном пространстве» и ограничиться «N точек в 2-х мерном пространстве», и рассматривать частный случай равномерного движения, то получается классическая задача коммивояжёра

В 3D ничем принципиально не отличается, только как уже было отмечено, линейное перемещение с постоянным (максимальным) ускорением половину пути и торможением вторую половину пути от точки к точке, с остановкой в ней - самый простой, но не самый оптимальный по общей средней скорости обхода метод.

тут наверное действительно можно назначить каждой точке некий момент времени t, между каждой парой точек проложить кубический сплайн, Xi(t) = Ax0 + Ax1 * t + Ax2 * t^2 + Ax3* t^3. y(t), z(t)..., с требованием непрерывности производных в точках. После нахождения коэффициентов проверить не вышли ли скорости/ускорения за заданные пределы, и

потом подвинуть в нужную сторону назначенные параметры t у соответствующих точек и повторить.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg

Да ладно.. в инженерной постановке все решается за 5 мин.

 

По словам ТС, если я правильно понял задачу, которую он так и не прояснил, задача стоит в посещении N точек в заданном уже порядке за минимальное время.

 

Остаются вопросы по траектории посещения точек и погрешности их посещения:

- линейная;

- произвольная;

- погрешность есть/нет ( примеры: есть - сервопривод, нет - шаговый привод).

 

При линейной траектории - все просто, оптимальное управление процессами разгона/торможения известной динамической системы.

 

При произвольной траектории, если исходить из модели системы, как имеющей ограничение на скорость углового вращения ( см. мою ссылку выше о задаче преследования), то, вводя в соответствии с принятой моделью такой параметр, как радиус циркуляции, приходим к тривиальной траектории, проходимой с максимальной скоростью - движение по прямой до сопряжения с окружностью с радиусом циркуляции (точка посещения лежит на окружности), движение по окружности с макс. скоростью, выход на след. линейный участок и т.д.

Особенности могут возникнуть если две точки расположены так, что возникает пересечение окружностей циркуляции. Тут - да, придется переходить к варианту разгона и торможения, но это примитивно решается.

 

Все. Инженерная задача решена методом обычных школьных геометрии и физики.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

тут наверное действительно можно назначить каждой точке некий момент времени t, между каждой парой точек проложить кубический сплайн, Xi(t) = Ax0 + Ax1 * t + Ax2 * t^2 + Ax3* t^3. y(t), z(t)..., с требованием непрерывности производных в точках. После нахождения коэффициентов проверить не вышли ли скорости/ускорения за заданные пределы, и

потом подвинуть в нужную сторону назначенные параметры t у соответствующих точек и повторить.

да, именно это решение я сейчас и использую, и именно с ним я открыл 2 апреля этот топик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

да, именно это решение я сейчас и использую, и именно с ним я открыл 2 апреля этот топик.

чукча - писатель.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

чукча - писатель.

да не, не в обиду! Мне это решение как раз и не понравилось, так как я применил для его решения достаточно продвинутый математический аппарат (методы БФГС, Бройдена, Бауэра-Штрассена), то есть мне это конечно не сложно, и я могу гарантировать как вычислительный математик достигаемую точность и однозначность решения.

 

Кстати, для тех, кому интересно для чего все это, есть пример на пальцах в 2Д случае: на столе лежат детальки, надо их перетасовать, порядок перетасовки уже вычислен, фактически сверху над столом летает присоска, которая пролетая над деталькой ее присасывает, летит в нужное место, и там бросает, и так далее. Если каждый раз полностью останавливаться перед присасыванием/отсасыванием, то время работы на реальной задаче получалось в полтора раза больше, чем если пролетать не останавливаясь, а на качество работы аппарата это не влияло, так как присос/отсос идет в вертикальной оси.

 

В моем случае исходная задача похожа, но формулируется на вогнутой поверхности, и присоска может быть еще правильно направлена (еще две оси), поэтому я и искал решение на >2D, и, не такое крокодилистое, как у меня получилось... С другой стороны, работает, ну и ладно, по крайней мере время вычисления коэффициентов таких оптимальных сплайнов мною полученным алгоритмом даже на арме существенно меньше время полета присоски, но ведь всегда хочется элегантности, а не элефантности, решения!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Гость TSerg
..методы БФГС, Бройдена, Бауэра-Штрассена

 

Звучит красиво и, наверняка, повлияет на индекс цитируемости, а на деле - достаточно обычной геометрии и школьника 60-х годов выпуска.

Без обид :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(методы БФГС, Бройдена, Бауэра-Штрассена)

даже как-то лень смотреть кто все эти люди.

а нельзя после того как нашли коэффициенты сплайнов и увидели что максимальная скорость на участке между двумя любыми точками отличается на dV заданной максимальной, просто подвинуть моменты времени посещения всех последующих точек на dt = Si / dV.

за несколько проходов оно в результате сойдётся к траектории с нужной максимальной скоростью, ну и с ускорением также.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...