# ro_controller
**Repository Path**: hixs/ro_controller
## Basic Information
- **Project Name**: ro_controller
- **Description**: 遗憾优化控制器求解
- **Primary Language**: C++
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-10-29
- **Last Updated**: 2025-12-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
#### ro_controller 是一个“控制器生成器”。它读取 图谱(graph)信息,根据传入参数,自动计算并导出控制器配置文件,供运行时控制器进程直接加载使用。
#### 控制器生成严格依据下述论文中的 遗憾值(Regret)→ 分布式 H∞ 等价转化与求解流程实现:Ke Fang, Jianqi Chen, Junfeng Wu, “Clock Synchronization With Unknown and Unmodeled Disturbances Over Distributed Networks,” IEEE Transactions on Control of Network Systems, vol. 12, no. 1, pp. 262–274, Mar. 2025.
### 依赖
| | 版本 |
|------|------|
| C++17 编译器 | GCC ≥ 9 / Clang ≥ 10 / MSVC ≥ 2019 |
| cmake | 3.18 |
| matlab | R2022b+ |
### 编译
cd ro_controller
cmake -S . -B build
cmake --build build --config Release -j
### 运行
cd ro_controller
.\ro_sim.exe --graph --matlab --tau
### graph图结构
控制器求解依赖于通信拓扑图转化来的**laplacian**矩阵,请将通信拓扑图矩阵转为**laplacian**矩阵后构造json文件。
json文件结构示例如下:
{
"format": "laplacian",
"name": "ring3",
"laplacian": [
[ 2, -1, -1 ],
[ -1, 2, -1 ],
[ -1, -1, 2 ]
]
}
生成的控制器json文件会在路径data/kz.json下。
对于一个图结构,使用同一个控制器,生成json后将kz.json在各个节点下分别下载,并调用timeclock_sync进行时钟同步,调用reader进行时间戳读取。
**祝您使用愉快!**