Страница 1 из 1

Интерполяция по кривой

Добавлено: 10 дек 2013, 15:47
jeni00
А есть такой интерполятор не только по прямой или по окружности, а по кривой описанной формулой любой например синусоидой и т.д? ведь станку совершенно без разницы, как двигаться. у кого какие есть мысли

Re: Интерполяция по кривой

Добавлено: 10 дек 2013, 15:52
Nick
Есть проход по сплайну...
http://www.linuxcnc.org/docs/devel/html ... 1-B-spline

А для чего тебе? Вся проблема в том, что с ними гораздо сложнее работать, там хитрая математика, и многие вещи вычисляются только вычислительными методами приближения. В отличие от дуг и прямых - длины которых вычисляются алгебраически => за фиксированное время

Re: Интерполяция по кривой

Добавлено: 10 дек 2013, 16:40
jeni00
в целях самообразования, например сделать зуб по эвольвенте, на сколько я понял, вся проблема только во времени расчета, что может выйти за рамки расчета отведенного времени для выдачи команды двигателю (не попасть в реал-тайм,как то так:)), я правильно понимаю?

Re: Интерполяция по кривой

Добавлено: 10 дек 2013, 16:57
Nick
Ну что-то в этом роде... плюс могут быть разные хитрые вырожденные случаи и т.д. Отступ от этих кривых для компенсации радиуса инструмента очень сложный и т.д.

А как ты хочешь эвольвенту описать? Можно сделать скрипт, который эту эвольвенту достаточно точно аппроксимирует прямыми или дугами...

Re: Интерполяция по кривой

Добавлено: 10 дек 2013, 17:42
selenur
Сейчас как раз контроллер делаю, и есть такая штука как аргоритм Брезенхема, на википедии можете посмотреть, этот человек придумал очень простой алгоритм для плоттера, для движения по прямой или по оружности используется всего несколько целых переменных, с небольшой доработкой пропорций движения по оси x и y можно добиться вообще любой дуги. И при этом не требуется использовать sin и cos.

Re: Интерполяция по кривой

Добавлено: 10 дек 2013, 18:33
Сергей Саныч
selenur писал(а):и есть такая штука как аргоритм Брезенхема,
Есть такое дело. И из операций - только сложение и вычитание. Не надо ни умножения, ни деления. Элементарно реализуется на самых простых МК. Делал году в 83 граф. дисплей на К1801ВМ1 с использованием этого алгоритма.

Re: Интерполяция по кривой

Добавлено: 11 дек 2013, 17:42
Impartial
jeni00 писал(а):а по кривой описанной формулой любой например синусоидой и т.д?
Есть, преобразование Фурье называется.

Re: Интерполяция по кривой

Добавлено: 12 дек 2013, 16:25
jeni00
Impartial писал(а):Фурье называется.
Ну предположим я помню что любую функцию можно разложить в ряд и даже помню что есть метод аппроксимации кривой, даже знаю что вся вычислительная техника принципиально: не рассчитать, не построить не может гладкую кривую, а только ее аппроксимированное представление из прямых отрезков, собственно на стойке ЧПУ круговой интерполяции нет, а есть только аппроксимированное представление окружности, просто думал есть ли такое изкаропки, уже понял что нет))))
Nick писал(а):Отступ от этих кривых для компенсации радиуса инструмента очень сложный и т.д.
- понятно
Nick писал(а):А как ты хочешь эвольвенту описать? Можно сделать скрипт, который эту эвольвенту достаточно точно аппроксимирует прямыми или дугами...
-ну собственно можно все сразу аппроксимировать отрезками