Convex-Objective Path Parameterization

最优运动,
毫秒级求解。

面向时间最优与能量最优轨迹参数化的专业求解引擎——支持三阶加加速度(jerk)与力矩变化率约束、一般凸目标函数,求解速度达到实时级别。

31× 提速三阶问题,对比传统 LP
10.6 ms每 1000 区间、7 自由度求解
三阶 约束加加速度 + 力矩变化率
∞ 种目标任意凸代价函数
支持语言
工作原理

三项输入,一个求解器,一条可直接跟踪的轨迹。

路径、约束和目标函数进入 COPP 求解器核心,输出一条完整、稠密采样的时间轨迹:每个轴的位置、速度和加速度,可直接送入控制器。

输入 · 路径
几何路径 q(s)\boldsymbol{q}(s)
输入 · 约束
速度 · 加速度 · 力矩 · jerk
输入 · 目标
最短时间 / 凸目标 JJ
COPP 求解器
RDDP · RA · SOCP
输出 · 时间轨迹
稠密采样的 q(s(t))\boldsymbol{q}(s(t))、q˙(t)\dot{\boldsymbol{q}}(t)、q¨(t)\ddot{\boldsymbol{q}}(t)
机器人执行 q(s(t))\boldsymbol{q}(s(t))
输入 · 路径
几何路径 q(s)\boldsymbol{q}(s)
↓
输入 · 约束
速度 · 加速度 · 力矩 · jerk
↓
输入 · 目标
最短时间 / 凸目标 JJ
↓
COPP 求解器
RDDP · RA · SOCP
↓
输出 · 时间轨迹
稠密采样的 q(s(t))\boldsymbol{q}(s(t))、q˙(t)\dot{\boldsymbol{q}}(t)、q¨(t)\ddot{\boldsymbol{q}}(t)

三阶约束

通用的加加速度与力矩变化率约束——bang-bang 控制恰好在上下界之间切换,运动平滑、磨损更小,也不会激发结构模态。

任意凸目标

不止时间最优:还可以最小化热损耗、力矩波动或任意凸代价。凸函数的碗形结构保证全局最优解唯一。一个引擎,多种目标。

实时求解

自研 RDDP 求解器在 1000 区间的问题上达到毫秒级求解,足以支撑在线重规划。

Pro vs. 社区版

快一个数量级,最优解不变。

100 条随机 7 自由度样条路径,每条 1000 个区间。同阶对比:二阶对二阶,三阶对三阶。

二阶 · 速度 / 加速度 / 力矩
计算时间 · 越低越好
TOPP2-RA OSS 0.6 ms
COPP2-RDDP PRO 5.4 ms
COPP2-SOCP OSS 150 ms

比 COPP2-SOCP 快约 28× · 轨迹总时长相同,≈ 40.9 s

三阶 · + 加加速度 / 力矩变化率
计算时间 · 越低越好
TOPP3-RA PRO 10.6 ms
TOPP3-LP OSS 327 ms
TOPP3-SOCP OSS 290 ms

比传统 LP 快约 31× · 轨迹总时长 ≈ 41.5 s

功能社区版Pro
时间、热能、力矩振动等标准凸目标✓✓
用户自定义任意凸目标—✓
三阶加加速度 / 力矩变化率约束✓✓
超高速 RDDP / RA 求解器—✓
长时程数值稳定性有限✓
商业授权与技术支持MIT,社区支持✓
开始使用

两种方式开始。

社区版 · MIT

从开源版开始

全局最优的 TOPP2-RA、COPP2-SOCP、TOPP3-LP/SOCP 与 COPP3-SOCP 求解器,支持 Rust、C、C++、Python 与 MATLAB。读文档、跑示例,亲自做一遍基准测试。

github.com/TOPP-THU/copp ↗
PRO · 商业版

和我们聊聊 Pro

RDDP / RA 求解器、长时程数值稳定性、商业授权,以及面向量产机器人与数控系统的集成支持。欢迎来聊聊您的应用场景。

hello@copp.pro