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

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

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

Без обид :)

а вот напишите не общими фразами, а структурным кодом то, что хотите изложить, тогда и посмотрим во что Ваша геометрия на уровне школьника выльется

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


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

Гость TSerg

То, что я изложил, относится к упрощенному инженерному решению довольно простой задачи терминального управления динамическим объектом.

 

Если бы мы в эпоху слабых бортовых машин в 60..70-е годы (50..500 коп/сек, 8..64 кб памяти) использовали бы теоретические изыски, которые предлагаете Вы, то не было бы и страны, уж поверьте.

 

Итак:

Пока упрощаем до 2D, но без ограничения общности:

 

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

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

Что означает ограниченная угловая скорость?

Она означает ограниченный радиус циркуляции объекта.

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

 

Какие выводы отсюда?

Если нам удалось набрать макс. скорость, то известен радиус циркуляции при любом повороте.

Это означает, что известна геометрия движения между точками.

И, в общем случае: при любой скорости движения известен предполагаемый радиус циркуляции, что позволяет строить траекторию, нацеленную на касание окружности циркуляции, в точке касания с которой начнется поворот по допустимым для динамической системы параметрам.

 

Дальше - обычная школьная геометрия в построении траектории + курс физики "динамика".

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


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

То, что я изложил, относится к упрощенному инженерному решению довольно простой задачи терминального управления динамическим объектом...

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

 

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

 

А словам, которые я описал выше, боятся не следует, асимптотика у всех этих алгоритмов линейная, то есть имея N точек, арифметическая сложность вычисления тоже будет около N на некоторую, хоть и большую, но константу, конечно АВРка не потянет, но кортекс М3 думаю сможет, хотя я на пс-дуино это все сделал, на нем оно летает.

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


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

Гость TSerg

Вы все же попробуйте проверить - радиус циркуляции зависит от модуля скорости.

Строим навигацию на динамически меняющийся радиус циркуляции около ближайшей точки.

Это же довольно элементарно.

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


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

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

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

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

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

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

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

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

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

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