# 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进行时间戳读取。 **祝您使用愉快!**