我想知道是否有一种优雅的方法来使用DirectCollocation类对轨迹优化施加加速度/挺举级别约束。我的工作是一个机器人系统,我已经包括了速度水平的约束,但我想有一个最小/平滑的最优轨迹。提前谢谢你。
发布于 2022-01-03 23:19:08
是。标准的直接配置方法(在DirectCollocation类中实现)使用三次样条来表示位置轨迹。如果你取二阶导数,你会得到一个一阶样条.所以加速度总是分段线性的,而挺举总是分段常数。
所以,你要添加的约束是简单的约束,对状态轨迹的样条系数。我们不直接在API中提供这些约束(但可以)。您可以按照模式c++实现它们(您是在python还是c++中)。
如果您还没有看到课程笔记的相应部分,也可能会有所帮助。
其中一个微妙之处是,当前的实现实际上将状态轨迹表示为三次样条(冗余表示位置和速度)。您可以选择将约束添加到位置轨迹或速度轨迹中。在节点/配置点处,约束条件应完全满足,但由于插值的存在,轨迹会有很大的不同。
https://stackoverflow.com/questions/70540739
复制相似问题