简单介绍一下背景。我有一个使用三次样条曲线的1D轨迹模拟。在这种情况下,三次样条曲线指定了一个物体的位置、速度、加速度和扰动作为时间的函数。
如果你有:
- 位置、速度、加速度和时间的初始和最终值
- 关于最大和最小速度、加速度和扰动的常量约束条件
那么就有一个唯一的样条曲线。如果没有指定最终时间,而是想要最短时间轨迹,则也存在唯一的样条曲线。
然而,实际找到这些样条曲线可能会很困难。在时间被指定的情况下,样条曲线将由多达7个多项式组成,而节点(多项式之间的过渡点)事先是未知的。
这不是将样条拟合到数据集的常规情况,而是从边界条件和一些额外约束条件中创建样条。我读过一些论文,人们使用了类似的安排,并且有类似的需求,但我从未找到过任何处理生成这种样条的库(甚至没有源代码)。我已经编写了一些代码来处理大多数情况,但它并不是非常健壮或快速。我不太担心它的速度,但更健壮会很好。
有没有可以处理这个问题的库?即使不是构建为库,也要开源代码?C、C++、Java或Python优先考虑,但如果是开源的,其他语言仍然有用作为参考。