工作原理
三项输入,一个求解器,一条可直接跟踪的轨迹。
路径、约束和目标函数进入 COPP 求解器核心,输出一条完整、稠密采样的时间轨迹:每个轴的位置、速度和加速度,可直接送入控制器。
输入 · 路径
几何路径
输入 · 约束
速度 · 加速度 · 力矩 · jerk
输入 · 目标
最短时间 / 凸目标
COPP 求解器
RDDP · RA · SOCP
输出 · 时间轨迹
稠密采样的 、、
机器人执行
输入 · 路径
几何路径
↓
输入 · 约束
速度 · 加速度 · 力矩 · jerk
↓
输入 · 目标
最短时间 / 凸目标
↓
COPP 求解器
RDDP · RA · SOCP
↓
输出 · 时间轨迹
稠密采样的 、、
三阶约束
通用的加加速度与力矩变化率约束——bang-bang 控制恰好在上下界之间切换,运动平滑、磨损更小,也不会激发结构模态。
任意凸目标
不止时间最优:还可以最小化热损耗、力矩波动或任意凸代价。凸函数的碗形结构保证全局最优解唯一。一个引擎,多种目标。
实时求解
自研 RDDP 求解器在 1000 区间的问题上达到毫秒级求解,足以支撑在线重规划。
Pro vs. 社区版
快一个数量级,最优解不变。
100 条随机 7 自由度样条路径,每条 1000 个区间。同阶对比:二阶对二阶,三阶对三阶。
二阶 · 速度 / 加速度 / 力矩
计算时间 · 越低越好
比 COPP2-SOCP 快约 28× · 轨迹总时长相同,≈ 40.9 s
三阶 · + 加加速度 / 力矩变化率
计算时间 · 越低越好
比传统 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 ↗