реклама на сайте
подробности

 
 
> Алгоритм наискорейшего обхода точек CNC/ЧПУ роутером
iiv
сообщение Apr 2 2015, 12:16
Сообщение #1


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Добрый день,

возник вопрос, и простого решения не увидел...

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

Пусть для простоты у нас 3-х координатный станок, начальное и конечное значения скоростей равны 0. Для решения я взял неизвестную временнУю сетку t_0=0 < t_1 < t_2 < ... < t_N, на ней строю три кубических сплайна по одному на каждую ось. Коэффициенты этих сплайнов зависят от t_1, ..., t_N и от соответствующих координат точек обхода (которые даны) и их легко за 15N арифметических операций можно вычислить методом прогонки. Нам надо минимизировать t_N с учетом ограниченности первой и второй производных всех трех сплайнов. Понятно метод отжига (simulated annealing) успешно эту задачу решит, но как-то немного громоздко выходит...

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

Спасибо

ИИВ
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Guest_TSerg_*
сообщение Jun 17 2015, 15:38
Сообщение #2





Guests






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

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

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

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

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

Дальше - обычная школьная геометрия в построении траектории + курс физики "динамика".
Go to the top of the page
 
+Quote Post
iiv
сообщение Jun 17 2015, 17:33
Сообщение #3


вопрошающий
*****

Группа: Свой
Сообщений: 1 726
Регистрация: 24-01-11
Пользователь №: 62 436



Цитата(TSerg @ Jun 17 2015, 20:38) *
То, что я изложил, относится к упрощенному инженерному решению довольно простой задачи терминального управления динамическим объектом...

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

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

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

Сообщений в этой теме
- iiv   Алгоритм наискорейшего обхода точек CNC/ЧПУ роутером   Apr 2 2015, 12:16
- - mcheb   Читаем любой учебник по численным методам - поиск ...   Apr 2 2015, 15:24
|- - iiv   Цитата(mcheb @ Apr 2 2015, 21:24) Читаем ...   Apr 2 2015, 16:42
- - fider   Здесь наверное ведь цель (целевая функция) как чащ...   Apr 2 2015, 17:05
|- - iiv   Цитата(fider @ Apr 2 2015, 22:05) И тогда...   Apr 2 2015, 17:38
- - SSerge   Даже без учёта динамики двигателей, учитывая тольк...   Apr 2 2015, 17:11
- - Fat Robot   Ant Colonies   Apr 2 2015, 20:03
|- - iiv   Цитата(Fat Robot @ Apr 3 2015, 02:03) Ска...   Apr 2 2015, 20:27
- - halfdoom   Вообще то, тут три задачи: 1. посетить точки в оп...   Apr 3 2015, 06:25
|- - dpss   Цитата(halfdoom @ Apr 3 2015, 09:25) Вооб...   Apr 8 2015, 16:55
- - TSerg   Вопрос уже устаревший, но задача имеет вполне техн...   May 5 2015, 19:46
|- - MiklPolikov   А мне думается, что задачу нужно решать не чисто м...   May 11 2015, 22:21
- - Ydaloj   стандартная общеизвестная информация: управляющее ...   May 12 2015, 16:49
|- - iiv   Цитата(Ydaloj @ May 12 2015, 21:49) почем...   May 27 2015, 18:27
- - TSerg   Ну, а если надо фрезеровать все же квадрат, а не о...   May 27 2015, 22:06
|- - iiv   Вот я Вас большинство тут не понимаю... Написано: ...   May 28 2015, 15:35
- - TSerg   Для того и надо "ля-ля", чтобы в общей м...   May 29 2015, 05:00
- - RCray   У меня вопрос к постановке, a не к решению. Mожно ...   Jun 10 2015, 00:14
- - TSerg   ТС, похоже, сам не понимает, что же он хочет. Сдел...   Jun 10 2015, 17:53
|- - iiv   Цитата(TSerg @ Jun 10 2015, 23:53) ТС, по...   Jun 15 2015, 16:52
- - TSerg   Еще раз. Если стоит задача формального математичес...   Jun 15 2015, 19:10
- - RCray   В споре может рождаться и постановка задачи, и ист...   Jun 16 2015, 03:14
- - blackfin   Цитата(iiv @ Apr 2 2015, 15:16) Пусть ест...   Jun 16 2015, 04:18
|- - _pv   Цитата(blackfin @ Jun 16 2015, 10:18) Есл...   Jun 16 2015, 08:33
|- - iiv   Цитата(_pv @ Jun 16 2015, 13:33) тут наве...   Jun 17 2015, 06:49
|- - _pv   Цитата(iiv @ Jun 17 2015, 12:49) да, имен...   Jun 17 2015, 07:29
|- - iiv   Цитата(_pv @ Jun 17 2015, 12:29) чукча - ...   Jun 17 2015, 08:05
|- - TSerg   Цитата(iiv @ Jun 17 2015, 11:05) ..методы...   Jun 17 2015, 10:46
||- - iiv   Цитата(TSerg @ Jun 17 2015, 15:46) Звучит...   Jun 17 2015, 14:23
|- - _pv   Цитата(iiv @ Jun 17 2015, 14:05) (методы ...   Jun 17 2015, 11:40
- - TSerg   Да ладно.. в инженерной постановке все решается за...   Jun 16 2015, 20:01
- - TSerg   Вы все же попробуйте проверить - радиус циркуляции...   Jun 17 2015, 20:14
- - RCray   del   Sep 3 2015, 04:57


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 11:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016