feat: 添加了自动超参数整定

This commit is contained in:
Horldsence
2026-09-23 00:42:26 +08:00
parent 7d87987e41
commit 680adae339
56 changed files with 13664 additions and 245 deletions
+26
View File
@@ -4,8 +4,13 @@ members = [
"crates/motor-core",
"crates/can-link",
"crates/dji-esc",
"crates/dji-esc-sim",
"crates/dji-esc-socketcan",
"crates/dji-esc-slcan",
"crates/mecanum",
"crates/chassis-config",
"crates/chassis-bench",
"crates/chassis-tune",
"crates/chassisd",
]
@@ -35,12 +40,33 @@ clap = { version = "4", features = ["derive"] }
# 测试
proptest = "1"
approx = "0.5"
# 自动整定工具(chassis-tune)
#
# `rand` 对齐 argmin 依赖的 0.9,避免依赖树里出现两个 rand 大版本;
# `argmin-math` 必须显式开启 `vec`(argmin 自身只启 `primitives`),
# 否则 `Vec<f64>` 参数向量没有 ArgminAdd/Sub/Mul 实现。
argmin = { version = "0.11", default-features = false, features = ["rand"] }
argmin-math = { version = "0.5", features = ["vec"] }
rand = "0.9"
rayon = "1"
csv = "1.4"
serde_json = "1"
indicatif = "0.18"
anyhow = "1"
# 仅在 chassis-tune 的 `plot` feature 下引入:只要 SVG 后端与折线系列,
# 但文字标签需要 `ttf`(字体加载),因此不能用纯 svg_backend 最小集。
plotters = { version = "0.3", default-features = false, features = ["svg_backend", "line_series", "ttf"] }
# workspace 内部 crate
motor-core = { path = "crates/motor-core" }
can-link = { path = "crates/can-link" }
dji-esc = { path = "crates/dji-esc" }
dji-esc-sim = { path = "crates/dji-esc-sim" }
dji-esc-socketcan = { path = "crates/dji-esc-socketcan" }
dji-esc-slcan = { path = "crates/dji-esc-slcan" }
mecanum = { path = "crates/mecanum" }
chassis-config = { path = "crates/chassis-config" }
chassis-bench = { path = "crates/chassis-bench" }
chassis-tune = { path = "crates/chassis-tune" }
[workspace.lints.rust]
unsafe_code = "forbid"