Немного фона. У меня есть симуляция, которая использует кубические сплайны для 1D траекторий. В этом контексте кубический сплайн определяет положение объекта, скорость, ускорение и рывок как функцию времени.Библиотека для генерации кубических сплайн-траекторий (не интерполяция)?
Если у вас есть:
- начальные и конечные значения для положения, скорости, ускорения и времени
- постоянной значение ограничений на максимальная и минимальная скорость, ускорения и рывка
то есть уникальный сплайн. Если вы не укажете конечное время, но вместо этого хотите использовать траекторию минимального времени, то есть также уникальный сплайн.
На самом деле найти эти сплайны может быть королевской болью. В случае, когда указано время, сплайн будет состоять из 7 полиномов, а узлы (точки перехода между многочленами) не известны заранее.
Это не обычный случай подгонки сплайна к набору данных, он создает сплайны из граничных условий и некоторые дополнительные ограничения. Я читал документы, в которых люди использовали подобные механизмы и имели схожие потребности, но я никогда не встречал никаких библиотек (или даже исходного кода), которые решали бы создание таких сплайнов. Я написал код, который обрабатывает большинство случаев, но он не очень надежный или быстрый. Я не очень беспокоюсь о том, что это быстро, но более надежным было бы здорово.
Есть ли библиотеки, которые могут сделать это доступным? Открытый исходный код, даже если он не построен как библиотека? C, C++, Java или Python, но если это открытый исходный код, другие языки по-прежнему будут полезны в качестве ссылки.
Боится, вам придется сделать это самостоятельно, используя некоторый алгоритм минимизации с ограничениями, или некоторый многомерный корнем поиска (в зависимости от этих двух случаев вы описываете). Это не особенно сложно сделать, но вы можете сильно выиграть от глаз незнакомца, если хотите чего-то крепкого.Не могли бы вы рассказать нам более точно, что вы реализовали? – 2011-02-02 15:36:17
Можете ли вы прокомментировать, как ваш подход отличается от обычного CAM? Например, в http://homepages.laas.fr/xbroquer/publications/ICRA10.pdf – 2011-02-03 03:23:34