From 8a582fc102b5535e620c9182afaa553d724d4049 Mon Sep 17 00:00:00 2001 From: Horldsence Date: Thu, 24 Sep 2026 13:00:03 +0800 Subject: [PATCH] refactor: enforce layered crates and Rust audit gates --- .githooks/pre-commit | 4 + .github/workflows/ci.yml | 9 +- .gitignore | 3 + ARCHITECTURE.md | 21 +- Cargo.lock | 47 +- Cargo.toml | 90 +- README.md | 13 +- config/chassis.toml.example | 15 + config/dependency-policy.toml | 278 +++++ config/tune.toml | 12 +- crates/{ => application}/bench/Cargo.toml | 3 + crates/{ => application}/bench/src/lib.rs | 0 .../daemon}/Cargo.toml | 5 + .../daemon}/src/main.rs | 489 ++++++++- crates/{spin => application/tools}/Cargo.toml | 5 + .../{spin => application/tools}/src/main.rs | 92 +- .../tuning}/Cargo.toml | 3 + .../tuning}/src/main.rs | 42 +- .../chassis}/Cargo.toml | 4 + .../chassis}/src/lib.rs | 130 ++- crates/{ => contract}/can/Cargo.toml | 3 + crates/{ => contract}/can/src/lib.rs | 0 crates/{ => contract}/imu/Cargo.toml | 3 + crates/{ => contract}/imu/src/lib.rs | 0 crates/{pid => control/algorithm}/Cargo.toml | 3 + crates/{pid => control/algorithm}/src/lib.rs | 0 .../{mecanum => control/chassis}/Cargo.toml | 3 + .../{mecanum => control/chassis}/src/lib.rs | 0 .../motor}/Cargo.toml | 3 + .../motor}/src/lib.rs | 0 crates/{esc-bus => device/esc}/Cargo.toml | 7 +- crates/{esc-bus => device/esc}/src/lib.rs | 347 +++---- crates/{delta10 => device/imu}/Cargo.toml | 3 + crates/{delta10 => device/imu}/src/lib.rs | 0 crates/{ => device}/motor/Cargo.toml | 3 + crates/{ => device}/motor/src/lib.rs | 274 ++--- crates/device/remote/Cargo.toml | 22 + crates/device/remote/src/lib.rs | 244 +++++ crates/experiment/{ => trace}/Cargo.toml | 3 + crates/experiment/{ => trace}/src/lib.rs | 0 .../{motor-model => model/motor}/Cargo.toml | 3 + .../{motor-model => model/motor}/src/lib.rs | 373 ++++++- .../imu}/Cargo.toml | 3 + .../imu}/src/lib.rs | 0 .../motor}/Cargo.toml | 3 + .../motor}/src/lib.rs | 273 +++++ crates/protocol/remote/Cargo.toml | 19 + crates/protocol/remote/src/lib.rs | 380 +++++++ .../motor}/Cargo.toml | 3 + .../motor}/src/lib.rs | 26 +- crates/{ => tooling}/tuning/Cargo.toml | 3 + crates/{ => tooling}/tuning/src/lib.rs | 58 +- .../{socketcan => transport/can}/Cargo.toml | 7 +- .../{socketcan => transport/can}/src/lib.rs | 0 crates/{slcan => transport/serial}/Cargo.toml | 3 + crates/{slcan => transport/serial}/src/lib.rs | 0 crates/verification/integration/Cargo.toml | 28 + crates/verification/integration/src/lib.rs | 1 + .../integration/tests/esc_closed_loop.rs} | 0 .../integration/tests/esc_harness_parity.rs} | 0 .../integration/tests/socketcan_vcan.rs} | 0 docs/chassis.md | 28 +- docs/dependencies.md | 50 + ...T7&DR16_RC_System_User_Manual_v2.00_cn.pdf | Bin 0 -> 1229782 bytes docs/dt16/README.md | 70 ++ justfile | 24 +- scripts/audit-rules.rs | 961 ++++++++++++++++++ 67 files changed, 3918 insertions(+), 581 deletions(-) create mode 100755 .githooks/pre-commit create mode 100644 config/dependency-policy.toml rename crates/{ => application}/bench/Cargo.toml (91%) rename crates/{ => application}/bench/src/lib.rs (100%) rename crates/{chassisd => application/daemon}/Cargo.toml (84%) rename crates/{chassisd => application/daemon}/src/main.rs (68%) rename crates/{spin => application/tools}/Cargo.toml (84%) rename crates/{spin => application/tools}/src/main.rs (89%) rename crates/{chassis-tune => application/tuning}/Cargo.toml (95%) rename crates/{chassis-tune => application/tuning}/src/main.rs (98%) rename crates/{chassis-config => config/chassis}/Cargo.toml (85%) rename crates/{chassis-config => config/chassis}/src/lib.rs (84%) rename crates/{ => contract}/can/Cargo.toml (86%) rename crates/{ => contract}/can/src/lib.rs (100%) rename crates/{ => contract}/imu/Cargo.toml (77%) rename crates/{ => contract}/imu/src/lib.rs (100%) rename crates/{pid => control/algorithm}/Cargo.toml (80%) rename crates/{pid => control/algorithm}/src/lib.rs (100%) rename crates/{mecanum => control/chassis}/Cargo.toml (83%) rename crates/{mecanum => control/chassis}/src/lib.rs (100%) rename crates/{motor-control => control/motor}/Cargo.toml (85%) rename crates/{motor-control => control/motor}/src/lib.rs (100%) rename crates/{esc-bus => device/esc}/Cargo.toml (79%) rename crates/{esc-bus => device/esc}/src/lib.rs (54%) rename crates/{delta10 => device/imu}/Cargo.toml (86%) rename crates/{delta10 => device/imu}/src/lib.rs (100%) rename crates/{ => device}/motor/Cargo.toml (87%) rename crates/{ => device}/motor/src/lib.rs (81%) create mode 100644 crates/device/remote/Cargo.toml create mode 100644 crates/device/remote/src/lib.rs rename crates/experiment/{ => trace}/Cargo.toml (82%) rename crates/experiment/{ => trace}/src/lib.rs (100%) rename crates/{motor-model => model/motor}/Cargo.toml (84%) rename crates/{motor-model => model/motor}/src/lib.rs (58%) rename crates/{delta10-protocol => protocol/imu}/Cargo.toml (86%) rename crates/{delta10-protocol => protocol/imu}/src/lib.rs (100%) rename crates/{motor-protocol => protocol/motor}/Cargo.toml (86%) rename crates/{motor-protocol => protocol/motor}/src/lib.rs (80%) create mode 100644 crates/protocol/remote/Cargo.toml create mode 100644 crates/protocol/remote/src/lib.rs rename crates/{sim-harness => simulation/motor}/Cargo.toml (91%) rename crates/{sim-harness => simulation/motor}/src/lib.rs (97%) rename crates/{ => tooling}/tuning/Cargo.toml (93%) rename crates/{ => tooling}/tuning/src/lib.rs (98%) rename crates/{socketcan => transport/can}/Cargo.toml (77%) rename crates/{socketcan => transport/can}/src/lib.rs (100%) rename crates/{slcan => transport/serial}/Cargo.toml (87%) rename crates/{slcan => transport/serial}/src/lib.rs (100%) create mode 100644 crates/verification/integration/Cargo.toml create mode 100644 crates/verification/integration/src/lib.rs rename crates/{esc-bus/tests/closed_loop.rs => verification/integration/tests/esc_closed_loop.rs} (100%) rename crates/{esc-bus/tests/harness_parity.rs => verification/integration/tests/esc_harness_parity.rs} (100%) rename crates/{socketcan/tests/vcan.rs => verification/integration/tests/socketcan_vcan.rs} (100%) create mode 100644 docs/dependencies.md create mode 100644 docs/dt16/DT7&DR16_RC_System_User_Manual_v2.00_cn.pdf create mode 100644 docs/dt16/README.md create mode 100755 scripts/audit-rules.rs diff --git a/.githooks/pre-commit b/.githooks/pre-commit new file mode 100755 index 0000000..a598194 --- /dev/null +++ b/.githooks/pre-commit @@ -0,0 +1,4 @@ +#!/bin/sh +set -eu +git diff --cached --check +cargo +nightly -Zscript /Volumes/Peng/AppCode/Rust/sentry-chassis/scripts/audit-rules.rs --staged diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 91e8a68..881b239 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,14 +16,13 @@ jobs: - uses: dtolnay/rust-toolchain@stable with: components: rustfmt, clippy + - uses: dtolnay/rust-toolchain@nightly - uses: Swatinem/rust-cache@v2 + - run: cargo +nightly -Zscript scripts/audit-rules.rs --self-test + - run: cargo +nightly -Zscript scripts/audit-rules.rs - run: cargo fmt --all -- --check - run: cargo clippy --workspace --all-targets -- -D warnings - run: cargo test --workspace --all-targets - - name: enforce flat crate source - run: test -z "$(find crates/*/src -mindepth 2 -type d -print)" - - name: forbid unsafe and no_std markers - run: "! rg '\\bunsafe\\b|libc|no_std' crates Cargo.toml -g '*.rs' -g '*.toml'" - name: optional plot feature run: cargo check -p chassis-tune --features plot --all-targets - name: deterministic tuning smoke @@ -42,7 +41,7 @@ jobs: sudo modprobe vcan sudo ip link add dev vcan0 type vcan sudo ip link set up vcan0 - - run: cargo test -p socketcan@0.1.0 --test vcan -- --ignored --test-threads 1 + - run: cargo test -p integration-tests --test socketcan_vcan -- --ignored --test-threads 1 cross-check: runs-on: ubuntu-latest diff --git a/.gitignore b/.gitignore index ea8c4bf..d8fd8c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,4 @@ /target + +__pycache__/ +*.pyc diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index da09b38..afeebde 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -13,6 +13,7 @@ - **依赖必须无环**:允许依赖同层或更低抽象,但禁止反向控制依赖和隐藏的完整链路打包。 - **std,禁止 unsafe**:workspace 使用 `unsafe_code = "forbid"`;允许使用提供安全 API 的第三方依赖。 - **实时调度交给 systemd**:进程不调用 libc FFI,不实现 `SCHED_FIFO` 或 `mlockall`。 +- **二级语义分层**:crate 名不变,manifest 按 `crates//` 组织;依赖只能由高层指向低层。 - **crate 内保持扁平**:只允许 Cargo 惯例目录 `src`、`tests`;`src` 内不建立模块子目录。 - **安全边界独立于控制律**:总线负责反馈新鲜度、命令租约和零电流;控制器通过策略接口组合。 @@ -26,11 +27,13 @@ 协议 motor-protocol C620/C610、GM6020 编解码、多圈与 ID delta10-protocol DETA10 帧布局与解码 + dr16-protocol DJI DR16 D-BUS 帧布局与解码 驱动 socketcan Linux SocketCAN ↔ CanLink slcan Lawicel 串口 CAN ↔ CanLink delta10 DETA10 IMU 驱动 + dr16 DR16 D-BUS 串口接收驱动 设备与运行时 motor Motor 能力 trait、状态、命令、减速比、注册表、EffortPolicy @@ -53,20 +56,29 @@ chassisd 底盘守护进程二进制 spin chassis / motor 台架二进制 chassis-tune 自动整定二进制与报告/绘图适配 + +验证 + integration-tests 跨层闭环、语义一致性与 vcan 集成测试 ``` -共 21 个 crate。crate 名不使用 `rm-` 等无领域含义的统一前缀。 +共 24 个 crate(含顶层 `verification/integration` 集成测试包)。crate 名不使用 `rm-` 等无领域含义的统一前缀。 ## 3. 允许依赖 +机器可读规则见 [`config/dependency-policy.toml`](config/dependency-policy.toml) 和 +[`docs/dependencies.md`](docs/dependencies.md)。`just audit` 同时检查层 rank、正常/dev 依赖、 +外部库职责和 trait 边界;正常与 dev 依赖都必须单向。 + 主要边如下: ```text motor-protocol -> can delta10-protocol -> can, imu +dr16-protocol -> (无内部依赖) socketcan -> can slcan -> can delta10 -> can, imu, delta10-protocol +dr16 -> dr16-protocol motor -> can, motor-protocol esc-bus -> can, motor, motor-protocol @@ -82,8 +94,8 @@ tuning -> pid, motor-control, motor-model, sim-harness, experiment chassis-config -> esc-bus, motor-control, motor-protocol, mecanum bench -> can, esc-bus, experiment, motor, motor-control, socketcan, slcan -chassisd -> chassis-config, esc-bus, mecanum, motor-control, sim-harness, socketcan -spin -> bench, esc-bus, motor-control, socketcan, slcan +chassisd -> chassis-config, dr16, esc-bus, mecanum, motor-control, sim-harness, socketcan +spin -> bench, dr16, esc-bus, motor-control, socketcan, slcan chassis-tune -> bench, chassis-config, experiment, sim-harness, tuning ``` @@ -136,7 +148,8 @@ tests/*.rs # 可选集成测试 - 四轮 ESC 总线、命令租约、反馈离线保护、外部控制策略。 - PID、速度/位置/串级/前馈、麦轮运动学。 - 电机模型、总线损伤、同步/异步闭环、参数搜索、预设与报告。 -- `chassisd --mock`、`spin chassis|motor`、`chassis-tune`。 +- `chassisd --mock`、`spin chassis|motor|rc`、`chassis-tune`。 +- DR16/D-BUS 遥控输入、S1 使能、断流失能和 500 ms 速度斜坡。 未实现: diff --git a/Cargo.lock b/Cargo.lock index 6577a44..fd25ec1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -205,6 +205,7 @@ dependencies = [ "approx", "esc-bus", "mecanum", + "motor", "motor-control", "motor-protocol", "serde", @@ -256,6 +257,8 @@ dependencies = [ "can", "chassis-config", "clap", + "dr16", + "dr16-protocol", "esc-bus", "mecanum", "motor", @@ -540,6 +543,24 @@ dependencies = [ "libloading", ] +[[package]] +name = "dr16" +version = "0.1.0" +dependencies = [ + "dr16-protocol", + "serial", + "tokio", + "tracing", +] + +[[package]] +name = "dr16-protocol" +version = "0.1.0" +dependencies = [ + "proptest", + "thiserror", +] + [[package]] name = "dwrote" version = "0.11.5" @@ -595,12 +616,8 @@ version = "0.1.0" dependencies = [ "approx", "can", - "experiment", "motor", - "motor-control", - "motor-model", "motor-protocol", - "sim-harness", "thiserror", "tokio", "tracing", @@ -873,6 +890,22 @@ dependencies = [ "web-time", ] +[[package]] +name = "integration-tests" +version = "0.1.0" +dependencies = [ + "can", + "esc-bus", + "experiment", + "motor", + "motor-control", + "motor-model", + "motor-protocol", + "sim-harness", + "socketcan 0.1.0", + "tokio", +] + [[package]] name = "ioctl-rs" version = "0.1.6" @@ -1662,10 +1695,6 @@ name = "socketcan" version = "0.1.0" dependencies = [ "can", - "esc-bus", - "motor", - "motor-control", - "motor-protocol", "socketcan 4.0.0", "thiserror", "tokio", @@ -1699,6 +1728,8 @@ version = "0.1.0" dependencies = [ "bench", "clap", + "dr16", + "dr16-protocol", "esc-bus", "experiment", "mecanum", diff --git a/Cargo.toml b/Cargo.toml index 0e17117..7a68ac0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,27 +1,30 @@ [workspace] resolver = "3" members = [ - "crates/can", - "crates/imu", - "crates/motor-protocol", - "crates/delta10-protocol", - "crates/socketcan", - "crates/slcan", - "crates/delta10", - "crates/motor", - "crates/esc-bus", - "crates/pid", - "crates/motor-control", - "crates/mecanum", - "crates/motor-model", - "crates/experiment", - "crates/sim-harness", - "crates/tuning", - "crates/chassis-config", - "crates/bench", - "crates/chassisd", - "crates/spin", - "crates/chassis-tune", + "crates/contract/can", + "crates/contract/imu", + "crates/protocol/motor", + "crates/protocol/imu", + "crates/transport/can", + "crates/transport/serial", + "crates/device/imu", + "crates/device/motor", + "crates/device/esc", + "crates/control/algorithm", + "crates/control/motor", + "crates/control/chassis", + "crates/protocol/remote", + "crates/device/remote", + "crates/model/motor", + "crates/experiment/trace", + "crates/simulation/motor", + "crates/tooling/tuning", + "crates/config/chassis", + "crates/application/bench", + "crates/application/daemon", + "crates/application/tools", + "crates/application/tuning", + "crates/verification/integration", ] [workspace.package] @@ -71,27 +74,30 @@ anyhow = "1" plotters = { version = "0.3", default-features = false, features = ["svg_backend", "line_series", "ttf"] } # ---- 职责型内部 crate ---- -can = { path = "crates/can" } -imu = { path = "crates/imu" } -motor-protocol = { path = "crates/motor-protocol" } -delta10-protocol = { path = "crates/delta10-protocol" } -socketcan = { path = "crates/socketcan" } -slcan = { path = "crates/slcan" } -delta10 = { path = "crates/delta10" } -motor = { path = "crates/motor" } -esc-bus = { path = "crates/esc-bus" } -pid = { path = "crates/pid" } -motor-control = { path = "crates/motor-control" } -mecanum = { path = "crates/mecanum" } -motor-model = { path = "crates/motor-model" } -experiment = { path = "crates/experiment" } -sim-harness = { path = "crates/sim-harness" } -tuning = { path = "crates/tuning" } -chassis-config = { path = "crates/chassis-config" } -bench = { path = "crates/bench" } -chassisd = { path = "crates/chassisd" } -spin = { path = "crates/spin" } -chassis-tune = { path = "crates/chassis-tune" } +can = { path = "crates/contract/can" } +imu = { path = "crates/contract/imu" } +motor-protocol = { path = "crates/protocol/motor" } +delta10-protocol = { path = "crates/protocol/imu" } +socketcan = { path = "crates/transport/can" } +slcan = { path = "crates/transport/serial" } +delta10 = { path = "crates/device/imu" } +motor = { path = "crates/device/motor" } +esc-bus = { path = "crates/device/esc" } +pid = { path = "crates/control/algorithm" } +motor-control = { path = "crates/control/motor" } +mecanum = { path = "crates/control/chassis" } +dr16-protocol = { path = "crates/protocol/remote" } +dr16 = { path = "crates/device/remote" } +motor-model = { path = "crates/model/motor" } +experiment = { path = "crates/experiment/trace" } +sim-harness = { path = "crates/simulation/motor" } +tuning = { path = "crates/tooling/tuning" } +chassis-config = { path = "crates/config/chassis" } +bench = { path = "crates/application/bench" } +chassisd = { path = "crates/application/daemon" } +spin = { path = "crates/application/tools" } +chassis-tune = { path = "crates/application/tuning" } +integration-tests = { path = "crates/verification/integration" } [workspace.lints.rust] unsafe_code = "forbid" diff --git a/README.md b/README.md index 01ba60c..2d84a9a 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,17 @@ RoboMaster 哨兵机器人麦轮底盘:Linux ARM 主控、4 × GM3508/C620、SocketCAN 或 SLCAN、tokio 异步运行时。 -架构规范见 [`ARCHITECTURE.md`](ARCHITECTURE.md)。workspace 由 21 个职责单一 crate 组成,不使用 `rm-` 前缀,crate 内源码保持扁平。 +架构规范见 [`ARCHITECTURE.md`](ARCHITECTURE.md)。workspace 由 24 个职责单一 crate / 测试包组成,不使用 `rm-` 前缀,crate 内源码保持扁平。 + +安装本地规则 hook: + +```sh +just install-hooks +just audit +``` + +依赖层级、外部库白名单和 trait 边界见 [`docs/dependencies.md`](docs/dependencies.md)。 +规则审查器是基于 Nightly `cargo -Zscript` 的单文件 Rust 脚本。 ## 结构 @@ -12,6 +22,7 @@ RoboMaster 哨兵机器人麦轮底盘:Linux ARM 主控、4 × GM3508/C620、S - `motor` / `esc-bus`:设备契约与安全总线运行时。 - `pid` / `motor-control` / `mecanum`:纯控制算法。 - `motor-model` / `experiment` / `sim-harness` / `tuning`:仿真与自动整定。 +- `dr16-protocol` / `dr16`:DJI DR16/D-BUS 协议和串口接收。 - `chassis-config` / `bench` / `chassisd` / `spin` / `chassis-tune`:配置、台架和应用入口。 `esc-bus` 不依赖控制算法。应用把 `motor-control::MotorPolicy` 作为 diff --git a/config/chassis.toml.example b/config/chassis.toml.example index f61ebe8..bc6b35e 100644 --- a/config/chassis.toml.example +++ b/config/chassis.toml.example @@ -4,6 +4,21 @@ [can] interface = "can0" +# DJI DT7 + DR16 遥控接收机。没有遥控时删除整个 [remote] 段,守护进程会保持静止。 +[remote] +kind = "dr16" +device = "/dev/ttyS2" +# 合法 D-BUS 帧断流超时(毫秒);超时立即失能停车。 +timeout_ms = 100 +# 摇杆满量程死区(0..0.5),死区后使用平方响应曲线。 +deadband = 0.05 +# 从零到满量程的逐轴速度斜坡(毫秒);S1 失能、断流和超时立即归零。 +ramp_ms = 500 +# 实车方向相反时置 true,不需要改代码。 +invert_vx = false +invert_vy = false +invert_omega = false + [chassis] # 控制循环周期(毫秒)。C620 期望 1kHz 命令。 control_period_ms = 1 diff --git a/config/dependency-policy.toml b/config/dependency-policy.toml new file mode 100644 index 0000000..4d44705 --- /dev/null +++ b/config/dependency-policy.toml @@ -0,0 +1,278 @@ +# Machine-readable dependency and layer policy. +policy_version = 1 + +[layers] +"contract/can" = 0 +"contract/imu" = 0 +"protocol/imu" = 1 +"protocol/motor" = 1 +"protocol/remote" = 1 +"transport/can" = 2 +"transport/serial" = 2 +"device/imu" = 3 +"device/motor" = 3 +"device/remote" = 3 +"control/algorithm" = 4 +"control/chassis" = 4 +"device/esc" = 4 +"experiment/trace" = 5 +"control/motor" = 6 +"model/motor" = 7 +"simulation/motor" = 8 +"tooling/tuning" = 9 +"config/chassis" = 10 +"application/bench" = 11 +"application/daemon" = 12 +"application/tools" = 13 +"application/tuning" = 13 +"verification/integration" = 14 + +[forbidden.normal] +esc_bus = ["motor-control", "pid"] +bench = ["tuning"] +sim_harness = ["tuning"] + +[trait_boundaries] +protocol_motor = ["MotorProtocol", "EffortScale", "FeedbackFields"] +device_motor = ["MotorSpec", "MotorFeedback", "EffortDrive", "VelocityDrive", "PositionDrive", "Disable"] +model_motor = ["MotorPlant", "DcModelSpec", "VoltageModelSpec"] +esc_bus_forbidden_symbols = ["MotorKind", "EscModel"] + +[packages."bench"] +path = "crates/application/bench" +layer = "application/bench" +rank = 11 +normal = ["can", "esc-bus", "experiment", "motor", "motor-control", "slcan", "socketcan"] +dev = [] +external = ["anyhow", "thiserror", "tokio", "tracing"] +dev_external = ["tokio"] + +[packages."can"] +path = "crates/contract/can" +layer = "contract/can" +rank = 0 +normal = [] +dev = [] +external = ["tokio"] +dev_external = ["tokio"] + +[packages."chassis-config"] +path = "crates/config/chassis" +layer = "config/chassis" +rank = 10 +normal = ["esc-bus", "mecanum", "motor", "motor-control", "motor-protocol"] +dev = [] +external = ["serde", "thiserror", "toml"] +dev_external = ["approx"] + +[packages."chassis-tune"] +path = "crates/application/tuning" +layer = "application/tuning" +rank = 13 +normal = ["bench", "can", "chassis-config", "esc-bus", "experiment", "motor", "motor-control", "motor-model", "motor-protocol", "sim-harness", "slcan", "socketcan", "tuning"] +dev = [] +external = ["anyhow", "argmin", "argmin-math", "clap", "csv", "indicatif", "plotters", "rand", "rayon", "serde", "serde_json", "thiserror", "tokio", "toml", "tracing", "tracing-subscriber"] +dev_external = ["approx"] + +[packages."chassisd"] +path = "crates/application/daemon" +layer = "application/daemon" +rank = 12 +normal = ["can", "chassis-config", "dr16", "dr16-protocol", "esc-bus", "mecanum", "motor", "motor-control", "sim-harness", "socketcan"] +dev = [] +external = ["clap", "tokio", "tracing", "tracing-subscriber"] +dev_external = ["approx", "tokio"] + +[packages."delta10"] +path = "crates/device/imu" +layer = "device/imu" +rank = 3 +normal = ["can", "delta10-protocol", "imu"] +dev = [] +external = ["thiserror", "tokio"] +dev_external = [] + +[packages."delta10-protocol"] +path = "crates/protocol/imu" +layer = "protocol/imu" +rank = 1 +normal = ["can", "imu"] +dev = [] +external = ["thiserror"] +dev_external = ["approx"] + +[packages."dr16"] +path = "crates/device/remote" +layer = "device/remote" +rank = 3 +normal = ["dr16-protocol"] +dev = [] +external = ["serial", "tokio", "tracing"] +dev_external = ["tokio"] + +[packages."dr16-protocol"] +path = "crates/protocol/remote" +layer = "protocol/remote" +rank = 1 +normal = [] +dev = [] +external = ["thiserror"] +dev_external = ["proptest"] + +[packages."esc-bus"] +path = "crates/device/esc" +layer = "device/esc" +rank = 4 +normal = ["can", "motor", "motor-protocol"] +dev = [] +external = ["thiserror", "tokio", "tracing"] +dev_external = ["approx", "tokio"] + +[packages."experiment"] +path = "crates/experiment/trace" +layer = "experiment/trace" +rank = 5 +normal = [] +dev = [] +external = [] +dev_external = ["approx"] + +[packages."imu"] +path = "crates/contract/imu" +layer = "contract/imu" +rank = 0 +normal = [] +dev = [] +external = [] +dev_external = [] + +[packages."integration-tests"] +path = "crates/verification/integration" +layer = "verification/integration" +rank = 14 +normal = ["can", "esc-bus", "experiment", "motor", "motor-control", "motor-model", "motor-protocol", "sim-harness", "socketcan"] +dev = [] +external = ["tokio"] +dev_external = ["tokio"] + +[packages."mecanum"] +path = "crates/control/chassis" +layer = "control/chassis" +rank = 4 +normal = [] +dev = [] +external = [] +dev_external = ["approx", "proptest"] + +[packages."motor"] +path = "crates/device/motor" +layer = "device/motor" +rank = 3 +normal = ["can", "motor-protocol"] +dev = [] +external = ["thiserror"] +dev_external = ["approx"] + +[packages."motor-control"] +path = "crates/control/motor" +layer = "control/motor" +rank = 6 +normal = ["motor", "pid"] +dev = [] +external = [] +dev_external = ["approx"] + +[packages."motor-model"] +path = "crates/model/motor" +layer = "model/motor" +rank = 7 +normal = ["motor-protocol"] +dev = [] +external = [] +dev_external = ["approx"] + +[packages."motor-protocol"] +path = "crates/protocol/motor" +layer = "protocol/motor" +rank = 1 +normal = ["can"] +dev = [] +external = ["thiserror"] +dev_external = ["approx", "proptest"] + +[packages."pid"] +path = "crates/control/algorithm" +layer = "control/algorithm" +rank = 4 +normal = [] +dev = [] +external = [] +dev_external = ["approx"] + +[packages."sim-harness"] +path = "crates/simulation/motor" +layer = "simulation/motor" +rank = 8 +normal = ["can", "experiment", "motor", "motor-control", "motor-model", "motor-protocol"] +dev = [] +external = ["rand", "thiserror", "tokio", "tracing"] +dev_external = ["approx", "tokio"] + +[packages."slcan"] +path = "crates/transport/serial" +layer = "transport/serial" +rank = 2 +normal = ["can"] +dev = [] +external = ["serial", "slcan", "thiserror", "tokio", "tracing"] +dev_external = ["tokio"] + +[packages."socketcan"] +path = "crates/transport/can" +layer = "transport/can" +rank = 2 +normal = ["can"] +dev = [] +external = ["socketcan", "thiserror", "tokio", "tracing"] +dev_external = ["tokio"] + +[packages."spin"] +path = "crates/application/tools" +layer = "application/tools" +rank = 13 +normal = ["bench", "dr16", "dr16-protocol", "esc-bus", "experiment", "mecanum", "motor", "motor-control", "slcan", "socketcan"] +dev = [] +external = ["clap", "tokio", "tracing", "tracing-subscriber"] +dev_external = ["tokio"] + +[packages."tuning"] +path = "crates/tooling/tuning" +layer = "tooling/tuning" +rank = 9 +normal = ["experiment", "motor-control", "motor-model", "motor-protocol", "pid", "sim-harness"] +dev = [] +external = ["argmin", "argmin-math", "indicatif", "rand", "rayon", "serde", "thiserror", "toml", "tracing"] +dev_external = ["approx", "proptest"] + +[external_roles] +tokio = ["contract", "transport", "device", "simulation", "tooling", "application", "verification"] +socketcan = ["transport", "device", "application", "verification"] +slcan = ["transport", "device", "application", "verification"] +serial = ["transport", "device", "application", "verification"] +thiserror = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"] +tracing = ["transport", "device", "simulation", "tooling", "application", "verification"] +tracing-subscriber = ["application", "verification"] +serde = ["config", "tooling", "application", "verification"] +toml = ["config", "tooling", "application", "verification"] +clap = ["application", "verification"] +argmin = ["tooling", "application", "verification"] +argmin-math = ["tooling", "application", "verification"] +rand = ["simulation", "tooling", "application", "verification"] +rayon = ["tooling", "application", "verification"] +csv = ["tooling", "application", "verification"] +serde_json = ["tooling", "application", "verification"] +indicatif = ["tooling", "application", "verification"] +plotters = ["tooling", "application", "verification"] +anyhow = ["tooling", "application", "verification"] +approx = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"] +proptest = ["protocol", "transport", "device", "control", "model", "experiment", "simulation", "tooling", "config", "application", "verification"] diff --git a/config/tune.toml b/config/tune.toml index 2bd6087..d9dfa2a 100644 --- a/config/tune.toml +++ b/config/tune.toml @@ -19,7 +19,7 @@ # 不属于超参数,本文件**不接受**这些键(写了会直接报错)。它们只来自 # chassis.toml 或显式 CLI——否则预设文件就成了绕过限流的口子。 # -# schema:见 crates/chassis-tune/src/preset.rs(version = 1,未知键报错)。 +# schema:见 crates/application/tuning/src/main.rs(version = 1,未知键报错)。 version = 1 default_preset = "sim_bench_model" @@ -68,7 +68,7 @@ max_evals = 4000 threads = 0 [preset.sim_bench_model.sim] -plant = "gm3508-bench" +plant = "bench" # 域随机化:单点模型调出来的增益对增益/时间常数/延迟高度敏感, # 因此默认在 8 个成员的集成上做鲁棒优化,而不是对着一条理想曲线最优化。 ensemble = 8 @@ -128,7 +128,7 @@ max_evals = 1000 threads = 0 [preset.sim_ideal.sim] -plant = "gm3508" +plant = "ideal" # 理想模型本身就是确定的,单成员即可。 ensemble = 1 robust_weight = 0.0 @@ -193,7 +193,7 @@ threads = 1 [preset.bench_noload.sim] # 真机后端不用这些,但保留"最接近台架的模型",方便先离线预演再上车。 -plant = "gm3508-bench" +plant = "bench" ensemble = 8 robust_weight = 0.5 gain_pct = 0.2 @@ -254,7 +254,7 @@ max_evals = 80 threads = 1 [preset.bench_loaded.sim] -plant = "gm3508-bench" +plant = "bench" ensemble = 8 robust_weight = 0.5 gain_pct = 0.2 @@ -314,7 +314,7 @@ max_evals = 40 threads = 1 [preset.field_updown.sim] -plant = "gm3508-bench" +plant = "bench" ensemble = 8 robust_weight = 0.5 gain_pct = 0.2 diff --git a/crates/bench/Cargo.toml b/crates/application/bench/Cargo.toml similarity index 91% rename from crates/bench/Cargo.toml rename to crates/application/bench/Cargo.toml index 98cce3d..0742ea5 100644 --- a/crates/bench/Cargo.toml +++ b/crates/application/bench/Cargo.toml @@ -24,3 +24,6 @@ anyhow = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } + +[package.metadata.sentry-chassis] +layer = "application/bench" diff --git a/crates/bench/src/lib.rs b/crates/application/bench/src/lib.rs similarity index 100% rename from crates/bench/src/lib.rs rename to crates/application/bench/src/lib.rs diff --git a/crates/chassisd/Cargo.toml b/crates/application/daemon/Cargo.toml similarity index 84% rename from crates/chassisd/Cargo.toml rename to crates/application/daemon/Cargo.toml index 7806fb4..40d6cf0 100644 --- a/crates/chassisd/Cargo.toml +++ b/crates/application/daemon/Cargo.toml @@ -15,6 +15,8 @@ motor = { workspace = true } esc-bus = { workspace = true } motor-control = { workspace = true } mecanum = { workspace = true } +dr16-protocol = { workspace = true } +dr16 = { workspace = true } chassis-config = { workspace = true } sim-harness = { workspace = true } socketcan = { workspace = true } @@ -26,3 +28,6 @@ tracing-subscriber = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "application/daemon" diff --git a/crates/chassisd/src/main.rs b/crates/application/daemon/src/main.rs similarity index 68% rename from crates/chassisd/src/main.rs rename to crates/application/daemon/src/main.rs index b9f1273..4c11065 100644 --- a/crates/chassisd/src/main.rs +++ b/crates/application/daemon/src/main.rs @@ -166,62 +166,63 @@ pub mod messages { pub use messages::*; pub mod source { - //! 上层速度指令源(twist source)。 + //! 上层底盘指令源。 //! - //! 守护进程通过 [`watch`] 通道把指令交给控制循环;指令源在独立任务中 - //! 持续产出 twist。遥控器(DR16)、自主导航等后续接入时各自实现 - //! [`TwistSource`] 即可。 + //! 守护进程通过 [`watch`] 通道把指令交给控制循环;指令源持续产出 + //! [`RemoteCommand`]。遥控器、自主导航等来源共享同一接口,失能语义不会在 + //! 各来源里重复实现。 use std::future::Future; - use mecanum::Twist; use tokio::sync::{mpsc, watch}; - /// 速度指令源。 - pub trait TwistSource: Send { + use crate::RemoteCommand; + + /// 底盘指令源。 + pub trait CommandSource: Send { /// 取下一条指令;`None` 表示源关闭。 - fn next_twist(&mut self) -> impl Future> + Send; + fn next_command(&mut self) -> impl Future> + Send; } - /// 恒零占位源:永不产出(watch 保持初值 `Twist::ZERO`,指令超时逻辑兜底)。 + /// 恒失能占位源:永不产出,控制器超时逻辑兜底停车。 pub struct ZeroSource; - impl TwistSource for ZeroSource { - async fn next_twist(&mut self) -> Option { + impl CommandSource for ZeroSource { + async fn next_command(&mut self) -> Option { std::future::pending().await } } /// 通道指令源(测试 / 简单进程内注入用)。 pub struct ChannelSource { - rx: mpsc::Receiver, + rx: mpsc::Receiver, } impl ChannelSource { /// 由 mpsc 接收端构造。 #[must_use] - pub const fn new(rx: mpsc::Receiver) -> Self { + pub const fn new(rx: mpsc::Receiver) -> Self { Self { rx } } /// 创建一对(发送端, 源)。 #[must_use] - pub fn pair(bound: usize) -> (mpsc::Sender, Self) { + pub fn pair(bound: usize) -> (mpsc::Sender, Self) { let (tx, rx) = mpsc::channel(bound); (tx, Self { rx }) } } - impl TwistSource for ChannelSource { - async fn next_twist(&mut self) -> Option { + impl CommandSource for ChannelSource { + async fn next_command(&mut self) -> Option { self.rx.recv().await } } /// 把任意指令源持续泵入 watch 通道(源关闭或接收端关闭时退出)。 - pub async fn pump_source(mut source: impl TwistSource, tx: watch::Sender) { - while let Some(twist) = source.next_twist().await { - if tx.send(twist).is_err() { + pub async fn pump_source(mut source: impl CommandSource, tx: watch::Sender) { + while let Some(command) = source.next_command().await { + if tx.send(command).is_err() { break; } } @@ -229,28 +230,249 @@ pub mod source { #[cfg(test)] mod tests { + use mecanum::Twist; + use super::*; #[tokio::test(start_paused = true)] async fn channel_source_pumps_into_watch() { let (tx, source) = ChannelSource::pair(8); - let (watch_tx, mut watch_rx) = watch::channel(Twist::ZERO); + let (watch_tx, mut watch_rx) = watch::channel(RemoteCommand::DISABLED); let pump = tokio::spawn(pump_source(source, watch_tx)); - tx.send(Twist { vx: 1.0, vy: 0.0, omega: 0.0 }).await.unwrap(); + let command = RemoteCommand::new(Twist { vx: 1.0, vy: 0.0, omega: 0.0 }); + tx.send(command).await.unwrap(); tokio::time::sleep(std::time::Duration::from_millis(1)).await; - assert_eq!(*watch_rx.borrow_and_update(), Twist { vx: 1.0, vy: 0.0, omega: 0.0 }); + assert_eq!(*watch_rx.borrow_and_update(), command); // 源关闭 → 泵任务退出。 drop(tx); pump.await.unwrap(); - assert!((watch_rx.borrow().vx - 1.0).abs() < 1e-6); // watch 保持最后值 + assert_eq!(watch_rx.borrow().twist, command.twist); } } } pub use source::*; +pub mod remote { + //! DR16 遥控输入到安全底盘指令的映射。 + //! + //! 左摇杆上下控制前后、左右控制旋转;右摇杆左右控制横移。摇杆先过死区, + //! 再做平方响应曲线。S1 上档是唯一的运动使能开关。 + + use std::future::pending; + use std::time::{Duration, Instant}; + + use chassis_config::RemoteConfig; + use dr16::{SampleStream, StampedSample}; + use dr16_protocol::{Dr16Sample, SwitchPosition}; + use mecanum::Twist; + + use crate::{CommandSource, RemoteCommand}; + + /// DR16 摇杆满量程的协议值。 + const FULL_SCALE: f32 = 660.0; + + /// 遥控输入映射器。 + #[derive(Debug, Clone, Copy)] + pub struct RemoteMapper { + deadband: f32, + max_vx: f32, + max_vy: f32, + max_omega: f32, + invert_vx: bool, + invert_vy: bool, + invert_omega: bool, + } + + impl RemoteMapper { + /// 创建映射器;配置语义由 `chassis-config::Config::validate` 保证。 + #[must_use] + pub const fn new( + config: &RemoteConfig, + max_forward: f32, + max_strafe: f32, + max_spin: f32, + ) -> Self { + Self { + deadband: config.deadband, + max_vx: max_forward, + max_vy: max_strafe, + max_omega: max_spin, + invert_vx: config.invert_vx, + invert_vy: config.invert_vy, + invert_omega: config.invert_omega, + } + } + + /// 将一个合法 DR16 样本映射为底盘意图。 + #[must_use] + pub fn map(&self, sample: &Dr16Sample) -> RemoteCommand { + let vx = self.axis(sample.channel_t(), self.max_vx, self.invert_vx); + // ISO 坐标 y 向左为正,右摇杆向右应产生负 y。 + let vy = -self.axis(sample.channel_a(), self.max_vy, self.invert_vy); + // ISO 坐标 omega 逆时针为正,左摇杆向右应产生顺时针负 omega。 + let omega = -self.axis(sample.channel_r(), self.max_omega, self.invert_omega); + RemoteCommand { + twist: Twist { vx, vy, omega }, + enabled: sample.s1 == SwitchPosition::Up, + } + } + + fn axis(&self, raw: i16, maximum: f32, invert: bool) -> f32 { + let sign = if invert { -1.0 } else { 1.0 }; + sign * self.shaped(raw) * maximum + } + + fn shaped(&self, raw: i16) -> f32 { + let normalized = (f32::from(raw) / FULL_SCALE).clamp(-1.0, 1.0); + let magnitude = normalized.abs(); + if magnitude <= self.deadband { + return 0.0; + } + let scaled = (magnitude - self.deadband) / (1.0 - self.deadband); + normalized.signum() * scaled * scaled + } + } + + /// DR16 样本源:超时和串口关闭都会立即发布失能指令。 + pub struct Dr16CommandSource { + samples: SampleStream, + mapper: RemoteMapper, + timeout: Duration, + last_received_at: Instant, + timed_out: bool, + closed: bool, + } + + impl Dr16CommandSource { + /// 创建 DR16 指令源。 + #[must_use] + pub fn new(samples: SampleStream, mapper: RemoteMapper, timeout: Duration) -> Self { + Self { + samples, + mapper, + timeout, + last_received_at: Instant::now(), + timed_out: false, + closed: false, + } + } + + fn command(&mut self, stamped: StampedSample) -> RemoteCommand { + self.last_received_at = stamped.received_at; + self.timed_out = false; + self.mapper.map(&stamped.sample) + } + } + + impl CommandSource for Dr16CommandSource { + async fn next_command(&mut self) -> Option { + if self.closed { + return pending().await; + } + + if self.timed_out { + return if let Some(stamped) = self.samples.recv().await { + Some(self.command(stamped)) + } else { + self.closed = true; + Some(RemoteCommand::DISABLED) + }; + } + + let elapsed = Instant::now().saturating_duration_since(self.last_received_at); + let remaining = self.timeout.saturating_sub(elapsed); + match tokio::time::timeout(remaining, self.samples.recv()).await { + Ok(Some(stamped)) => Some(self.command(stamped)), + Ok(None) => { + self.closed = true; + Some(RemoteCommand::DISABLED) + } + Err(_) => { + self.timed_out = true; + Some(RemoteCommand::DISABLED) + } + } + } + } + + #[cfg(test)] + mod tests { + use dr16::sample_channel; + use dr16_protocol::ExtendedInput; + + use super::*; + + fn sample(channels: [i16; 4], s1: SwitchPosition) -> Dr16Sample { + Dr16Sample { channels, s1, s2: SwitchPosition::Mid, extended: ExtendedInput::default() } + } + + fn mapper() -> RemoteMapper { + RemoteMapper::new(&RemoteConfig::default(), 3.0, 2.0, 4.0) + } + + #[test] + fn maps_left_stick_to_forward_and_rotation_and_right_stick_to_strafe() { + let command = mapper().map(&sample([660, 0, 660, 660], SwitchPosition::Up)); + assert!(command.enabled); + assert!((command.twist.vx - 3.0).abs() < 1e-6); + assert!((command.twist.vy + 2.0).abs() < 1e-6); + assert!((command.twist.omega + 4.0).abs() < 1e-6); + } + + #[test] + fn applies_deadband_square_curve_and_inversions() { + let config = RemoteConfig { + invert_vx: true, + invert_vy: true, + invert_omega: true, + ..RemoteConfig::default() + }; + let mapper = RemoteMapper::new(&config, 1.0, 1.0, 1.0); + assert!(mapper.map(&sample([0, 0, 33, 0], SwitchPosition::Up)).twist.vx.abs() < 1e-6); + + let command = mapper.map(&sample([660, 0, 660, 660], SwitchPosition::Up)); + assert!((command.twist.vx + 1.0).abs() < 1e-6); + assert!((command.twist.vy - 1.0).abs() < 1e-6); + assert!((command.twist.omega - 1.0).abs() < 1e-6); + } + + #[test] + fn s1_must_be_up_and_bad_switch_is_disabled() { + for position in [SwitchPosition::Down, SwitchPosition::Mid] { + assert!(!mapper().map(&sample([660, 660, 660, 660], position)).enabled); + } + } + + #[tokio::test(start_paused = true)] + async fn timeout_publishes_disabled_once_and_recovers() { + let (sender, samples) = sample_channel(); + let mut source = Dr16CommandSource::new(samples, mapper(), Duration::from_millis(100)); + let _ = sender.send(sample([660, 0, 0, 0], SwitchPosition::Up)); + assert!(source.next_command().await.unwrap().enabled); + + let disabled = source.next_command().await.unwrap(); + assert!(!disabled.enabled); + assert_eq!(disabled.effective_twist(), Twist::ZERO); + + let _ = sender.send(sample([0, 0, 0, 0], SwitchPosition::Up)); + assert!(source.next_command().await.unwrap().enabled); + } + + #[tokio::test(start_paused = true)] + async fn closed_stream_disables_immediately() { + let (sender, samples) = sample_channel(); + drop(sender); + let mut source = Dr16CommandSource::new(samples, mapper(), Duration::from_millis(100)); + let command = source.next_command().await.unwrap(); + assert!(!command.enabled); + assert_eq!(command.effective_twist(), Twist::ZERO); + } + } +} + pub mod telemetry { //! 诊断输出:控制周期抖动统计(ARCHITECTURE.md §7.2)。 //! @@ -569,11 +791,52 @@ pub mod controller { use tokio::time::{Instant, MissedTickBehavior, interval}; use tracing::{info, warn}; + use crate::RemoteCommand; + + /// 逐轴速度斜坡。 + #[derive(Debug, Clone, Copy)] + struct TwistRamp { + current: Twist, + step_vx: f32, + step_vy: f32, + step_omega: f32, + } + + impl TwistRamp { + fn new(limits: (f32, f32, f32), period: Duration, ramp: Duration) -> Self { + let ratio = (period.as_secs_f32() / ramp.as_secs_f32()).clamp(0.0, 1.0); + Self { + current: Twist::ZERO, + step_vx: limits.0 * ratio, + step_vy: limits.1 * ratio, + step_omega: limits.2 * ratio, + } + } + + fn advance(&mut self, target: Twist) -> Twist { + self.current = Twist { + vx: approach(self.current.vx, target.vx, self.step_vx), + vy: approach(self.current.vy, target.vy, self.step_vy), + omega: approach(self.current.omega, target.omega, self.step_omega), + }; + self.current + } + + fn reset(&mut self) { + self.current = Twist::ZERO; + } + } + + fn approach(current: f32, target: f32, maximum_step: f32) -> f32 { + let delta = target - current; + if delta.abs() <= maximum_step { target } else { current + delta.signum() * maximum_step } + } + /// 底盘控制器。 /// /// 职责(1kHz 节拍): - /// 1. 读取最新 twist 指令,**指令超时则归零**; - /// 2. 速度限幅(保持方向按比例收缩); + /// 1. 读取最新 [`RemoteCommand`],超时或失能时立即归零; + /// 2. 速度限幅(保持方向按比例收缩),再逐轴斜坡平滑; /// 3. **上电门控**:四台电机都收到过反馈才下发速度,否则全部停用; /// 4. 麦轮逆解 → 各轮目标转速(rpm,轮端)→ 经 [`OutputShaft`] 换算到转子。 /// @@ -585,6 +848,7 @@ pub mod controller { /// (max_vx, max_vy, max_omega)。 limits: (f32, f32, f32), command_timeout: Duration, + ramp_time: Duration, } impl ChassisController @@ -598,19 +862,25 @@ pub mod controller { wheels: [W; 4], limits: (f32, f32, f32), command_timeout: Duration, + ramp_time: Duration, ) -> Self { - Self { kinematics, wheels, limits, command_timeout } + Self { kinematics, wheels, limits, command_timeout, ramp_time } } /// 启动控制循环任务。 - pub fn spawn(self, commands: watch::Receiver, period: Duration) -> JoinHandle<()> { + pub fn spawn( + self, + commands: watch::Receiver, + period: Duration, + ) -> JoinHandle<()> { tokio::spawn(self.run(commands, period)) } - async fn run(self, mut commands: watch::Receiver, period: Duration) { + async fn run(self, mut commands: watch::Receiver, period: Duration) { let mut ticker = interval(period); ticker.set_missed_tick_behavior(MissedTickBehavior::Skip); - let mut latest = Twist::ZERO; + let mut ramp = TwistRamp::new(self.limits, period, self.ramp_time); + let mut latest = RemoteCommand::DISABLED; let mut last_command_at: Option = None; let mut ticks: u64 = 0; @@ -627,13 +897,21 @@ pub mod controller { // 尚未收到任何指令:保持静止。 None => true, }; - let twist = if timed_out { + let all_seen_feedback = self.wheels.iter().all(|m| m.state().has_feedback()); + let stop = timed_out || !latest.enabled || !all_seen_feedback; + + let twist = if stop { + ramp.reset(); Twist::ZERO } else { - latest.clamped(self.limits.0, self.limits.1, self.limits.2) + let target = latest.effective_twist().clamped( + self.limits.0, + self.limits.1, + self.limits.2, + ); + ramp.advance(target) }; - let all_seen_feedback = self.wheels.iter().all(|m| m.state().has_feedback()); if all_seen_feedback { let wheel_rpms = self.kinematics.wheel_rpms(&twist); for (motor, wheel_rpm) in self.wheels.iter().zip(wheel_rpms) { @@ -696,6 +974,46 @@ pub mod controller { m } + #[test] + fn ramp_reaches_full_scale_in_requested_time_and_resets() { + let mut ramp = TwistRamp::new( + (2.0, 2.0, 2.0), + Duration::from_millis(1), + Duration::from_millis(500), + ); + let target = Twist { vx: 2.0, ..Twist::ZERO }; + for _ in 0..250 { + ramp.advance(target); + } + assert!((ramp.current.vx - 1.0).abs() < 1e-5); + for _ in 0..250 { + ramp.advance(target); + } + assert!((ramp.current.vx - target.vx).abs() < 1e-4); + ramp.reset(); + assert_eq!(ramp.current, Twist::ZERO); + } + + #[test] + fn ramp_reverses_through_zero_without_overshoot() { + let mut ramp = TwistRamp::new( + (1.0, 1.0, 1.0), + Duration::from_millis(1), + Duration::from_millis(10), + ); + for _ in 0..10 { + ramp.advance(Twist { vy: 1.0, ..Twist::ZERO }); + } + let mut crossed_zero = false; + for _ in 0..20 { + let output = ramp.advance(Twist { vy: -1.0, ..Twist::ZERO }); + assert!(output.vy <= 1.0 + 1e-6 && output.vy >= -1.0 - 1e-6); + crossed_zero |= output.vy.abs() < 1e-6; + } + assert!(crossed_zero); + assert!((ramp.current.vy + 1.0).abs() < 1e-5); + } + /// 证明 `ChassisController` 只依赖能力 trait:换 `MockMotor` 原样工作。 #[tokio::test(start_paused = true)] async fn controller_drives_wheels_through_capability_traits() { @@ -706,12 +1024,13 @@ pub mod controller { wrap_wheels(mocks.clone(), [GEAR; 4]), (3.0, 3.0, 6.0), Duration::from_millis(200), + Duration::from_millis(1), ); - let (tx, rx) = watch::channel(Twist::ZERO); + let (tx, rx) = watch::channel(RemoteCommand::DISABLED); let handle = ctrl.spawn(rx, Duration::from_millis(1)); let twist = Twist { vx: 1.0, ..Twist::ZERO }; - tx.send_replace(twist); + tx.send_replace(RemoteCommand::new(twist)); tokio::time::sleep(Duration::from_millis(5)).await; let expected = kinematics.wheel_rpms(&twist); @@ -721,7 +1040,7 @@ pub mod controller { let want = expected[i] * GEAR; assert!( (rotor_rpm - want).abs() < 1e-2, - "wheel {i}: rotor_rpm {rotor_rpm} != {want}" + "wheel {i}: {rotor_rpm} != {want}" ); } ref cmd => panic!("wheel {i} expected Velocity, got {cmd:?}"), @@ -736,9 +1055,7 @@ pub mod controller { async fn disables_wheels_until_all_feedback_seen() { let kinematics = Mecanum::new(0.2, 0.25, 0.0762); let ready = mock_wheel(1); - let missing = MockMotor::new(2); // 无反馈 - let mocks_ready = [ready.clone(), mock_wheel(3), mock_wheel(4)]; - let _ = mocks_ready; + let missing = MockMotor::new(2); let wheels = wrap_wheels( [ready.clone(), missing.clone(), mock_wheel(3), mock_wheel(4)], [GEAR; 4], @@ -748,11 +1065,12 @@ pub mod controller { wheels, (3.0, 3.0, 6.0), Duration::from_millis(200), + Duration::from_millis(500), ); - let (tx, rx) = watch::channel(Twist::ZERO); + let (tx, rx) = watch::channel(RemoteCommand::DISABLED); let handle = ctrl.spawn(rx, Duration::from_millis(1)); - tx.send_replace(Twist { vx: 1.0, ..Twist::ZERO }); + tx.send_replace(RemoteCommand::new(Twist { vx: 1.0, ..Twist::ZERO })); tokio::time::sleep(Duration::from_millis(5)).await; assert_eq!(ready.last_command(), Command::Disabled); @@ -760,6 +1078,29 @@ pub mod controller { handle.abort(); } + + #[tokio::test(start_paused = true)] + async fn disabled_command_stops_immediately_without_ramping() { + let kinematics = Mecanum::new(0.2, 0.25, 0.0762); + let mocks = [mock_wheel(1), mock_wheel(2), mock_wheel(3), mock_wheel(4)]; + let ctrl = ChassisController::new( + kinematics, + wrap_wheels(mocks.clone(), [GEAR; 4]), + (3.0, 3.0, 6.0), + Duration::from_millis(200), + Duration::from_millis(500), + ); + let (tx, rx) = watch::channel(RemoteCommand::DISABLED); + let handle = ctrl.spawn(rx, Duration::from_millis(1)); + tx.send_replace(RemoteCommand::new(Twist { vx: 3.0, ..Twist::ZERO })); + tokio::time::sleep(Duration::from_millis(200)).await; + tx.send_replace(RemoteCommand { enabled: false, ..RemoteCommand::STOP }); + tokio::time::sleep(Duration::from_millis(2)).await; + for mock in mocks { + assert_eq!(mock.last_command(), Command::Velocity(0.0)); + } + handle.abort(); + } } } @@ -771,11 +1112,11 @@ use std::process::ExitCode; use std::time::Duration; use clap::Parser; -use mecanum::Twist; use tokio::sync::watch; use tracing::{error, info}; use tracing_subscriber::EnvFilter; +use crate::remote::{Dr16CommandSource, RemoteMapper}; use crate::{ChassisController, wrap_wheels}; use can::CanLink; use chassis_config::Config; @@ -802,6 +1143,10 @@ struct Args { /// 只装配配置、链路、总线和控制任务,短跑后安全退出。 #[arg(long)] dry_run: bool, + + /// 覆盖配置文件中的 DR16 串口设备(如 `/dev/ttyS2`)。 + #[arg(long)] + rc_device: Option, } fn main() -> ExitCode { @@ -811,13 +1156,18 @@ fn main() -> ExitCode { let args = Args::parse(); - let config = match load_config(&args) { + let mut config = match load_config(&args) { Ok(config) => config, Err(e) => { error!("{e}"); return ExitCode::FAILURE; } }; + if let Some(device) = args.rc_device.clone() { + let mut remote = config.remote.take().unwrap_or_default(); + remote.device = device; + config.remote = Some(remote); + } let interface = args.interface.clone().unwrap_or_else(|| config.can.interface.clone()); let runtime = match tokio::runtime::Builder::new_multi_thread().enable_all().build() { @@ -856,6 +1206,25 @@ async fn run( dry_run: bool, ) -> Result<(), Box> { let bus_options = config.bus_options(); + let limits = (config.chassis.max_vx, config.chassis.max_vy, config.chassis.max_omega); + let remote_source = if mock { + info!("mock 模式不打开 DR16 串口,遥控输入保持失能"); + None + } else { + match config.remote.clone() { + Some(remote_config) => { + let samples = dr16::open(&remote_config.device)?; + let mapper = RemoteMapper::new(&remote_config, limits.0, limits.1, limits.2); + let source = Dr16CommandSource::new( + samples, + mapper, + Duration::from_millis(remote_config.timeout_ms), + ); + Some((source, remote_config.ramp_ms)) + } + None => None, + } + }; // 1) CAN 链路:仿真或真实 SocketCAN。 let link = if mock { @@ -884,10 +1253,8 @@ async fn run( "chassisd 启动" ); - // 3) 控制循环(当前无指令源:watch 保持 ZERO,安全静止; - // 遥控 / 自主导航后续经 chassis_config::source 接入)。 - let (twist_tx, twist_rx) = watch::channel(Twist::ZERO); - let limits = (config.chassis.max_vx, config.chassis.max_vy, config.chassis.max_omega); + // 3) 控制循环与遥控指令源。 + let (command_tx, command_rx) = watch::channel(crate::RemoteCommand::DISABLED); let motors: [EscMotor; 4] = bus.motors().to_vec().try_into().unwrap_or_else(|_| unreachable!("exactly 4 motors")); let gears: [f32; 4] = config @@ -902,11 +1269,16 @@ async fn run( wrap_wheels(motors, gears), limits, Duration::from_millis(config.chassis.command_timeout_ms), + Duration::from_millis(remote_source.as_ref().map_or(500, |(_, ramp_ms)| *ramp_ms)), ) - .spawn(twist_rx, period); - let _twist_tx = twist_tx; // 保留发送端供后续指令源使用 + .spawn(command_rx, period); + let remote_task = remote_source + .map(|(source, _)| tokio::spawn(crate::source::pump_source(source, command_tx.clone()))); if dry_run { + if let Some(task) = remote_task { + task.abort(); + } tokio::time::sleep(Duration::from_millis(20)).await; for motor in bus.motors() { motor.disable(); @@ -927,6 +1299,9 @@ async fn run( } // 5) 停车:显式停用电机并等若干节拍把 0 电流帧刷入总线。 + if let Some(task) = remote_task { + task.abort(); + } for motor in bus.motors() { motor.disable(); } @@ -953,6 +1328,7 @@ fn open_real_link(interface: &str) -> Result mod daemon_integration { use super::*; use esc_bus::EscBusHandle; + use mecanum::Twist; use motor::MotorFeedback; use sim_harness::spawn_plant; use tokio::time::sleep; @@ -964,7 +1340,7 @@ mod daemon_integration { fn stack( config: &Config, command_timeout_ms: u64, - ) -> (EscBusHandle, watch::Sender) { + ) -> (EscBusHandle, watch::Sender) { let (bus_side, plant_side) = CanLink::pair(512); let esc_ids: Vec = config.motors.iter().map(|m| m.esc_id).collect(); spawn_plant(plant_side, &esc_ids, config.bus_options().period); @@ -976,7 +1352,7 @@ mod daemon_integration { let bus = EscBus::spawn(bus_side, config.to_esc_configs(), config.bus_options(), policy).unwrap(); - let (twist_tx, twist_rx) = watch::channel(Twist::ZERO); + let (twist_tx, twist_rx) = watch::channel(RemoteCommand::DISABLED); let motors: [EscMotor; 4] = bus.motors().to_vec().try_into().unwrap_or_else(|_| unreachable!("exactly 4 motors")); let gears: [f32; 4] = config @@ -991,6 +1367,7 @@ mod daemon_integration { wrap_wheels(motors, gears), (config.chassis.max_vx, config.chassis.max_vy, config.chassis.max_omega), Duration::from_millis(command_timeout_ms), + Duration::from_millis(2), ); controller.spawn(twist_rx, config.bus_options().period); (bus, twist_tx) @@ -1025,7 +1402,7 @@ mod daemon_integration { let config = Config::mock_default(); let (bus, twist_tx) = stack(&config, 10_000); - twist_tx.send_replace(Twist { vx: 1.0, ..Twist::ZERO }); + twist_tx.send_replace(RemoteCommand::new(Twist { vx: 1.0, ..Twist::ZERO })); let target = RPM_PER_MPS; let ok = wait_until(3000, || { wheel_rpms(&bus).iter().all(|&rpm| (rpm - target).abs() < 0.05 * target) @@ -1035,7 +1412,7 @@ mod daemon_integration { assert!(ok, "未收敛到 {target} rpm: {rpm:?}"); // 停车:指令归零后各轮减速到停。 - twist_tx.send_replace(Twist::ZERO); + twist_tx.send_replace(RemoteCommand::STOP); let stopped = wait_until(2000, || wheel_rpms(&bus).iter().all(|rpm| rpm.abs() < 15.0)).await; let rpm = wheel_rpms(&bus); @@ -1048,7 +1425,7 @@ mod daemon_integration { let config = Config::mock_default(); let (bus, twist_tx) = stack(&config, 10_000); - twist_tx.send_replace(Twist { omega: 1.0, ..Twist::ZERO }); + twist_tx.send_replace(RemoteCommand::new(Twist { omega: 1.0, ..Twist::ZERO })); // a·ω = (0.2 + 0.25) m/s 的轮线速度。 let target = 0.45 * RPM_PER_MPS; let ok = wait_until(3000, || { @@ -1076,7 +1453,7 @@ mod daemon_integration { let (bus, twist_tx) = stack(&config, config.chassis.command_timeout_ms); // 只发一次指令,随后沉默 → 超过 command_timeout(200ms)后应停车。 - twist_tx.send_replace(Twist { vx: 1.0, ..Twist::ZERO }); + twist_tx.send_replace(RemoteCommand::new(Twist { vx: 1.0, ..Twist::ZERO })); let moving = wait_until(1000, || wheel_rpms(&bus).iter().any(|rpm| rpm.abs() > 0.2 * RPM_PER_MPS)) .await; @@ -1096,11 +1473,11 @@ mod daemon_integration { config.chassis.max_vx = 1.0; // 限速 1 m/s let (bus, twist_tx) = stack(&config, 10_000); - twist_tx.send_replace(Twist { + twist_tx.send_replace(RemoteCommand::new(Twist { vx: 3.0, // 超限指令 vy: 2.0, omega: 0.0, - }); + })); // 限幅按比例收缩:(3, 2) → (1, 2/3)。四轮 = vx ∓ vy: // FL/RR = (1 - 2/3) m/s,FR/RL = (1 + 2/3) m/s。 let diag_slow = (1.0 - 2.0 / 3.0) * RPM_PER_MPS; diff --git a/crates/spin/Cargo.toml b/crates/application/tools/Cargo.toml similarity index 84% rename from crates/spin/Cargo.toml rename to crates/application/tools/Cargo.toml index 992aca4..6613ec2 100644 --- a/crates/spin/Cargo.toml +++ b/crates/application/tools/Cargo.toml @@ -16,6 +16,8 @@ esc-bus = { workspace = true } experiment = { workspace = true } motor-control = { workspace = true } mecanum = { workspace = true } +dr16-protocol = { workspace = true } +dr16 = { workspace = true } slcan = { workspace = true } socketcan = { workspace = true } tokio = { workspace = true } @@ -25,3 +27,6 @@ tracing-subscriber = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } + +[package.metadata.sentry-chassis] +layer = "application/tools" diff --git a/crates/spin/src/main.rs b/crates/application/tools/src/main.rs similarity index 89% rename from crates/spin/src/main.rs rename to crates/application/tools/src/main.rs index 51572e5..ca78ee4 100644 --- a/crates/spin/src/main.rs +++ b/crates/application/tools/src/main.rs @@ -574,6 +574,93 @@ mod chassis { } } +mod rc_monitor { + //! 只读 DR16 遥控监视器:不打开 CAN,不驱动任何电机。 + + use std::process::ExitCode; + use std::time::{Duration, Instant}; + + use clap::Parser; + use dr16::open; + use dr16_protocol::SwitchPosition; + + #[derive(Debug, Parser)] + #[command(name = "spin-rc", version, about = "只读监视 DR16/D-BUS 遥控输入")] + struct Args { + /// DR16 D-BUS UART 设备。 + #[arg(long, default_value = "/dev/ttyS2")] + device: String, + /// 显示打印周期(毫秒)。 + #[arg(long, default_value_t = 100)] + report_ms: u64, + /// 映射显示用死区。 + #[arg(long, default_value_t = 0.05)] + deadband: f32, + } + + fn shaped(raw: i16, deadband: f32) -> f32 { + let normalized = (f32::from(raw) / 660.0).clamp(-1.0, 1.0); + let magnitude = normalized.abs(); + if magnitude <= deadband { + return 0.0; + } + normalized.signum() * ((magnitude - deadband) / (1.0 - deadband)).powi(2) + } + + pub async fn main_with_args(parameters: Vec) -> ExitCode { + let args = Args::parse_from(std::iter::once(String::from("spin-rc")).chain(parameters)); + let stream = match open(&args.device) { + Ok(stream) => stream, + Err(error) => { + eprintln!("✗ 打开 DR16 串口 {} 失败:{error}", args.device); + return ExitCode::FAILURE; + } + }; + println!("=== DR16/D-BUS 只读监视({})===", args.device); + println!("不接触 CAN / 电机;ctrl-c 退出。满量程映射:vx=3.0 vy=3.0 omega=6.0(仅显示)\n"); + + let mut report = tokio::time::interval(Duration::from_millis(args.report_ms.max(1))); + report.set_missed_tick_behavior(tokio::time::MissedTickBehavior::Skip); + loop { + tokio::select! { + _ = tokio::signal::ctrl_c() => { + println!("\n已退出"); + return ExitCode::SUCCESS; + } + _ = report.tick() => { + let Some(stamped) = stream.latest() else { + println!("等待 DR16 帧……"); + continue; + }; + let sample = stamped.sample; + let age = Instant::now().saturating_duration_since(stamped.received_at); + let vx = shaped(sample.channel_t(), args.deadband) * 3.0; + let vy = -shaped(sample.channel_a(), args.deadband) * 3.0; + let omega = -shaped(sample.channel_r(), args.deadband) * 6.0; + println!( + "age {:>4}ms | A {:>4} E {:>4} T {:>4} R {:>4} | S1 {:?}({}) S2 {:?}({}) | vx {:+.2} vy {:+.2} omega {:+.2}", + age.as_millis(), + sample.channel_a(), + sample.channel_e(), + sample.channel_t(), + sample.channel_r(), + sample.s1, + sample.s1.wire_value(), + sample.s2, + sample.s2.wire_value(), + vx, + vy, + omega, + ); + if sample.s1 != SwitchPosition::Up { + println!(" S1 非上档:底盘使能关闭"); + } + } + } + } + } +} + mod motor_one { //! 单电机验证工具:让一个 C620 / GM3508 转起来,验证电机抽象全链路。 //! @@ -710,12 +797,13 @@ async fn main() -> std::process::ExitCode { motor_one::main_with_args(args.collect()).await; std::process::ExitCode::SUCCESS } + Some("rc") => rc_monitor::main_with_args(args.collect()).await, Some("--help" | "-h") => { - println!("usage: spin [options]"); + println!("usage: spin [options]"); std::process::ExitCode::SUCCESS } _ => { - eprintln!("usage: spin [options]"); + eprintln!("usage: spin [options]"); std::process::ExitCode::from(2) } } diff --git a/crates/chassis-tune/Cargo.toml b/crates/application/tuning/Cargo.toml similarity index 95% rename from crates/chassis-tune/Cargo.toml rename to crates/application/tuning/Cargo.toml index 3132835..d5ef0e2 100644 --- a/crates/chassis-tune/Cargo.toml +++ b/crates/application/tuning/Cargo.toml @@ -45,3 +45,6 @@ plotters = { workspace = true, optional = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "application/tuning" diff --git a/crates/chassis-tune/src/main.rs b/crates/application/tuning/src/main.rs similarity index 98% rename from crates/chassis-tune/src/main.rs rename to crates/application/tuning/src/main.rs index 5102e70..ab28382 100644 --- a/crates/chassis-tune/src/main.rs +++ b/crates/application/tuning/src/main.rs @@ -122,7 +122,7 @@ pub mod report { #[cfg(feature = "plot")] if let Some(trace) = &ctx.best_trace { let svg_path = ctx.out_dir.join("best.svg"); - crate::tune::plot::write_step_svg(&svg_path, trace, &ctx.scenario)?; + crate::plot::write_step_svg(&svg_path, trace, &ctx.scenario)?; written.push(svg_path); } @@ -932,14 +932,15 @@ use esc_bus::EscConfig; use experiment::SetpointProfile; use indicatif::ProgressBar; use motor_control::VelocityGains; +use motor_model::Gm3508Model; use motor_protocol::EscModel; use serde::Serialize; use sim_harness::{LoopLimits, PlantEnsemble}; use tuning::{ AcceptanceSpec, BackendSpec, BenchEnvelope, BenchSpec, CostSpec, DEFAULT_PRESET_PATH, - Evaluator, Objective, PlantSpec, Preset, PresetFile, ProfileSpec, RangeSpec, Ranked, ScaleSpec, - ScenarioSpec, Score, SearchSpec, SimSpec, SolverSpec, SpaceSpec, Tuning, Verdict, parse_axis, - sweep, + Evaluator, Objective, PlantProfile, Preset, PresetFile, ProfileSpec, RangeSpec, Ranked, + ScaleSpec, ScenarioSpec, Score, SearchSpec, SimSpec, SolverSpec, SpaceSpec, Tuning, Verdict, + parse_axis, sweep, }; /// 子命令。 @@ -1121,7 +1122,7 @@ struct CommonArgs { /// 仿真后端参数(覆盖预设)。 #[derive(Debug, Clone, ClapArgs)] struct SimArgs { - /// 被控对象模型(内置默认 `gm3508-bench`) + /// 被控对象模型(内置默认 `bench`) #[arg(long, value_enum)] plant: Option, /// 集成成员数(域随机化;1 = 只用名义模型;内置默认 8) @@ -1268,16 +1269,16 @@ impl From for SolverSpec { #[derive(Debug, Clone, Copy, PartialEq, Eq, ValueEnum)] enum PlantArg { /// 理想一阶模型(无摩擦、无延迟) - Gm3508, + Ideal, /// 台架量级:静 / 库仑摩擦 + 2 拍延迟 - Gm3508Bench, + Bench, } -impl From for PlantSpec { +impl From for PlantProfile { fn from(value: PlantArg) -> Self { match value { - PlantArg::Gm3508 => Self::Gm3508, - PlantArg::Gm3508Bench => Self::Gm3508Bench, + PlantArg::Ideal => Self::Ideal, + PlantArg::Bench => Self::Bench, } } } @@ -1411,7 +1412,9 @@ impl CommonArgs { let source = if prefix.is_empty() { "内置默认".to_owned() } else { format!("{prefix}{name}") }; - let tuning = merged.to_tuning().with_context(|| format!("解算预设 '{source}' 失败"))?; + let tuning = merged + .to_tuning::() + .with_context(|| format!("解算预设 '{source}' 失败"))?; let envelope = merged .bench_envelope() .with_context(|| format!("解算预设 '{source}' 的安全包络失败"))?; @@ -1922,7 +1925,8 @@ fn presets_cmd(args: &PresetsArgs) -> Result { println!("共 {} 个预设", file.preset.len()); for (name, preset) in &file.preset { let merged = Preset::builtin().overlay(preset); - let tuning = merged.to_tuning().with_context(|| format!("解算预设 '{name}' 失败"))?; + let tuning = + merged.to_tuning::().with_context(|| format!("解算预设 '{name}' 失败"))?; let envelope = merged.bench_envelope().with_context(|| format!("解算预设 '{name}' 的安全包络失败"))?; let mark = @@ -2369,7 +2373,6 @@ fn open_bench( let mut esc = EscConfig::gm3508(hardware.name.clone(), hardware.esc_id, hardware.direction); esc.gear_ratio = hardware.gear_ratio; esc.current_limit = limits.current_limit_raw; - esc.model = limits.model; let envelope = SafetyEnvelope::new() .with_overspeed(envelope_spec.max_rpm, Duration::from_millis(60)) @@ -2452,7 +2455,14 @@ feedforward = 0.0 /// 仓库里随代码一起评审的预设文件。 fn repo_preset_path() -> PathBuf { - Path::new(env!("CARGO_MANIFEST_DIR")).join("../../config/tune.toml") + let mut directory = Path::new(env!("CARGO_MANIFEST_DIR")); + loop { + let candidate = directory.join("config/tune.toml"); + if candidate.exists() { + return candidate; + } + directory = directory.parent().expect("workspace root must exist"); + } } fn args_with(extra: &[&str]) -> CommonArgs { @@ -2573,7 +2583,7 @@ feedforward = 0.0 assert_eq!(tuning.search.seed, 20_260_101); assert!((tuning.scenario.target_rpm - 1500.0).abs() < 1e-6); assert!((tuning.acceptance.max_overshoot_pct - 20.0).abs() < 1e-6); - assert_eq!(tuning.plant_spec, PlantSpec::Gm3508Bench); + assert_eq!(tuning.plant_spec, PlantProfile::Bench); assert_eq!(settings.envelope.validate_runs, 3); } @@ -2722,7 +2732,7 @@ samples = 99 for (name, preset) in &file.preset { let merged = Preset::builtin().overlay(preset); let tuning = merged - .to_tuning() + .to_tuning::() .unwrap_or_else(|error| panic!("预设 '{name}' 无法解算:{error}")); merged .bench_envelope() diff --git a/crates/chassis-config/Cargo.toml b/crates/config/chassis/Cargo.toml similarity index 85% rename from crates/chassis-config/Cargo.toml rename to crates/config/chassis/Cargo.toml index 43c1162..bdbc14a 100644 --- a/crates/chassis-config/Cargo.toml +++ b/crates/config/chassis/Cargo.toml @@ -10,6 +10,7 @@ license.workspace = true workspace = true [dependencies] +motor = { workspace = true } motor-control = { workspace = true } mecanum = { workspace = true } esc-bus = { workspace = true } @@ -20,3 +21,6 @@ thiserror = { workspace = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "config/chassis" diff --git a/crates/chassis-config/src/lib.rs b/crates/config/chassis/src/lib.rs similarity index 84% rename from crates/chassis-config/src/lib.rs rename to crates/config/chassis/src/lib.rs index 0f49b63..40139df 100644 --- a/crates/chassis-config/src/lib.rs +++ b/crates/config/chassis/src/lib.rs @@ -12,6 +12,7 @@ use std::time::Duration; use esc_bus::{BusOptions, EscConfig}; use mecanum::Mecanum; +use motor::Gm3508; use motor_control::VelocityGains; use motor_protocol::EscModel; use serde::{Deserialize, Serialize}; @@ -37,6 +38,9 @@ pub struct Config { /// 底盘控制参数。 #[serde(default)] pub chassis: ChassisConfig, + /// 可选遥控输入;缺省时守护进程保持安全静止。 + #[serde(default)] + pub remote: Option, /// 麦轮几何。 pub mecanum: MecanumConfig, /// 四电机配置,顺序固定:前左、前右、后左、后右。 @@ -128,6 +132,69 @@ impl Default for ChassisConfig { } } +/// 遥控输入类型。 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)] +#[serde(rename_all = "lowercase")] +pub enum RemoteKind { + /// DJI DR16 接收机的 D-BUS 串口。 + Dr16, +} + +/// 遥控输入配置。 +#[derive(Debug, Clone, PartialEq, Deserialize, Serialize)] +#[serde(deny_unknown_fields)] +pub struct RemoteConfig { + /// 接收机协议。 + pub kind: RemoteKind, + /// T153 UART 设备节点。 + pub device: String, + /// 合法遥控帧断流超时(毫秒)。 + #[serde(default = "default_remote_timeout")] + pub timeout_ms: u64, + /// 摇杆死区,按满量程比例计。 + #[serde(default = "default_remote_deadband")] + pub deadband: f32, + /// 从零到满量程的速度斜坡时间(毫秒)。 + #[serde(default = "default_remote_ramp")] + pub ramp_ms: u64, + /// 反转前后方向。 + #[serde(default)] + pub invert_vx: bool, + /// 反转左右方向。 + #[serde(default)] + pub invert_vy: bool, + /// 反转旋转方向。 + #[serde(default)] + pub invert_omega: bool, +} + +impl Default for RemoteConfig { + fn default() -> Self { + Self { + kind: RemoteKind::Dr16, + device: "/dev/ttyS2".into(), + timeout_ms: default_remote_timeout(), + deadband: default_remote_deadband(), + ramp_ms: default_remote_ramp(), + invert_vx: false, + invert_vy: false, + invert_omega: false, + } + } +} + +fn default_remote_timeout() -> u64 { + 100 +} + +fn default_remote_deadband() -> f32 { + 0.05 +} + +fn default_remote_ramp() -> u64 { + 500 +} + /// 麦轮几何(米)。 #[derive(Debug, Clone, Copy, PartialEq, Deserialize, Serialize)] #[serde(deny_unknown_fields)] @@ -341,6 +408,23 @@ impl Config { if !(c.max_vx > 0.0 && c.max_vy > 0.0 && c.max_omega > 0.0) { return Err(ConfigError::Invalid("speed limits must be > 0".into())); } + if let Some(remote) = &self.remote { + if remote.device.trim().is_empty() { + return Err(ConfigError::Invalid("remote.device must not be empty".into())); + } + if remote.timeout_ms == 0 || remote.ramp_ms == 0 { + return Err(ConfigError::Invalid("remote timeout/ramp must be > 0 ms".into())); + } + if !remote.deadband.is_finite() || !(0.0..0.5).contains(&remote.deadband) { + return Err(ConfigError::Invalid("remote.deadband must be in [0, 0.5)".into())); + } + if remote.timeout_ms > c.command_timeout_ms { + return Err(ConfigError::Invalid(format!( + "remote.timeout_ms ({}) must be <= command_timeout_ms ({})", + remote.timeout_ms, c.command_timeout_ms + ))); + } + } for motor in &self.motors { let gear_ratio_valid = motor.gear_ratio > 0.0; if !gear_ratio_valid { @@ -390,6 +474,7 @@ impl Config { Self { can: CanConfig { interface: "vcan0".into(), function: None }, chassis: ChassisConfig::default(), + remote: None, mecanum: MecanumConfig { half_length: 0.2, half_width: 0.25, wheel_radius: 0.0762 }, motors: vec![ motor("front_left", 1, 1.0), @@ -402,16 +487,14 @@ impl Config { /// 转换为 `EscBus` 配置(顺序 FL、FR、RL、RR)。 #[must_use] - pub fn to_esc_configs(&self) -> Vec { + pub fn to_esc_configs(&self) -> Vec> { self.motors .iter() - .map(|m| EscConfig { - name: m.name.clone(), - esc_id: m.esc_id, - model: m.model.into(), - gear_ratio: m.gear_ratio, - direction: m.direction, - current_limit: m.current_limit, + .map(|m| { + let mut cfg = EscConfig::::gm3508(m.name.clone(), m.esc_id, m.direction); + cfg.gear_ratio = m.gear_ratio; + cfg.current_limit = m.current_limit; + cfg }) .collect() } @@ -441,6 +524,16 @@ mod tests { [can] interface = "can0" +[remote] +kind = "dr16" +device = "/dev/ttyS2" +timeout_ms = 100 +deadband = 0.05 +ramp_ms = 500 +invert_vx = false +invert_vy = false +invert_omega = false + [chassis] control_period_ms = 1 command_timeout_ms = 200 @@ -497,6 +590,10 @@ feedforward = 9.0 fn parses_example() { let cfg = Config::from_toml(EXAMPLE).unwrap(); assert_eq!(cfg.can.interface, "can0"); + let remote = cfg.remote.as_ref().unwrap(); + assert_eq!(remote.kind, RemoteKind::Dr16); + assert_eq!(remote.device, "/dev/ttyS2"); + assert_eq!(remote.timeout_ms, 100); assert_eq!(cfg.motors.len(), 4); assert_eq!(cfg.motors[0].name, "front_left"); assert_eq!(cfg.motors[3].esc_id, 4); @@ -536,6 +633,7 @@ gear_ratio = 19.2 ) .unwrap(); assert_eq!(cfg.chassis, ChassisConfig::default()); + assert!(cfg.remote.is_none()); assert_eq!(cfg.motors[0].direction.to_bits(), 1.0f32.to_bits()); assert_eq!(cfg.motors[0].current_limit, 12_000); assert_eq!(cfg.motors[0].model, EscModelSerde::C620); @@ -611,6 +709,7 @@ gear_ratio = 19.2 let reparsed = Config::from_toml(&text).unwrap(); assert_eq!(reparsed, original); // 落盘文本必须仍然是合法配置(守护进程直接读它)。 + assert!(text.contains("[remote]"), "{text}"); assert!(text.contains("[[motor]]"), "{text}"); assert!(text.contains("interface = \"can0\""), "{text}"); } @@ -620,9 +719,11 @@ gear_ratio = 19.2 let mut original = Config::mock_default(); original.can.function = Some(FunctionBusConfig { interface: "can1".into() }); original.chassis.motor_command_timeout_ms = 37; + original.remote = Some(RemoteConfig { invert_omega: true, ..RemoteConfig::default() }); let reparsed = Config::from_toml(&original.to_toml_string().unwrap()).unwrap(); assert_eq!(reparsed, original); assert_eq!(reparsed.chassis.motor_command_timeout_ms, 37); + assert!(reparsed.remote.unwrap().invert_omega); assert_eq!(reparsed.can.function.unwrap().interface, "can1"); } @@ -666,6 +767,19 @@ gear_ratio = 19.2 )); } + #[test] + fn remote_validation_rejects_unsafe_values() { + let mut cfg = Config::mock_default(); + cfg.remote = Some(RemoteConfig { timeout_ms: 0, ..RemoteConfig::default() }); + assert!(matches!(cfg.validate(), Err(ConfigError::Invalid(_)))); + + cfg.remote = Some(RemoteConfig { deadband: 0.5, ..RemoteConfig::default() }); + assert!(matches!(cfg.validate(), Err(ConfigError::Invalid(_)))); + + cfg.remote = Some(RemoteConfig { timeout_ms: 201, ..RemoteConfig::default() }); + assert!(matches!(cfg.validate(), Err(ConfigError::Invalid(_)))); + } + #[test] fn save_and_load_file_round_trip() { let dir = std::env::temp_dir().join("chassis-config-roundtrip"); diff --git a/crates/can/Cargo.toml b/crates/contract/can/Cargo.toml similarity index 86% rename from crates/can/Cargo.toml rename to crates/contract/can/Cargo.toml index 39338fd..711371b 100644 --- a/crates/can/Cargo.toml +++ b/crates/contract/can/Cargo.toml @@ -17,3 +17,6 @@ tokio = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } + +[package.metadata.sentry-chassis] +layer = "contract/can" diff --git a/crates/can/src/lib.rs b/crates/contract/can/src/lib.rs similarity index 100% rename from crates/can/src/lib.rs rename to crates/contract/can/src/lib.rs diff --git a/crates/imu/Cargo.toml b/crates/contract/imu/Cargo.toml similarity index 77% rename from crates/imu/Cargo.toml rename to crates/contract/imu/Cargo.toml index 96e2469..1c80db9 100644 --- a/crates/imu/Cargo.toml +++ b/crates/contract/imu/Cargo.toml @@ -11,3 +11,6 @@ workspace = true [dependencies] + +[package.metadata.sentry-chassis] +layer = "contract/imu" diff --git a/crates/imu/src/lib.rs b/crates/contract/imu/src/lib.rs similarity index 100% rename from crates/imu/src/lib.rs rename to crates/contract/imu/src/lib.rs diff --git a/crates/pid/Cargo.toml b/crates/control/algorithm/Cargo.toml similarity index 80% rename from crates/pid/Cargo.toml rename to crates/control/algorithm/Cargo.toml index 5be517d..bc6245f 100644 --- a/crates/pid/Cargo.toml +++ b/crates/control/algorithm/Cargo.toml @@ -14,3 +14,6 @@ workspace = true [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "control/algorithm" diff --git a/crates/pid/src/lib.rs b/crates/control/algorithm/src/lib.rs similarity index 100% rename from crates/pid/src/lib.rs rename to crates/control/algorithm/src/lib.rs diff --git a/crates/mecanum/Cargo.toml b/crates/control/chassis/Cargo.toml similarity index 83% rename from crates/mecanum/Cargo.toml rename to crates/control/chassis/Cargo.toml index ee44335..831a8fd 100644 --- a/crates/mecanum/Cargo.toml +++ b/crates/control/chassis/Cargo.toml @@ -15,3 +15,6 @@ workspace = true [dev-dependencies] proptest = { workspace = true } approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "control/chassis" diff --git a/crates/mecanum/src/lib.rs b/crates/control/chassis/src/lib.rs similarity index 100% rename from crates/mecanum/src/lib.rs rename to crates/control/chassis/src/lib.rs diff --git a/crates/motor-control/Cargo.toml b/crates/control/motor/Cargo.toml similarity index 85% rename from crates/motor-control/Cargo.toml rename to crates/control/motor/Cargo.toml index 8023e1d..e8c46d5 100644 --- a/crates/motor-control/Cargo.toml +++ b/crates/control/motor/Cargo.toml @@ -15,3 +15,6 @@ motor = { workspace = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "control/motor" diff --git a/crates/motor-control/src/lib.rs b/crates/control/motor/src/lib.rs similarity index 100% rename from crates/motor-control/src/lib.rs rename to crates/control/motor/src/lib.rs diff --git a/crates/esc-bus/Cargo.toml b/crates/device/esc/Cargo.toml similarity index 79% rename from crates/esc-bus/Cargo.toml rename to crates/device/esc/Cargo.toml index 6529726..8ccfd34 100644 --- a/crates/esc-bus/Cargo.toml +++ b/crates/device/esc/Cargo.toml @@ -18,9 +18,8 @@ thiserror = { workspace = true } tracing = { workspace = true } [dev-dependencies] -sim-harness = { workspace = true } -motor-control = { workspace = true } -motor-model = { workspace = true } -experiment = { workspace = true } tokio = { workspace = true, features = ["test-util"] } approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "device/esc" diff --git a/crates/esc-bus/src/lib.rs b/crates/device/esc/src/lib.rs similarity index 54% rename from crates/esc-bus/src/lib.rs rename to crates/device/esc/src/lib.rs index 1110a2b..1095768 100644 --- a/crates/esc-bus/src/lib.rs +++ b/crates/device/esc/src/lib.rs @@ -1,132 +1,96 @@ #![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))] -//! `EscBus` 异步驱动:协议状态机与 1kHz 控制节拍。 -//! -//! [`EscBus::spawn`] 消费一个 [`CanLink`],启动收发两个任务: -//! -//! - 接收:解码反馈帧,更新各电机共享状态(含多圈累计与方向修正); -//! - 发送:按 `period` 节拍为每台电机求值当前命令(速度/位置环 PID / 直发 -//! effort),按 `0x200`/`0x1FF` 分组组帧发送。 -//! -//! 电机离线(从未收到反馈或反馈超时)时强制 0 输出并复位控制器。 -//! 命令模式切换时同样复位控制器,避免积分冲击。 +//! Generic asynchronous ESC frame pump, state, leases, and safety. +use std::marker::PhantomData; use std::sync::{Arc, Mutex, MutexGuard}; use std::time::Duration; use can::{CanFrame, CanLink}; -use motor_protocol::common::{ - EscFeedback, EscModel, clamp_current, command_frame_id, decode_feedback, encode_current_frame, +use motor::{ + Command, CurrentEscDrive, Disable, EffortDrive, EffortPolicy, MotorFeedback, MotorSpec, + MotorState, PolicyInput, PolicySample, PositionDrive, VelocityDrive, }; -use motor_protocol::{COMMAND_FRAME_ID_PRIMARY, COMMAND_FRAME_ID_SECONDARY, TurnTracker}; +use motor_protocol::{EffortScale, FeedbackFields, MotorProtocol, TurnTracker}; use thiserror::Error; use tokio::sync::{mpsc, watch}; use tokio::task::JoinHandle; use tokio::time::{Instant, Interval, MissedTickBehavior}; use tracing::{debug, info, warn}; -use motor::{ - Command, Disable, EffortDrive, EffortPolicy, MotorFeedback, MotorState, PolicyInput, - PolicySample, PositionDrive, VelocityDrive, -}; - -/// 锁辅助:中毒锁直接恢复内部数据(锁中毒只意味着持锁线程恐慌, -/// 状态本身仍一致,驱动机不应因此停摆)。 fn lock(mutex: &Mutex) -> MutexGuard<'_, T> { mutex.lock().unwrap_or_else(std::sync::PoisonError::into_inner) } -/// 单台电机的配置。 +/// Configuration for one typed motor. #[derive(Debug, Clone)] -pub struct EscConfig { - /// 便于日志辨认的名字(如 `front_left`)。 +pub struct EscConfig { pub name: String, - /// 电调 ID(1–8,即 CAN 拨码)。 pub esc_id: u8, - /// 电调型号。 - pub model: EscModel, - /// 减速比(电机转子 : 输出轴)。 - /// - /// 驱动层**不使用**此字段;由上层 `crate::OutputShaft` 应用。 - /// 保留于此作为配置元数据,`chassisd` 包装轮子时必须读取本字段(单一来源)。 pub gear_ratio: f32, - /// 安装方向:`+1.0` 或 `-1.0`。反装电机的读写符号在此统一翻转, - /// 上层永远以"输出轴正转 = 前进方向"工作。 pub direction: f32, - /// effort 限幅(raw,`1..=型号满量程`)。 pub current_limit: i16, + marker: PhantomData, } -impl EscConfig { - /// GM3508 + C620 的常用配置。`kp/ki/ff` 为起步值,需按整车整定。 +impl EscConfig { #[must_use] - pub fn gm3508(name: impl Into, esc_id: u8, direction: f32) -> Self { + pub fn new(name: impl Into, esc_id: u8, direction: f32) -> Self { Self { name: name.into(), esc_id, - model: EscModel::C620, - // 3591 / 187 ≈ 19.203 - gear_ratio: 3591.0 / 187.0, + gear_ratio: S::GEAR_RATIO, direction, - current_limit: 12_000, - } - } - - /// M2006 + C610(拨弹轮)的常用配置。 - /// - /// 减速比按 P36 起步(36.0),接硬件前需核对;电流标度见 [`EscModel::C610`]。 - #[must_use] - pub fn m2006(name: impl Into, esc_id: u8, direction: f32) -> Self { - Self { - name: name.into(), - esc_id, - model: EscModel::C610, - // M2006 P36 减速比(接入前核对) - gear_ratio: 36.0, - direction, - current_limit: 8_000, + current_limit: S::scale().max_raw() / 4 * 3, + marker: PhantomData, } } fn validate(&self) -> Result<(), String> { - if command_frame_id(self.esc_id).is_none() { + if ::command_frame_id(self.esc_id).is_none() { return Err(format!("esc_id {} out of range 1..=8", self.esc_id)); } if !(self.gear_ratio.is_finite() && self.gear_ratio > 0.0) { return Err(format!("gear_ratio must be > 0, got {}", self.gear_ratio)); } - // 逐位比较:direction 只允许精确的 ±1.0。 let dir_bits = self.direction.to_bits(); if dir_bits != 1.0f32.to_bits() && dir_bits != (-1.0f32).to_bits() { return Err(format!("direction must be +1.0 or -1.0, got {}", self.direction)); } - if !(1..=self.model.max_current_raw()).contains(&self.current_limit) { + if !(1..=S::scale().max_raw()).contains(&self.current_limit) { return Err(format!( - "current_limit {} out of range 1..={} for {:?}", + "current_limit {} out of range 1..={}", self.current_limit, - self.model.max_current_raw(), - self.model + S::scale().max_raw() )); } Ok(()) } } -/// 总线运行参数。 +impl EscConfig { + #[must_use] + pub fn gm3508(name: impl Into, esc_id: u8, direction: f32) -> Self { + let mut cfg = Self::new(name, esc_id, direction); + cfg.current_limit = 12_000; + cfg + } +} + +impl EscConfig { + #[must_use] + pub fn m2006(name: impl Into, esc_id: u8, direction: f32) -> Self { + let mut cfg = Self::new(name, esc_id, direction); + cfg.current_limit = 8_000; + cfg + } +} + +/// Bus timing and lease options. #[derive(Debug, Clone)] pub struct BusOptions { - /// 控制节拍(C620 期望 1kHz 命令)。 pub period: Duration, - /// 反馈离线阈值:超过该时长未收到某电机反馈 → 强制 0 输出。 pub feedback_timeout: Duration, - /// **命令租约**:上层超过该时长未重新下发命令 → 视为 `Disabled`(0 输出)。 - /// - /// 命令是**租约**而非一次性设定值:`set_velocity` / `set_effort_raw` / - /// `set_position` 每次调用都会续租。上层必须按自己的控制节拍周期性下发 - /// (`chassisd` 的 1kHz 循环天然满足;台架脚本每拍重发即可), - /// 否则驱动会判定"上层任务已死"并强制零输出——这是防失控的安全设计。 - /// - /// 设置为 `Duration::MAX` 可退化为纯设定值语义(仅建议在无失控风险的台架场景)。 pub command_timeout: Duration, } @@ -135,45 +99,34 @@ impl Default for BusOptions { Self { period: Duration::from_millis(1), feedback_timeout: Duration::from_millis(100), - // 1kHz 下约 50 拍未刷新即失效。 command_timeout: Duration::from_millis(50), } } } -/// 启动错误。 +/// Startup error. #[derive(Debug, Clone, PartialEq, Eq, Error)] pub enum EscBusError { - /// 两台电机配置了同一电调 ID。 #[error("duplicate ESC id {0}")] DuplicateEscId(u8), - /// 电机配置非法(原因见 `reason`)。 #[error("invalid config for motor {name}: {reason}")] - InvalidConfig { - /// 电机名。 - name: String, - /// 非法原因。 - reason: String, - }, - /// 一台电机都没有配置。 + InvalidConfig { name: String, reason: String }, #[error("no motors configured")] NoMotors, } -/// 单电机共享状态(驱动任务与 [`EscMotor`] 句柄之间)。 -struct MotorShared { - cfg: EscConfig, +struct MotorShared { + cfg: EscConfig, state: Mutex, cmd: Mutex, - /// 命令写入时刻(看门狗用)。 cmd_at: Mutex>, turn: Mutex, last_feedback: Mutex>, offline_warned: std::sync::atomic::AtomicBool, } -impl MotorShared { - fn new(cfg: EscConfig) -> Self { +impl MotorShared { + fn new(cfg: EscConfig) -> Self { Self { cfg, state: Mutex::new(MotorState::default()), @@ -190,24 +143,22 @@ impl MotorShared { *lock(&self.cmd_at) = Some(Instant::now()); } - /// 应用一帧反馈(原始电调侧值 → 方向修正后的物理量)。 - fn apply_feedback(&self, fb: EscFeedback, now: Instant) { - let esc_rev = lock(&self.turn).update(fb.angle_raw); + fn apply_feedback(&self, fb: &F, now: Instant) { + let esc_rev = lock(&self.turn).update(fb.angle_raw()); let dir = self.cfg.direction; { let mut st = lock(&self.state); - st.rotor_angle_raw = fb.angle_raw; + st.rotor_angle_raw = fb.angle_raw(); st.rotor_revolutions = dir * esc_rev; - st.rotor_speed_rpm = dir * f32::from(fb.speed_rpm); - st.effort_raw = (dir * f32::from(fb.current_raw)) as i16; - st.temperature_c = fb.temperature_c; + st.rotor_speed_rpm = dir * f32::from(fb.speed_rpm()); + st.effort_raw = (dir * f32::from(fb.current_raw())) as i16; + st.temperature_c = fb.temperature_c(); st.feedback_count = st.feedback_count.saturating_add(1); } *lock(&self.last_feedback) = Some(now); self.offline_warned.store(false, std::sync::atomic::Ordering::Relaxed); } - /// Produce one policy sample while enforcing feedback and command leases. fn sample( &self, feedback_timeout: Duration, @@ -219,7 +170,7 @@ impl MotorShared { Some(t) if now.saturating_duration_since(t) <= feedback_timeout ); if !online && !self.offline_warned.swap(true, std::sync::atomic::Ordering::Relaxed) { - warn!(motor = %self.cfg.name, esc_id = self.cfg.esc_id, "feedback offline, forcing zero current"); + warn!(motor = %self.cfg.name, esc_id = self.cfg.esc_id, "feedback offline, forcing zero output"); } let fresh = matches!( *lock(&self.cmd_at), @@ -230,103 +181,87 @@ impl MotorShared { } } -/// 电机的公共句柄:可克隆,跨任务共享。 -/// -/// # 命令租约 -/// -/// 下发命令([`VelocityDrive::set_velocity`] / [`EffortDrive::set_effort_raw`] / -/// [`PositionDrive::set_position`])即续租,租期见 [`BusOptions::command_timeout`]。 -/// 只在启动时下发一次、之后不再刷新的脚本会在租约到期后自动失电(0 输出), -/// 因此台架工具必须在控制循环里逐拍重发同一个设定值。 -#[derive(Clone)] -pub struct EscMotor { - shared: Arc, +/// Typed motor handle. +pub struct EscMotor { + shared: Arc>, } -impl EscMotor { - /// 电机名。 +impl Clone for EscMotor { + fn clone(&self) -> Self { + Self { shared: Arc::clone(&self.shared) } + } +} + +impl EscMotor { + #[must_use] + pub fn config(&self) -> &EscConfig { + &self.shared.cfg + } #[must_use] pub fn name(&self) -> &str { &self.shared.cfg.name } - - /// 电机配置。 - #[must_use] - pub fn config(&self) -> &EscConfig { - &self.shared.cfg - } - - /// 当前命令。 #[must_use] pub fn command(&self) -> Command { *lock(&self.shared.cmd) } - - /// 最近一帧反馈的时刻(诊断用)。 #[must_use] pub fn last_feedback(&self) -> Option { *lock(&self.shared.last_feedback) } } -impl MotorFeedback for EscMotor { +impl MotorFeedback for EscMotor { fn id(&self) -> u8 { self.shared.cfg.esc_id } - fn state(&self) -> MotorState { *lock(&self.shared.state) } - - fn feedback_age(&self) -> Option { - let t = *lock(&self.shared.last_feedback); - Some(Instant::now().saturating_duration_since(t?)) + fn feedback_age(&self) -> Option { + Some(Instant::now().saturating_duration_since(*lock(&self.shared.last_feedback).as_ref()?)) } } -impl VelocityDrive for EscMotor { - /// 设定目标转子转速(**租约**,见 [`EscMotor`] 的命令租约说明)。 +impl VelocityDrive for EscMotor { fn set_velocity(&self, rotor_rpm: f32) { self.shared.store_command(Command::Velocity(rotor_rpm)); } } -impl EffortDrive for EscMotor { - /// 直发开环 raw(**租约**,见 [`EscMotor`] 的命令租约说明)。 +impl EffortDrive for EscMotor { fn set_effort_raw(&self, raw: i16) { self.shared.store_command(Command::EffortRaw(raw)); } } -impl PositionDrive for EscMotor { - /// 设定目标转子多圈位置(**租约**,见 [`EscMotor`] 的命令租约说明)。 +impl PositionDrive for EscMotor { fn set_position(&self, rotor_rev: f32) { self.shared.store_command(Command::Position(rotor_rev)); } } -impl Disable for EscMotor { - /// 停用(0 输出);同样受租约保护——上层若已死,租约到期后依旧归零。 +impl Disable for EscMotor { fn disable(&self) { self.shared.store_command(Command::Disabled); } } -/// 运行中的电调总线。 -pub struct EscBus; +/// Generic current-frame ESC bus. +pub struct EscBus(PhantomData); -impl EscBus { - /// 启动收发任务,返回句柄。 +impl EscBus { + /// Start receive and transmit tasks. /// /// # Errors /// - /// 配置为空、电调 ID 重复或单台配置非法时返回 [`EscBusError`]。 + /// Returns an error when configuration is empty, duplicated, or invalid. pub fn spawn( link: CanLink, - configs: Vec, + configs: Vec>, options: BusOptions, policy: P, - ) -> Result, EscBusError> { + ) -> Result, EscBusError> { if configs.is_empty() { return Err(EscBusError::NoMotors); } @@ -346,46 +281,48 @@ impl EscBus { let motors = Arc::new(motors); let policy = Arc::new(Mutex::new(policy)); let rx_handle = - tokio::spawn(rx_loop(incoming_rx, Arc::clone(&motors), shutdown_rx.clone())); - let tx_handle = tokio::spawn(tx_loop( + tokio::spawn(rx_loop::(incoming_rx, Arc::clone(&motors), shutdown_rx.clone())); + let tx_handle = tokio::spawn(tx_loop::( outgoing_tx, Arc::clone(&motors), Arc::clone(&policy), options, shutdown_rx, )); - - Ok(EscBusHandle { motors, policy, shutdown_tx, tasks: vec![rx_handle, tx_handle] }) + Ok(EscBusHandle { + motors, + policy, + shutdown_tx, + tasks: vec![rx_handle, tx_handle], + marker: PhantomData, + }) } } -/// `EscBus` 的控制句柄。 -pub struct EscBusHandle

{ - motors: Arc>, +/// Control handle for a running bus. +pub struct EscBusHandle { + motors: Arc>>, policy: Arc>, shutdown_tx: watch::Sender, tasks: Vec>, + marker: PhantomData, } -impl EscBusHandle

{ - /// 按电调 ID 取电机句柄。 +impl EscBusHandle { #[must_use] - pub fn motor(&self, esc_id: u8) -> Option<&EscMotor> { + pub fn motor(&self, esc_id: u8) -> Option<&EscMotor> { self.motors.iter().find(|m| m.id() == esc_id) } - /// 全部电机(按配置顺序)。 #[must_use] - pub fn motors(&self) -> &[EscMotor] { + pub fn motors(&self) -> &[EscMotor] { &self.motors } - /// Mutate the composed control policy between bus ticks. pub fn with_policy(&self, update: impl FnOnce(&mut P) -> R) -> R { update(&mut lock(&self.policy)) } - /// 停止收发任务并等待退出。 pub async fn shutdown(self) { let _ = self.shutdown_tx.send(true); for task in self.tasks { @@ -394,9 +331,9 @@ impl EscBusHandle

{ } } -async fn rx_loop( +async fn rx_loop( mut incoming: mpsc::Receiver, - motors: Arc>, + motors: Arc>>, mut shutdown: watch::Receiver, ) { loop { @@ -407,22 +344,20 @@ async fn rx_loop( None => break, }, }; - match decode_feedback(&frame) { + match ::decode_feedback(&frame) { Ok((esc_id, fb)) => { if let Some(motor) = motors.iter().find(|m| m.id() == esc_id) { - motor.shared.apply_feedback(fb, Instant::now()); + motor.shared.apply_feedback(&fb, Instant::now()); } } - Err(e) => { - debug!(error = %e, id = frame.id, "ignore non-feedback frame"); - } + Err(e) => debug!(error = %e, id = frame.id, "ignore non-feedback frame"), } } } -async fn tx_loop( +async fn tx_loop( outgoing: mpsc::Sender, - motors: Arc>, + motors: Arc>>, policy: Arc>, options: BusOptions, mut shutdown: watch::Receiver, @@ -453,28 +388,29 @@ async fn tx_loop( } } let efforts = lock(&policy).step(&PolicyInput { samples, dt }); - for (frame_id, group_start) in - [(COMMAND_FRAME_ID_PRIMARY, 1u8), (COMMAND_FRAME_ID_SECONDARY, 5u8)] - { - let group: Vec<&EscMotor> = motors + for group_start in [1u8, 5u8] { + let Some(frame_id) = ::command_frame_id(group_start) + else { + continue; + }; + let group: Vec<&EscMotor> = motors .iter() .filter(|m| (group_start..group_start + 4).contains(&m.id())) .collect(); if group.is_empty() { continue; } - let mut currents = [0i16; 4]; + let mut commands = [S::Protocol::command_from_raw(0); 4]; for motor in &group { let slot = usize::from(motor.id() - group_start); let policy_index = usize::from(motor.id().saturating_sub(1)); let physical = efforts.get(policy_index).copied().unwrap_or(0); let directed = (f32::from(physical) * motor.shared.cfg.direction) as i16; - currents[slot] = clamp_current( - motor.shared.cfg.model, - directed.clamp(-motor.shared.cfg.current_limit, motor.shared.cfg.current_limit), - ); + let limited = + directed.clamp(-motor.shared.cfg.current_limit, motor.shared.cfg.current_limit); + commands[slot] = S::Protocol::command_from_raw(S::scale().clamp_raw(limited)); } - if outgoing.send(encode_current_frame(frame_id, currents)).await.is_err() { + if outgoing.send(S::Protocol::encode_group(frame_id, commands)).await.is_err() { info!("can link closed, tx loop exiting"); return; } @@ -484,7 +420,6 @@ async fn tx_loop( fn tick_every(period: Duration) -> Interval { let mut ticker = tokio::time::interval(period); - // 错过节拍后直接跳到当前节拍,避免补发帧风暴。 ticker.set_missed_tick_behavior(MissedTickBehavior::Skip); ticker } @@ -492,49 +427,35 @@ fn tick_every(period: Duration) -> Interval { #[cfg(test)] mod tests { use super::*; + use motor::{Gm3508, M2006}; #[test] - fn config_validate_rejects_bad_values() { - let mut cfg = EscConfig::gm3508("m", 1, 1.0); - - cfg.esc_id = 0; - assert!(cfg.validate().is_err()); - cfg.esc_id = 9; - assert!(cfg.validate().is_err()); - cfg.esc_id = 5; - - cfg.gear_ratio = 0.0; - assert!(cfg.validate().is_err()); - cfg.gear_ratio = 19.2; - - cfg.direction = 0.5; - assert!(cfg.validate().is_err()); - cfg.direction = -1.0; - - cfg.current_limit = 0; - assert!(cfg.validate().is_err()); - cfg.current_limit = 16385; - assert!(cfg.validate().is_err()); - cfg.current_limit = 12_000; - - assert!(cfg.validate().is_ok()); - } - - #[test] - fn gm3508_defaults_are_sane() { - let cfg = EscConfig::gm3508("front_left", 1, -1.0); - assert_eq!(cfg.model, EscModel::C620); + fn typed_defaults_are_sane() { + let cfg = EscConfig::::gm3508("front_left", 1, -1.0); assert!((cfg.gear_ratio - 19.2).abs() < 0.01); assert_eq!(cfg.current_limit, 12_000); - assert_eq!(cfg.direction.to_bits(), (-1.0f32).to_bits()); assert!(cfg.validate().is_ok()); - } - #[test] - fn m2006_defaults_are_sane() { - let cfg = EscConfig::m2006("feeder", 5, 1.0); - assert_eq!(cfg.model, EscModel::C610); + let cfg = EscConfig::::m2006("feeder", 5, 1.0); assert!((cfg.gear_ratio - 36.0).abs() < 0.01); assert!(cfg.validate().is_ok()); } + + #[test] + fn config_validate_rejects_bad_values() { + let mut cfg = EscConfig::::gm3508("m", 1, 1.0); + cfg.esc_id = 0; + assert!(cfg.validate().is_err()); + cfg.esc_id = 5; + cfg.gear_ratio = 0.0; + assert!(cfg.validate().is_err()); + cfg.gear_ratio = 19.2; + cfg.direction = 0.5; + assert!(cfg.validate().is_err()); + cfg.direction = -1.0; + cfg.current_limit = 0; + assert!(cfg.validate().is_err()); + cfg.current_limit = 16_385; + assert!(cfg.validate().is_err()); + } } diff --git a/crates/delta10/Cargo.toml b/crates/device/imu/Cargo.toml similarity index 86% rename from crates/delta10/Cargo.toml rename to crates/device/imu/Cargo.toml index fd8a90a..e7f68ff 100644 --- a/crates/delta10/Cargo.toml +++ b/crates/device/imu/Cargo.toml @@ -15,3 +15,6 @@ imu = { workspace = true } delta10-protocol = { workspace = true } tokio = { workspace = true } thiserror = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "device/imu" diff --git a/crates/delta10/src/lib.rs b/crates/device/imu/src/lib.rs similarity index 100% rename from crates/delta10/src/lib.rs rename to crates/device/imu/src/lib.rs diff --git a/crates/motor/Cargo.toml b/crates/device/motor/Cargo.toml similarity index 87% rename from crates/motor/Cargo.toml rename to crates/device/motor/Cargo.toml index a9e2a6f..5d94b66 100644 --- a/crates/motor/Cargo.toml +++ b/crates/device/motor/Cargo.toml @@ -16,3 +16,6 @@ thiserror = { workspace = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "device/motor" diff --git a/crates/motor/src/lib.rs b/crates/device/motor/src/lib.rs similarity index 81% rename from crates/motor/src/lib.rs rename to crates/device/motor/src/lib.rs index 539acac..e76870a 100644 --- a/crates/motor/src/lib.rs +++ b/crates/device/motor/src/lib.rs @@ -792,173 +792,121 @@ pub mod testing { } } -pub mod motor_common { - //! 电机种类:把"型号"变成可在设备层与配置层之间传递的事实。 - //! - //! 设备层不关心电调怎么接、齿轮多大,但必须知道**协议族**:电流环在电调内部, - //! 而不同协议族的控制字含义不同(电流 vs 电压)。[`MotorKind`] 就是这张表。 - - use motor_protocol::EscModel; - - /// 支持的电机型号。 - #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] - pub enum MotorKind { - /// GM3508 + C620(底盘驱动轮)。 - Gm3508, - /// M2006 + C610(拨弹 / 小负载)。 - M2006, - /// GM6020(云台直驱,**电压**控制)。 - Gm6020, - } - - impl MotorKind { - /// 配套电调型号。 - #[must_use] - pub const fn esc_model(self) -> EscModel { - match self { - // GM6020 的反馈标度与 C620 相同,但控制字是电压。 - Self::Gm3508 | Self::Gm6020 => EscModel::C620, - Self::M2006 => EscModel::C610, - } - } - - /// 控制量是否是**电压**(而非电流)。 - /// - /// 总线驱动据此选择组帧方式:C620/C610 走 `encode_current_frame`, - /// GM6020 走 `motor_protocol::motor::gm6020::encode_voltage_frame`。 - #[must_use] - pub const fn encodes_voltage(self) -> bool { - matches!(self, Self::Gm6020) - } - - /// 该型号是否与其它型号**共用**电流控制帧(C620/C610 共用 `0x200`/`0x1FF`)。 - #[must_use] - pub const fn shares_current_frames(self) -> bool { - !self.encodes_voltage() - } - - /// 默认减速比(转子 : 输出轴)。接硬件前必须按实车核对。 - #[must_use] - pub const fn default_gear_ratio(self) -> f32 { - match self { - Self::Gm3508 => 3591.0 / 187.0, - // M2006 常见配置 36:1;与 ARCHITECTURE.md §8.2 的 motors.toml 一致。 - Self::M2006 => 36.0, - // 云台直驱。 - Self::Gm6020 => 1.0, - } - } - - /// 型号名(配置与日志用)。 - #[must_use] - pub const fn name(self) -> &'static str { - match self { - Self::Gm3508 => "GM3508", - Self::M2006 => "M2006", - Self::Gm6020 => "GM6020", - } - } - } - - #[cfg(test)] - mod tests { - use super::*; - - #[test] - fn only_gm6020_encodes_voltage() { - assert!(MotorKind::Gm6020.encodes_voltage()); - assert!(!MotorKind::Gm3508.encodes_voltage()); - assert!(!MotorKind::M2006.encodes_voltage()); - assert!(MotorKind::Gm3508.shares_current_frames()); - assert!(!MotorKind::Gm6020.shares_current_frames()); - } - - #[test] - fn esc_models_match_the_scale_documentation() { - assert_eq!(MotorKind::Gm3508.esc_model(), EscModel::C620); - assert_eq!(MotorKind::Gm6020.esc_model(), EscModel::C620); - assert_eq!(MotorKind::M2006.esc_model(), EscModel::C610); - assert_eq!(MotorKind::M2006.esc_model().max_current_raw(), 10_000); - } - - #[test] - fn default_gear_ratios_are_sane() { - assert!((MotorKind::Gm3508.default_gear_ratio() - 19.203).abs() < 5e-3); - assert!((MotorKind::Gm6020.default_gear_ratio() - 1.0).abs() < 1e-6); - assert!(MotorKind::M2006.default_gear_ratio() > 0.0); - assert_eq!(MotorKind::Gm6020.name(), "GM6020"); - } - } -} - -pub mod motor_gm6020 { - //! GM6020 设备(云台直驱,**电压**控制)。 - //! - //! # 当前状态(务必读) - //! - //! 协议层的电压帧编解码已经可用([`motor_protocol::gm6020`]),但**总线驱动 - //! `EscBus` 目前只实现 C620/C610 的电流路径**:它把 `set_effort_raw` 直接组 - //! 成电流帧。把 GM6020 接上云台还需要总线驱动增加"电压帧"分支 - //! ([`MotorKind::encodes_voltage`] 就是给那条分支准备的判据),这属于云台 - //! 部分的工作(ARCHITECTURE.md §5.7 `gimbal` 任务)。 - //! - //! 在此之前,本模块提供的是**型号事实**(协议族、减速比、ID 映射), - //! 不含"已经能驱动 GM6020"的暗示。 - - use crate::MotorKind; - - /// 该型号的 [`MotorKind`]。 - pub const KIND: MotorKind = MotorKind::Gm6020; - - /// 云台直驱的减速比。 - pub const GEAR_RATIO: f32 = 1.0; - - /// 该型号的控制量是电压而非电流。 - pub const ENCODES_VOLTAGE: bool = true; - - /// 总线驱动是否已支持该型号的驱动路径。 - /// - /// 现在返回 `false`:电压帧分支随云台工作落地。用它做**运行期**判定, - /// 而不是让配置静默接受一个驱动不了的型号。 - #[must_use] - pub const fn drive_path_available() -> bool { - false - } - - #[cfg(test)] - mod tests { - use super::*; - use motor_protocol::gm6020::{COMMAND_FRAME_ID_PRIMARY, feedback_frame_id}; - - #[test] - fn kind_facts_match_the_protocol_module() { - assert_eq!(KIND, MotorKind::Gm6020); - assert!(KIND.encodes_voltage()); - assert!((KIND.default_gear_ratio() - GEAR_RATIO).abs() < 1e-6); - // 两个常量同源:`ENCODES_VOLTAGE` 就是 `KIND.encodes_voltage()` 的镜像。 - assert_eq!(ENCODES_VOLTAGE, KIND.encodes_voltage()); - } - - #[test] - fn gm6020_uses_its_own_frame_ids() { - assert_eq!(COMMAND_FRAME_ID_PRIMARY, 0x1FF); - assert_eq!(feedback_frame_id(1), Some(0x205)); - // 与 C620 不同:C620 的 ID 1 控制帧是 0x200。 - assert_ne!(COMMAND_FRAME_ID_PRIMARY, motor_protocol::COMMAND_FRAME_ID_PRIMARY); - } - - #[test] - fn drive_path_is_honestly_reported_as_unavailable() { - assert!(!drive_path_available(), "云台电压路径落地后本断言才应改为 true"); - } - } -} - pub use command::*; pub use gearbox::*; pub use heading::*; -pub use motor_common::MotorKind; pub use registry::*; pub use state::*; pub use testing::*; pub use traits::*; + +pub mod spec { + //! Generic motor identity and mechanical characteristics. + + use motor_protocol::{CurrentC610, CurrentC620, CurrentEsc, Gm6020Voltage, MotorProtocol}; + + /// Control quantity represented by a motor's wire command. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub enum ControlMode { + /// Current command. + Current, + /// Voltage command. + Voltage, + } + + /// Mechanical and protocol identity for one motor model. + pub trait MotorSpec: Send + Sync + 'static { + type Protocol: MotorProtocol; + const NAME: &'static str; + const GEAR_RATIO: f32; + const ENCODER_TICKS: u16; + const CONTROL_MODE: ControlMode; + + fn scale() -> ::Scale; + } + + /// Marker for models driven by the shared C620/C610 current frame path. + pub trait CurrentEscDrive: MotorSpec {} + + /// Marker for models driven by a voltage frame path. + pub trait VoltageEscDrive: MotorSpec {} + + /// GM3508 + C620. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Gm3508; + + /// M2006 + C610. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct M2006; + + /// GM6020 direct-drive voltage motor. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Gm6020; + + impl MotorSpec for Gm3508 { + type Protocol = CurrentEsc; + const NAME: &'static str = "GM3508"; + const GEAR_RATIO: f32 = 3591.0 / 187.0; + const ENCODER_TICKS: u16 = 8192; + const CONTROL_MODE: ControlMode = ControlMode::Current; + fn scale() -> CurrentC620 { + CurrentC620 + } + } + + impl MotorSpec for M2006 { + type Protocol = CurrentEsc; + const NAME: &'static str = "M2006"; + const GEAR_RATIO: f32 = 36.0; + const ENCODER_TICKS: u16 = 8192; + const CONTROL_MODE: ControlMode = ControlMode::Current; + fn scale() -> CurrentC610 { + CurrentC610 + } + } + + impl MotorSpec for Gm6020 { + type Protocol = Gm6020Voltage; + const NAME: &'static str = "GM6020"; + const GEAR_RATIO: f32 = 1.0; + const ENCODER_TICKS: u16 = 8192; + const CONTROL_MODE: ControlMode = ControlMode::Voltage; + fn scale() -> motor_protocol::Voltage30000 { + motor_protocol::Voltage30000 + } + } + + impl CurrentEscDrive for Gm3508 {} + impl CurrentEscDrive for M2006 {} + impl VoltageEscDrive for Gm6020 {} + + /// Keep scale construction available to generic callers. + pub fn scale_of() -> ::Scale { + S::scale() + } + + /// Compile-time assertion helper for current-path models. + pub fn assert_current_drive() {} + + /// Compile-time assertion helper for voltage-path models. + pub fn assert_voltage_drive() {} +} + +pub use spec::{ControlMode, CurrentEscDrive, Gm3508, Gm6020, M2006, MotorSpec, VoltageEscDrive}; + +#[cfg(test)] +mod spec_tests { + use super::*; + + #[test] + fn motor_markers_select_the_right_protocol_family() { + spec::assert_current_drive::(); + spec::assert_current_drive::(); + spec::assert_voltage_drive::(); + assert_eq!(Gm3508::NAME, "GM3508"); + assert_eq!(M2006::NAME, "M2006"); + assert_eq!(Gm6020::NAME, "GM6020"); + assert_eq!(Gm3508::CONTROL_MODE, ControlMode::Current); + assert_eq!(Gm6020::CONTROL_MODE, ControlMode::Voltage); + } +} diff --git a/crates/device/remote/Cargo.toml b/crates/device/remote/Cargo.toml new file mode 100644 index 0000000..7835b65 --- /dev/null +++ b/crates/device/remote/Cargo.toml @@ -0,0 +1,22 @@ +[package] +name = "dr16" +description = "DJI DR16 D-BUS serial receiver driver" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +dr16-protocol = { workspace = true } +serial = { workspace = true } +tokio = { workspace = true } +tracing = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["test-util"] } + +[package.metadata.sentry-chassis] +layer = "device/remote" diff --git a/crates/device/remote/src/lib.rs b/crates/device/remote/src/lib.rs new file mode 100644 index 0000000..5d4da35 --- /dev/null +++ b/crates/device/remote/src/lib.rs @@ -0,0 +1,244 @@ +#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))] + +//! DJI DR16 D-BUS 串口接收驱动。 +//! +//! DR16 使用非标准 100000 baud、8 data bits、even parity、1 stop bit。阻塞串口 +//! I/O 运行在专用线程上,异步侧只消费**最新**样本,避免遥控数据形成积压队列。 + +use std::io::{self, Read}; +use std::thread; +use std::time::{Duration, Instant}; + +use dr16_protocol::{Dr16Sample, FrameDecoder}; +use serial::prelude::*; +use tokio::sync::watch; +use tracing::{debug, error}; + +/// D-BUS UART 波特率。 +pub const BAUD_RATE: usize = 100_000; + +/// 串口读取参数。 +#[derive(Debug, Clone, Copy)] +pub struct Dr16Options { + /// 阻塞串口读超时;也用于让读取线程定期观察接收端关闭。 + pub read_timeout: Duration, +} + +impl Default for Dr16Options { + fn default() -> Self { + Self { read_timeout: Duration::from_millis(20) } + } +} + +/// 带接收时间的 DR16 样本。 +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct StampedSample { + /// 解码后的遥控输入。 + pub sample: Dr16Sample, + /// 样本到达用户态读取循环的时刻。 + pub received_at: Instant, +} + +/// 最新样本发送端。 +#[derive(Debug, Clone)] +pub struct SampleSender { + tx: watch::Sender>, +} + +impl SampleSender { + /// 发布一个新样本并返回带时间戳的副本。 + #[must_use] + pub fn send(&self, sample: Dr16Sample) -> StampedSample { + let stamped = StampedSample { sample, received_at: Instant::now() }; + self.tx.send_replace(Some(stamped)); + stamped + } + + /// 当前是否有异步消费者。 + #[must_use] + pub fn is_closed(&self) -> bool { + self.tx.is_closed() + } +} + +/// 创建一对最新样本发送端和接收流。 +#[must_use] +pub fn sample_channel() -> (SampleSender, SampleStream) { + let (tx, rx) = watch::channel(None); + (SampleSender { tx }, SampleStream { rx }) +} + +/// 最新 DR16 样本流。 +/// +/// 内部使用 `watch`:慢消费者看到的是最新遥控状态,不会执行延迟的旧摇杆位置。 +#[derive(Debug)] +pub struct SampleStream { + rx: watch::Receiver>, +} + +impl SampleStream { + /// 等待下一个新样本;读取线程退出且没有样本时返回 `None`。 + pub async fn recv(&mut self) -> Option { + loop { + self.rx.changed().await.ok()?; + if let Some(sample) = *self.rx.borrow_and_update() { + return Some(sample); + } + } + } + + /// 读取当前最新样本;尚未收到帧时返回 `None`。 + #[must_use] + pub fn latest(&self) -> Option { + *self.rx.borrow() + } +} + +/// 打开 DR16 串口并开始接收。 +/// +/// # Errors +/// +/// 设备不存在、权限不足、串口不支持 100000 baud 或配置 8E1 失败。 +pub fn open(device: &str) -> io::Result { + open_with(device, Dr16Options::default()) +} + +/// 使用指定读取参数打开 DR16 串口。 +/// +/// # Errors +/// +/// 同 [`open`]。 +pub fn open_with(device: &str, options: Dr16Options) -> io::Result { + let mut port = serial::open(device)?; + port.reconfigure(&|settings| { + settings.set_baud_rate(serial::BaudOther(BAUD_RATE))?; + settings.set_char_size(serial::Bits8); + settings.set_parity(serial::ParityEven); + settings.set_stop_bits(serial::Stop1); + settings.set_flow_control(serial::FlowNone); + Ok(()) + })?; + port.set_timeout(options.read_timeout)?; + debug!(device, baud = BAUD_RATE, "DR16 serial opened"); + Ok(spawn_reader(port)) +} + +/// 在专用线程上泵送任意字节 reader,返回最新样本流。 +#[must_use] +pub fn spawn_reader(reader: R) -> SampleStream +where + R: Read + Send + 'static, +{ + let (tx, stream) = sample_channel(); + let thread = thread::Builder::new().name("dr16-reader".into()).spawn(move || { + pump_reader(reader, &tx); + }); + if let Err(error) = thread { + error!(%error, "failed to start DR16 reader thread"); + } + stream +} + +fn pump_reader(mut reader: R, tx: &SampleSender) { + let mut decoder = FrameDecoder::new(); + let mut buffer = [0u8; 64]; + loop { + match reader.read(&mut buffer) { + Ok(0) => { + debug!("DR16 reader reached end of input"); + return; + } + Ok(count) => { + for sample in decoder.push(&buffer[..count]) { + let _ = tx.send(sample); + } + } + Err(error) if is_transient(&error) => { + // 读超时内没有任何字节,已经超过正常 D-BUS 帧间隔;清掉半帧,避免错位。 + decoder.clear(); + if tx.is_closed() { + debug!("DR16 sample consumer closed"); + return; + } + } + Err(error) => { + error!(%error, "DR16 serial read failed"); + return; + } + } + if tx.is_closed() { + debug!("DR16 sample consumer closed"); + return; + } + } +} + +fn is_transient(error: &io::Error) -> bool { + matches!( + error.kind(), + io::ErrorKind::TimedOut | io::ErrorKind::WouldBlock | io::ErrorKind::Interrupted + ) +} + +#[cfg(test)] +mod tests { + use std::cmp; + + use dr16_protocol::{FRAME_LEN, SwitchPosition}; + + use super::*; + + struct ChunkReader { + chunks: Vec>, + index: usize, + } + + impl Read for ChunkReader { + fn read(&mut self, output: &mut [u8]) -> io::Result { + let Some(chunk) = self.chunks.get(self.index) else { + return Ok(0); + }; + self.index += 1; + let count = cmp::min(output.len(), chunk.len()); + output[..count].copy_from_slice(&chunk[..count]); + Ok(count) + } + } + + fn frame() -> [u8; FRAME_LEN] { + let mut frame = [0u8; FRAME_LEN]; + frame[1] = 0x04; + frame[2] = 0x20; + frame[4] = 0x01; + frame[5] = 0x78; + frame + } + + #[tokio::test] + async fn generic_reader_publishes_decoded_latest_sample() { + let raw = frame(); + let reader = ChunkReader { + chunks: vec![raw[..5].to_vec(), raw[5..13].to_vec(), raw[13..].to_vec()], + index: 0, + }; + let mut stream = spawn_reader(reader); + let stamped = stream.recv().await.unwrap(); + assert_eq!(stamped.sample.s1, SwitchPosition::Up); + assert_eq!(stamped.sample.s2, SwitchPosition::Mid); + assert_eq!(stream.latest(), Some(stamped)); + } + + #[tokio::test] + async fn closed_reader_reports_end_of_stream() { + let reader = ChunkReader { chunks: Vec::new(), index: 0 }; + let mut stream = spawn_reader(reader); + assert_eq!(stream.recv().await, None); + } + + #[test] + fn transient_read_errors_are_not_fatal() { + assert!(is_transient(&io::Error::from(io::ErrorKind::TimedOut))); + assert!(is_transient(&io::Error::from(io::ErrorKind::WouldBlock))); + assert!(!is_transient(&io::Error::from(io::ErrorKind::BrokenPipe))); + } +} diff --git a/crates/experiment/Cargo.toml b/crates/experiment/trace/Cargo.toml similarity index 82% rename from crates/experiment/Cargo.toml rename to crates/experiment/trace/Cargo.toml index 4e1eecc..42cfe21 100644 --- a/crates/experiment/Cargo.toml +++ b/crates/experiment/trace/Cargo.toml @@ -14,3 +14,6 @@ workspace = true [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "experiment/trace" diff --git a/crates/experiment/src/lib.rs b/crates/experiment/trace/src/lib.rs similarity index 100% rename from crates/experiment/src/lib.rs rename to crates/experiment/trace/src/lib.rs diff --git a/crates/motor-model/Cargo.toml b/crates/model/motor/Cargo.toml similarity index 84% rename from crates/motor-model/Cargo.toml rename to crates/model/motor/Cargo.toml index 2ff3297..e9e089b 100644 --- a/crates/motor-model/Cargo.toml +++ b/crates/model/motor/Cargo.toml @@ -14,3 +14,6 @@ motor-protocol = { workspace = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "model/motor" diff --git a/crates/motor-model/src/lib.rs b/crates/model/motor/src/lib.rs similarity index 58% rename from crates/motor-model/src/lib.rs rename to crates/model/motor/src/lib.rs index 06fad59..45c5b2a 100644 --- a/crates/motor-model/src/lib.rs +++ b/crates/model/motor/src/lib.rs @@ -108,6 +108,24 @@ pub mod dc_motor { self.load_rpm = rpm; self } + + /// Whether all parameters are finite and physically admissible. + #[must_use] + pub fn is_valid(&self) -> bool { + self.gain_rpm_per_raw.is_finite() + && self.gain_rpm_per_raw >= 0.0 + && self.tau_s.is_finite() + && self.tau_s >= 0.0 + && self.max_rpm.is_finite() + && self.max_rpm >= 0.0 + && self.static_raw.is_finite() + && self.static_raw >= 0.0 + && self.coulomb_raw.is_finite() + && self.coulomb_raw >= 0.0 + && self.viscous_raw_per_rpm.is_finite() + && self.viscous_raw_per_rpm >= 0.0 + && self.load_rpm.is_finite() + } } /// 单台电机被控对象。`Clone` 便于在同一组参数上重放多条场景。 @@ -169,6 +187,9 @@ pub mod dc_motor { /// `static = coulomb = viscous = 0` 时三个分支都退化为 `net = u`, /// 即历史的一阶模型。 pub fn step(&mut self, current_raw: i16, dt: f32) -> EscFeedback { + if !dt.is_finite() || dt <= 0.0 { + return self.feedback(current_raw); + } let applied = self.apply_delay(f32::from(current_raw)); let net = self.net_torque_raw(applied); let target = (net * self.params.gain_rpm_per_raw) @@ -184,6 +205,10 @@ pub mod dc_motor { let ticks = f32::from(ENCODER_TICKS); self.angle_raw = (self.angle_raw + self.speed_rpm / 60.0 * ticks * dt).rem_euclid(ticks); + self.feedback(applied as i16) + } + + fn feedback(&self, current_raw: i16) -> EscFeedback { EscFeedback { angle_raw: self.angle_raw as u16, speed_rpm: self.speed_rpm as i16, @@ -356,6 +381,36 @@ pub mod dc_motor { assert_eq!(fb.temperature_c, 30); } + #[test] + fn delayed_feedback_reports_the_effective_command() { + let params = PlantParams::gm3508().with_delay_ticks(2); + let mut plant = PlantMotor::new(params); + assert_eq!(plant.step(1000, DT).current_raw, 0); + assert_eq!(plant.step(2000, DT).current_raw, 0); + assert_eq!(plant.step(3000, DT).current_raw, 1000); + } + + #[test] + fn invalid_dt_is_a_strict_no_op() { + let mut plant = PlantMotor::gm3508(); + plant.step(5000, DT); + let before_speed = plant.speed_rpm(); + let before_angle = plant.angle_raw(); + for dt in [0.0, -1.0, f32::NAN, f32::INFINITY] { + plant.step(10_000, dt); + assert_eq!(plant.speed_rpm().to_bits(), before_speed.to_bits()); + assert_eq!(plant.angle_raw().to_bits(), before_angle.to_bits()); + } + } + + #[test] + fn parameter_validation_rejects_non_finite_values() { + let mut params = PlantParams::gm3508(); + assert!(params.is_valid()); + params.tau_s = f32::NAN; + assert!(!params.is_valid()); + } + #[test] fn reset_returns_to_rest() { let mut plant = PlantMotor::gm3508(); @@ -371,7 +426,7 @@ pub mod dc_motor { } pub mod gm3508 { - //! GM3508 的被控对象参数(ARCHITECTURE.md §5.6 / §8.2)。 + //! GM3508 的被控对象参数(docs/chassis.md §7.4)。 //! //! 这里只放**有实测依据**的两组参数: //! @@ -424,3 +479,319 @@ pub mod gm3508 { pub use dc_motor::{PlantMotor, PlantParams}; pub use gm3508::{bench_params, ideal_params}; + +pub mod generic { + //! Generic motor dynamic-model seam. + + use core::marker::PhantomData; + + use motor_protocol::{EscFeedback, FeedbackFields, MotorProtocol}; + + use crate::{PlantMotor, PlantParams}; + + /// Error returned by a dynamic model step. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub enum ModelError { + /// The requested time step is not finite and positive. + InvalidDt, + /// A model parameter is outside its valid domain. + InvalidParams, + } + + impl core::fmt::Display for ModelError { + fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { + match self { + Self::InvalidDt => write!(f, "dt must be finite and positive"), + Self::InvalidParams => write!(f, "model parameters are invalid"), + } + } + } + + impl core::error::Error for ModelError {} + + /// Dynamic model contract for one protocol family. + pub trait MotorPlant { + type Protocol: MotorProtocol; + type Feedback: FeedbackFields + Copy + Send + Sync; + type Error; + + fn step( + &mut self, + command: ::Command, + dt: f32, + ) -> Result; + + fn reset(&mut self); + } + + /// Parameter provider for a DC current-controlled model. + pub trait DcModelSpec: Send + Sync + 'static { + type Protocol: MotorProtocol; + fn ideal_params() -> PlantParams; + fn bench_params() -> PlantParams; + } + + /// DC motor plant generic over the motor model profile. + #[derive(Debug, Clone)] + pub struct DcMotorPlant { + motor: PlantMotor, + marker: PhantomData, + } + + impl DcMotorPlant { + #[must_use] + pub fn new(params: PlantParams) -> Self { + Self { motor: PlantMotor::new(params), marker: PhantomData } + } + + #[must_use] + pub fn ideal() -> Self { + Self::new(S::ideal_params()) + } + + #[must_use] + pub fn bench() -> Self { + Self::new(S::bench_params()) + } + + #[must_use] + pub fn speed_rpm(&self) -> f32 { + self.motor.speed_rpm() + } + + #[must_use] + pub fn angle_raw(&self) -> f32 { + self.motor.angle_raw() + } + + #[must_use] + pub fn params(&self) -> &PlantParams { + self.motor.params() + } + } + + impl MotorPlant for DcMotorPlant { + type Protocol = S::Protocol; + type Feedback = EscFeedback; + type Error = ModelError; + + fn step( + &mut self, + command: ::Command, + dt: f32, + ) -> Result { + if !dt.is_finite() || dt <= 0.0 { + return Err(ModelError::InvalidDt); + } + if !self.motor.params().is_valid() { + return Err(ModelError::InvalidParams); + } + Ok(self.motor.step(command, dt)) + } + + fn reset(&mut self) { + self.motor.reset(); + } + } + + /// GM3508 DC model profile. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Gm3508Model; + + /// M2006 DC model profile. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct M2006Model; + + impl DcModelSpec for Gm3508Model { + type Protocol = motor_protocol::CurrentEsc; + fn ideal_params() -> PlantParams { + PlantParams::gm3508() + } + fn bench_params() -> PlantParams { + PlantParams::gm3508_bench() + } + } + + impl DcModelSpec for M2006Model { + type Protocol = motor_protocol::CurrentEsc; + fn ideal_params() -> PlantParams { + PlantParams::gm3508() + } + fn bench_params() -> PlantParams { + PlantParams::gm3508_bench() + } + } +} + +pub use generic::{DcModelSpec, DcMotorPlant, Gm3508Model, M2006Model, ModelError, MotorPlant}; + +#[cfg(test)] +mod generic_tests { + use super::*; + + #[test] + fn typed_dc_models_use_current_protocols() { + let mut plant = DcMotorPlant::::ideal(); + assert!(plant.step(1000, 0.001).is_ok()); + assert!(plant.speed_rpm().is_finite()); + + let mut plant = DcMotorPlant::::bench(); + assert!(plant.step(1000, 0.001).is_ok()); + } + + #[test] + fn typed_models_reject_invalid_steps_and_parameters() { + let mut plant = DcMotorPlant::::ideal(); + assert_eq!(plant.step(1, 0.0), Err(ModelError::InvalidDt)); + + let mut params = PlantParams::gm3508(); + params.load_rpm = f32::NAN; + let mut plant = DcMotorPlant::::new(params); + assert_eq!(plant.step(1, 0.001), Err(ModelError::InvalidParams)); + } +} + +pub mod voltage { + //! Independent voltage-motor dynamics for GM6020-style direct-drive motors. + + use core::marker::PhantomData; + use std::collections::VecDeque; + + use motor_protocol::{Gm6020Command, Gm6020Feedback, Gm6020Voltage, MotorProtocol}; + + use crate::generic::{ModelError, MotorPlant}; + + /// Parameters for a voltage-controlled motor model. + #[derive(Debug, Clone, Copy, PartialEq)] + pub struct VoltagePlantParams { + pub gain_rpm_per_raw: f32, + pub tau_s: f32, + pub max_rpm: f32, + pub delay_ticks: u32, + } + + impl VoltagePlantParams { + #[must_use] + pub fn is_valid(self) -> bool { + self.gain_rpm_per_raw.is_finite() + && self.gain_rpm_per_raw >= 0.0 + && self.tau_s.is_finite() + && self.tau_s >= 0.0 + && self.max_rpm.is_finite() + && self.max_rpm >= 0.0 + } + } + + /// Voltage model profile. + pub trait VoltageModelSpec: Send + Sync + 'static { + type Protocol: MotorProtocol; + fn params() -> VoltagePlantParams; + } + + /// Direct-drive voltage plant. It deliberately does not reuse DC current friction. + #[derive(Debug, Clone)] + pub struct VoltageMotorPlant { + params: VoltagePlantParams, + speed_rpm: f32, + angle_raw: f32, + delay_line: VecDeque, + marker: PhantomData, + } + + impl VoltageMotorPlant { + #[must_use] + pub fn new(params: VoltagePlantParams) -> Self { + Self { + params, + speed_rpm: 0.0, + angle_raw: 0.0, + delay_line: VecDeque::new(), + marker: PhantomData, + } + } + + #[must_use] + pub fn speed_rpm(&self) -> f32 { + self.speed_rpm + } + } + + impl MotorPlant for VoltageMotorPlant { + type Protocol = Gm6020Voltage; + type Feedback = Gm6020Feedback; + type Error = ModelError; + + fn step(&mut self, command: Gm6020Command, dt: f32) -> Result { + if !dt.is_finite() || dt <= 0.0 { + return Err(ModelError::InvalidDt); + } + if !self.params.is_valid() { + return Err(ModelError::InvalidParams); + } + + self.delay_line.push_back(command.voltage_raw); + let applied = if self.delay_line.len() > self.params.delay_ticks as usize { + self.delay_line.pop_front().unwrap_or(0) + } else { + 0 + }; + let target = (f32::from(applied) * self.params.gain_rpm_per_raw) + .clamp(-self.params.max_rpm, self.params.max_rpm); + let alpha = + if self.params.tau_s > 0.0 { 1.0 - (-dt / self.params.tau_s).exp() } else { 1.0 }; + self.speed_rpm += (target - self.speed_rpm) * alpha; + self.angle_raw = + (self.angle_raw + self.speed_rpm / 60.0 * 8192.0 * dt).rem_euclid(8192.0); + Ok(Gm6020Feedback { + angle_deg: self.angle_raw * 360.0 / 8192.0, + angle_raw: self.angle_raw as u16, + speed_rpm: self.speed_rpm as i16, + current_raw: 0, + temperature_c: 30, + }) + } + + fn reset(&mut self) { + self.speed_rpm = 0.0; + self.angle_raw = 0.0; + self.delay_line.clear(); + } + } + + /// GM6020 voltage model profile. Values are structural defaults, not field identification. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Gm6020Model; + + impl VoltageModelSpec for Gm6020Model { + type Protocol = Gm6020Voltage; + fn params() -> VoltagePlantParams { + VoltagePlantParams { + gain_rpm_per_raw: 0.01, + tau_s: 0.1, + max_rpm: 300.0, + delay_ticks: 0, + } + } + } +} + +pub use voltage::{Gm6020Model, VoltageModelSpec, VoltageMotorPlant, VoltagePlantParams}; + +#[cfg(test)] +mod voltage_tests { + use super::*; + use motor_protocol::Gm6020Command; + + #[test] + fn voltage_model_is_independent_and_resets() { + let mut plant = VoltageMotorPlant::::new(Gm6020Model::params()); + let feedback = MotorPlant::step(&mut plant, Gm6020Command::new(10_000), 0.001).unwrap(); + assert!(feedback.speed_rpm >= 0); + plant.reset(); + assert!(plant.speed_rpm().abs() < f32::EPSILON); + assert_eq!( + MotorPlant::step(&mut plant, Gm6020Command::new(1), 0.0), + Err(ModelError::InvalidDt) + ); + } +} diff --git a/crates/delta10-protocol/Cargo.toml b/crates/protocol/imu/Cargo.toml similarity index 86% rename from crates/delta10-protocol/Cargo.toml rename to crates/protocol/imu/Cargo.toml index f63cafc..bbdcbaf 100644 --- a/crates/delta10-protocol/Cargo.toml +++ b/crates/protocol/imu/Cargo.toml @@ -16,3 +16,6 @@ thiserror = { workspace = true } [dev-dependencies] approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "protocol/imu" diff --git a/crates/delta10-protocol/src/lib.rs b/crates/protocol/imu/src/lib.rs similarity index 100% rename from crates/delta10-protocol/src/lib.rs rename to crates/protocol/imu/src/lib.rs diff --git a/crates/motor-protocol/Cargo.toml b/crates/protocol/motor/Cargo.toml similarity index 86% rename from crates/motor-protocol/Cargo.toml rename to crates/protocol/motor/Cargo.toml index 1e76583..7078f14 100644 --- a/crates/motor-protocol/Cargo.toml +++ b/crates/protocol/motor/Cargo.toml @@ -16,3 +16,6 @@ thiserror = { workspace = true } [dev-dependencies] proptest = { workspace = true } approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "protocol/motor" diff --git a/crates/motor-protocol/src/lib.rs b/crates/protocol/motor/src/lib.rs similarity index 80% rename from crates/motor-protocol/src/lib.rs rename to crates/protocol/motor/src/lib.rs index d008b8a..265e311 100644 --- a/crates/motor-protocol/src/lib.rs +++ b/crates/protocol/motor/src/lib.rs @@ -909,3 +909,276 @@ pub use id::*; pub use m2006::C610; pub use m3508::C620; pub use turn::*; + +pub mod generic { + //! Generic wire-protocol contracts. + //! + //! The concrete codec modules remain the source of wire layout. This module + //! only gives upper layers a type-safe seam for current/voltage families. + + use core::marker::PhantomData; + + use crate::common::{self, DecodeError, EscFeedback}; + use crate::frame::CanFrame; + use crate::gm6020::{self, Gm6020Command, Gm6020Feedback}; + + /// Protocol decoding error used by the generic codec seam. + pub type ProtocolError = DecodeError; + + /// Protocol-independent view of a wire feedback frame. + pub trait FeedbackFields { + fn angle_raw(&self) -> u16; + fn speed_rpm(&self) -> i16; + fn current_raw(&self) -> i16; + fn temperature_c(&self) -> i8; + } + + impl FeedbackFields for EscFeedback { + fn angle_raw(&self) -> u16 { + self.angle_raw + } + fn speed_rpm(&self) -> i16 { + self.speed_rpm + } + fn current_raw(&self) -> i16 { + self.current_raw + } + fn temperature_c(&self) -> i8 { + self.temperature_c + } + } + + impl FeedbackFields for Gm6020Feedback { + fn angle_raw(&self) -> u16 { + self.angle_raw + } + fn speed_rpm(&self) -> i16 { + self.speed_rpm + } + fn current_raw(&self) -> i16 { + self.current_raw + } + fn temperature_c(&self) -> i8 { + self.temperature_c + } + } + + /// Raw effort scaling and saturation for one controller family. + pub trait EffortScale: Copy + Send + Sync + 'static { + fn max_raw(self) -> i16; + fn max_amp(self) -> f32; + fn clamp_raw(self, raw: i16) -> i16; + fn raw_from_amp(self, amp: f32) -> i16; + fn amp_from_raw(self, raw: i16) -> f32; + } + + /// C620 current scale: ±16384 raw ↔ ±20 A. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct CurrentC620; + + /// C610 current scale: ±10000 raw ↔ ±10 A. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct CurrentC610; + + /// GM6020 voltage scale: ±30000 raw. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Voltage30000; + + impl EffortScale for CurrentC620 { + fn max_raw(self) -> i16 { + 16_384 + } + fn max_amp(self) -> f32 { + 20.0 + } + fn clamp_raw(self, raw: i16) -> i16 { + common::clamp_current(common::EscModel::C620, raw) + } + fn raw_from_amp(self, amp: f32) -> i16 { + common::EscModel::C620.raw_from_amp(amp) + } + fn amp_from_raw(self, raw: i16) -> f32 { + common::EscModel::C620.amp_from_raw(raw) + } + } + + impl EffortScale for CurrentC610 { + fn max_raw(self) -> i16 { + 10_000 + } + fn max_amp(self) -> f32 { + 10.0 + } + fn clamp_raw(self, raw: i16) -> i16 { + common::clamp_current(common::EscModel::C610, raw) + } + fn raw_from_amp(self, amp: f32) -> i16 { + common::EscModel::C610.raw_from_amp(amp) + } + fn amp_from_raw(self, raw: i16) -> f32 { + common::EscModel::C610.amp_from_raw(raw) + } + } + + impl EffortScale for Voltage30000 { + fn max_raw(self) -> i16 { + gm6020::VOLTAGE_MAX_RAW + } + fn max_amp(self) -> f32 { + f32::from(gm6020::VOLTAGE_MAX_RAW) + } + fn clamp_raw(self, raw: i16) -> i16 { + gm6020::clamp_voltage(raw) + } + fn raw_from_amp(self, amp: f32) -> i16 { + let raw = amp.clamp(-f32::from(self.max_raw()), f32::from(self.max_raw())); + self.clamp_raw(raw as i16) + } + fn amp_from_raw(self, raw: i16) -> f32 { + f32::from(self.clamp_raw(raw)) + } + } + + /// Wire protocol contract for one motor family. + pub trait MotorProtocol: Send + Sync + 'static { + type Command: Copy + Send + Sync; + type Feedback: FeedbackFields + Copy + Send + Sync; + type Scale: EffortScale; + + fn command_frame_id(id: u8) -> Option; + fn feedback_frame_id(id: u8) -> Option; + fn encode_group(frame_id: u32, commands: [Self::Command; 4]) -> CanFrame; + fn decode_feedback(frame: &CanFrame) -> Result<(u8, Self::Feedback), ProtocolError>; + fn command_from_raw(raw: i16) -> Self::Command; + } + + /// C620/C610 share the current frame layout; `S` only selects the scale. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct CurrentEsc(PhantomData); + + impl MotorProtocol for CurrentEsc { + type Command = i16; + type Feedback = EscFeedback; + type Scale = S; + + fn command_frame_id(id: u8) -> Option { + common::command_frame_id(id) + } + fn feedback_frame_id(id: u8) -> Option { + common::feedback_frame_id(id) + } + + fn encode_group(frame_id: u32, commands: [Self::Command; 4]) -> CanFrame { + common::encode_current_frame(frame_id, commands) + } + + fn decode_feedback(frame: &CanFrame) -> Result<(u8, Self::Feedback), ProtocolError> { + common::decode_feedback(frame) + } + + fn command_from_raw(raw: i16) -> Self::Command { + S::default_scale().clamp_raw(raw) + } + } + + /// GM6020 voltage protocol. + #[derive(Debug, Clone, Copy, PartialEq, Eq)] + pub struct Gm6020Voltage; + + impl MotorProtocol for Gm6020Voltage { + type Command = Gm6020Command; + type Feedback = Gm6020Feedback; + type Scale = Voltage30000; + + fn command_frame_id(id: u8) -> Option { + gm6020::command_frame_id(id) + } + fn feedback_frame_id(id: u8) -> Option { + gm6020::feedback_frame_id(id) + } + + fn encode_group(frame_id: u32, commands: [Self::Command; 4]) -> CanFrame { + gm6020::encode_voltage_frame( + frame_id, + [ + commands[0].voltage_raw, + commands[1].voltage_raw, + commands[2].voltage_raw, + commands[3].voltage_raw, + ], + ) + } + + fn decode_feedback(frame: &CanFrame) -> Result<(u8, Self::Feedback), ProtocolError> { + gm6020::decode_feedback(frame) + } + + fn command_from_raw(raw: i16) -> Self::Command { + Gm6020Command::new(raw) + } + } + + pub trait DefaultScale: EffortScale { + fn default_scale() -> Self; + } + + impl DefaultScale for CurrentC620 { + fn default_scale() -> Self { + Self + } + } + impl DefaultScale for CurrentC610 { + fn default_scale() -> Self { + Self + } + } +} + +pub use generic::{ + CurrentC610, CurrentC620, CurrentEsc, DefaultScale, EffortScale, FeedbackFields, Gm6020Voltage, + MotorProtocol, ProtocolError, Voltage30000, +}; + +#[cfg(test)] +mod generic_tests { + use super::*; + + #[test] + fn current_protocol_round_trips_feedback_fields() { + let feedback = common::EscFeedback { + angle_raw: 17, + speed_rpm: -123, + current_raw: 456, + temperature_c: 31, + }; + let frame = common::encode_feedback_frame(2, &feedback); + let (id, decoded) = + as generic::MotorProtocol>::decode_feedback( + &frame, + ) + .unwrap(); + assert_eq!(id, 2); + assert_eq!(decoded.angle_raw(), 17); + assert_eq!(decoded.speed_rpm(), -123); + assert_eq!(decoded.current_raw(), 456); + assert_eq!(decoded.temperature_c(), 31); + } + + #[test] + fn current_scales_are_distinct_and_saturating() { + assert_eq!(generic::CurrentC620.max_raw(), 16_384); + assert_eq!(generic::CurrentC610.max_raw(), 10_000); + assert_eq!(generic::CurrentC610.clamp_raw(20_000), 10_000); + assert_eq!(generic::Voltage30000.clamp_raw(i16::MIN), -30_000); + } + + #[test] + fn gm6020_uses_voltage_commands() { + let command = ::command_from_raw(1234); + assert_eq!(command.voltage_raw, 1234); + assert_eq!( + ::command_frame_id(1), + Some(gm6020::COMMAND_FRAME_ID_PRIMARY) + ); + } +} diff --git a/crates/protocol/remote/Cargo.toml b/crates/protocol/remote/Cargo.toml new file mode 100644 index 0000000..545ee48 --- /dev/null +++ b/crates/protocol/remote/Cargo.toml @@ -0,0 +1,19 @@ +[package] +name = "dr16-protocol" +description = "DJI DR16 D-BUS frame protocol" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +thiserror = { workspace = true } + +[dev-dependencies] +proptest = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "protocol/remote" diff --git a/crates/protocol/remote/src/lib.rs b/crates/protocol/remote/src/lib.rs new file mode 100644 index 0000000..dd22b08 --- /dev/null +++ b/crates/protocol/remote/src/lib.rs @@ -0,0 +1,380 @@ +#![cfg_attr(test, allow(clippy::unwrap_used, clippy::expect_used))] + +//! DJI DR16 接收机 D-BUS 帧协议。 +//! +//! 协议帧固定为 18 字节:四个 11 bit 摇杆通道、两个三档开关、鼠标、按键与拨轮。 +//! 本实现只描述线上的字节布局,不依赖串口、Tokio 或底盘控制类型。 +//! +//! DT7/DR16 手册没有给出 D-BUS 字节布局;字段结构与开关编码参考 +//! `RoboMaster/RoboRTS-Firmware`,本实现为独立 Rust 重写。 + +use std::collections::VecDeque; + +use thiserror::Error; + +/// 一帧 D-BUS 数据的字节数。 +pub const FRAME_LEN: usize = 18; +/// 遥控器摇杆的协议中心值。 +pub const CHANNEL_CENTER: i16 = 1024; +/// 摇杆有效范围:中心值 ±660。 +pub const CHANNEL_MAX_ABS: i16 = 660; + +/// 三档开关位置。 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub enum SwitchPosition { + /// 上档,线值 1。 + Up, + /// 下档,线值 2。 + Down, + /// 中档,线值 3。 + Mid, +} + +impl SwitchPosition { + /// 开关的协议线值。 + #[must_use] + pub const fn wire_value(self) -> u8 { + match self { + Self::Up => 1, + Self::Down => 2, + Self::Mid => 3, + } + } +} + +impl TryFrom for SwitchPosition { + type Error = DecodeError; + + fn try_from(value: u8) -> Result { + match value { + 1 => Ok(Self::Up), + 2 => Ok(Self::Down), + 3 => Ok(Self::Mid), + _ => Err(DecodeError::InvalidSwitch(value)), + } + } +} + +/// DR16 扩展输入:鼠标、按键与拨轮。 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default)] +pub struct ExtendedInput { + /// 鼠标 x 位移。 + pub mouse_x: i16, + /// 鼠标 y 位移。 + pub mouse_y: i16, + /// 鼠标 z 位移。 + pub mouse_z: i16, + /// 鼠标左键。 + pub mouse_left: bool, + /// 鼠标右键。 + pub mouse_right: bool, + /// 键盘按键位图。 + pub key_code: u16, + /// 拨轮中心值 ±1024 后的值。 + pub wheel: i16, +} + +/// 一帧完整 DR16 输入。 +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub struct Dr16Sample { + /// 摇杆通道 A/E/T/R,均已减去 1024,范围 -660..=660。 + pub channels: [i16; 4], + /// 左侧三档开关 S1。 + pub s1: SwitchPosition, + /// 右侧三档开关 S2。 + pub s2: SwitchPosition, + /// 鼠标、按键和拨轮。 + pub extended: ExtendedInput, +} + +impl Dr16Sample { + /// 右摇杆左右通道 A/J1。 + #[must_use] + pub const fn channel_a(self) -> i16 { + self.channels[0] + } + + /// 右摇杆上下通道 E/J2。 + #[must_use] + pub const fn channel_e(self) -> i16 { + self.channels[1] + } + + /// 左摇杆上下通道 T/J3。 + #[must_use] + pub const fn channel_t(self) -> i16 { + self.channels[2] + } + + /// 左摇杆左右通道 R/J4。 + #[must_use] + pub const fn channel_r(self) -> i16 { + self.channels[3] + } +} + +/// D-BUS 解码错误。 +#[derive(Debug, Clone, Copy, PartialEq, Eq, Error)] +pub enum DecodeError { + /// 输入不是 18 字节完整帧。 + #[error("invalid D-BUS frame length: expected {expected}, got {actual}")] + InvalidLength { + /// 协议要求的长度。 + expected: usize, + /// 实际长度。 + actual: usize, + }, + /// 摇杆超出遥控器有效范围。 + #[error("invalid D-BUS channel {channel}: {value}")] + InvalidChannel { + /// 通道下标 0..4。 + channel: usize, + /// 中心化后的值。 + value: i16, + }, + /// 开关线值不是 1/2/3。 + #[error("invalid D-BUS switch value: {0}")] + InvalidSwitch(u8), + /// 拨轮超出 ±1024。 + #[error("invalid D-BUS wheel value: {0}")] + InvalidWheel(i16), + /// 鼠标按键字节不是 0/1。 + #[error("invalid D-BUS mouse button byte: {0}")] + InvalidMouseButton(u8), +} + +/// 解码一帧完整 D-BUS 数据。 +/// +/// # Errors +/// +/// 任一摇杆超出 ±660 或开关线值非法时返回 [`DecodeError`]。 +pub fn decode_frame(data: &[u8]) -> Result { + if data.len() != FRAME_LEN { + return Err(DecodeError::InvalidLength { expected: FRAME_LEN, actual: data.len() }); + } + let mut packed = [0u8; FRAME_LEN]; + packed.copy_from_slice(data); + + let raw_channels = [ + (u16::from(packed[0]) | (u16::from(packed[1]) << 8)) & 0x07FF, + (u16::from(packed[1]) >> 3 | (u16::from(packed[2]) << 5)) & 0x07FF, + (u16::from(packed[2]) >> 6 | (u16::from(packed[3]) << 2) | (u16::from(packed[4]) << 10)) + & 0x07FF, + (u16::from(packed[4]) >> 1 | (u16::from(packed[5]) << 7)) & 0x07FF, + ]; + let mut channels = [0i16; 4]; + for (index, raw) in raw_channels.into_iter().enumerate() { + let value = raw as i16 - CHANNEL_CENTER; + if !(-CHANNEL_MAX_ABS..=CHANNEL_MAX_ABS).contains(&value) { + return Err(DecodeError::InvalidChannel { channel: index, value }); + } + channels[index] = value; + } + + let switch_bits = packed[5] >> 4; + let s1 = SwitchPosition::try_from((switch_bits & 0x0C) >> 2)?; + let s2 = SwitchPosition::try_from(switch_bits & 0x03)?; + + let wheel = u16::from_le_bytes([packed[16], packed[17]]) as i16 - CHANNEL_CENTER; + if !(-1024..=1024).contains(&wheel) { + return Err(DecodeError::InvalidWheel(wheel)); + } + if packed[12] > 1 { + return Err(DecodeError::InvalidMouseButton(packed[12])); + } + if packed[13] > 1 { + return Err(DecodeError::InvalidMouseButton(packed[13])); + } + + Ok(Dr16Sample { + channels, + s1, + s2, + extended: ExtendedInput { + mouse_x: i16::from_le_bytes([packed[6], packed[7]]), + mouse_y: i16::from_le_bytes([packed[8], packed[9]]), + mouse_z: i16::from_le_bytes([packed[10], packed[11]]), + mouse_left: packed[12] == 1, + mouse_right: packed[13] == 1, + key_code: u16::from_le_bytes([packed[14], packed[15]]), + wheel, + }, + }) +} + +/// 增量帧解码器:接受任意大小的串口读块,并在噪声后重新同步。 +/// +/// D-BUS 帧没有同步头或校验和,因此同步依靠固定长度和摇杆/开关的有效范围。 +#[derive(Debug, Default)] +pub struct FrameDecoder { + bytes: VecDeque, + discarded_bytes: usize, +} + +impl FrameDecoder { + /// 创建空解码器。 + #[must_use] + pub const fn new() -> Self { + Self { bytes: VecDeque::new(), discarded_bytes: 0 } + } + + /// 追加串口字节并返回其中可识别的完整帧。 + #[must_use] + pub fn push(&mut self, input: &[u8]) -> Vec { + self.bytes.extend(input.iter().copied()); + let mut samples = Vec::new(); + + while self.bytes.len() >= FRAME_LEN { + let mut candidate: Option<(usize, Dr16Sample, usize)> = None; + let windows = self.bytes.len() - FRAME_LEN + 1; + for offset in 0..windows { + let mut frame = [0u8; FRAME_LEN]; + for (index, byte) in self.bytes.iter().skip(offset).take(FRAME_LEN).enumerate() { + frame[index] = *byte; + } + if let Ok(sample) = decode_frame(&frame) { + // D-BUS 没有同步头。多个窗口都能通过范围校验时,优先选择 + // 与 18 字节帧边界一致的候选,避免被噪声向前错一位。 + let residue = (self.bytes.len() - (offset + FRAME_LEN)) % FRAME_LEN; + if candidate.is_none_or(|(_, _, best)| residue < best) { + candidate = Some((offset, sample, residue)); + } + } + } + + if let Some((offset, sample, _)) = candidate { + self.bytes.drain(0..offset + FRAME_LEN); + self.discarded_bytes += offset; + samples.push(sample); + } else { + let discard = self.bytes.len() - (FRAME_LEN - 1); + self.bytes.drain(0..discard); + self.discarded_bytes += discard; + } + } + samples + } + + /// 因噪声或不完整候选帧而丢弃的累计字节数。 + #[must_use] + pub const fn discarded_bytes(&self) -> usize { + self.discarded_bytes + } + + /// 清空尚未组成帧的字节。 + pub fn clear(&mut self) { + self.bytes.clear(); + } +} + +#[cfg(test)] +mod tests { + use super::*; + + fn encode(channels: [i16; 4], s1: u8, s2: u8) -> [u8; FRAME_LEN] { + let raw: Vec = channels.iter().map(|value| (value + CHANNEL_CENTER) as u16).collect(); + let mut frame = [0u8; FRAME_LEN]; + frame[0] = (raw[0] & 0xFF) as u8; + frame[1] = ((raw[0] >> 8) as u8) | ((raw[1] & 0x1F) as u8) << 3; + frame[2] = ((raw[1] >> 5) as u8) | ((raw[2] & 0x03) as u8) << 6; + frame[3] = (raw[2] >> 2) as u8; + frame[4] = ((raw[2] >> 10) as u8) | ((raw[3] & 0x7F) as u8) << 1; + frame[5] = ((raw[3] >> 7) as u8) | (s2 & 0x03) << 4 | (s1 & 0x03) << 6; + frame + } + + #[test] + fn decodes_channels_switches_mouse_keys_and_wheel() { + let mut frame = encode([-660, -5, 321, 660], 1, 3); + frame[5] = (frame[5] & 0x0F) | (1 << 6) | (3 << 4); + frame[6..8].copy_from_slice(&(-123i16).to_le_bytes()); + frame[8..10].copy_from_slice(&456i16.to_le_bytes()); + frame[10..12].copy_from_slice(&(-7i16).to_le_bytes()); + frame[12] = 1; + frame[13] = 0; + frame[14..16].copy_from_slice(&0xA55Au16.to_le_bytes()); + frame[16..18].copy_from_slice(&(2048u16).to_le_bytes()); + + let sample = decode_frame(&frame).unwrap(); + assert_eq!(sample.channels, [-660, -5, 321, 660]); + assert_eq!(sample.s1, SwitchPosition::Up); + assert_eq!(sample.s2, SwitchPosition::Mid); + assert_eq!(sample.channel_a(), -660); + assert_eq!(sample.channel_t(), 321); + assert_eq!( + sample.extended, + ExtendedInput { + mouse_x: -123, + mouse_y: 456, + mouse_z: -7, + mouse_left: true, + mouse_right: false, + key_code: 0xA55A, + wheel: 1024, + } + ); + } + + #[test] + fn switch_wire_values_are_explicit() { + assert_eq!(SwitchPosition::Up.wire_value(), 1); + assert_eq!(SwitchPosition::Down.wire_value(), 2); + assert_eq!(SwitchPosition::Mid.wire_value(), 3); + assert_eq!(SwitchPosition::try_from(0), Err(DecodeError::InvalidSwitch(0))); + assert_eq!(SwitchPosition::try_from(4), Err(DecodeError::InvalidSwitch(4))); + } + + #[test] + fn rejects_short_frame_and_out_of_range_values() { + assert_eq!( + decode_frame(&[0; FRAME_LEN - 1]), + Err(DecodeError::InvalidLength { expected: FRAME_LEN, actual: FRAME_LEN - 1 }) + ); + + let frame = encode([661, 0, 0, 0], 1, 1); + assert!(matches!( + decode_frame(&frame), + Err(DecodeError::InvalidChannel { channel: 0, .. }) + )); + + let frame = encode([0, 0, 0, 0], 0, 1); + assert_eq!(decode_frame(&frame), Err(DecodeError::InvalidSwitch(0))); + } + + #[test] + fn decoder_accepts_fragmented_frames() { + let frame = encode([100, -200, 300, -400], 1, 2); + let mut decoder = FrameDecoder::new(); + assert!(decoder.push(&frame[..7]).is_empty()); + assert!(decoder.push(&frame[7..13]).is_empty()); + let samples = decoder.push(&frame[13..]); + assert_eq!(samples.len(), 1); + assert_eq!(samples[0].channels, [100, -200, 300, -400]); + } + + #[test] + fn decoder_resynchronizes_after_noise() { + let frame = encode([660, -660, 659, -659], 1, 3); + let mut input = vec![0xFF; 37]; + input.extend_from_slice(&frame); + let mut decoder = FrameDecoder::new(); + let samples = decoder.push(&input); + assert_eq!(samples.len(), 1, "噪声后应找到下一帧"); + assert_eq!(samples[0].channels, [660, -660, 659, -659]); + assert!(decoder.discarded_bytes() >= 37); + } + + #[test] + fn decoder_returns_multiple_frames_from_one_read() { + let first = encode([1, 2, 3, 4], 1, 1); + let second = encode([-1, -2, -3, -4], 2, 3); + let mut input = first.to_vec(); + input.extend_from_slice(&second); + + let mut decoder = FrameDecoder::new(); + let samples = decoder.push(&input); + assert_eq!(samples.len(), 2); + assert_eq!(samples[0].channels, [1, 2, 3, 4]); + assert_eq!(samples[1].channels, [-1, -2, -3, -4]); + } +} diff --git a/crates/sim-harness/Cargo.toml b/crates/simulation/motor/Cargo.toml similarity index 91% rename from crates/sim-harness/Cargo.toml rename to crates/simulation/motor/Cargo.toml index 7a5ea32..97475bc 100644 --- a/crates/sim-harness/Cargo.toml +++ b/crates/simulation/motor/Cargo.toml @@ -24,3 +24,6 @@ rand = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["test-util"] } approx = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "simulation/motor" diff --git a/crates/sim-harness/src/lib.rs b/crates/simulation/motor/src/lib.rs similarity index 97% rename from crates/sim-harness/src/lib.rs rename to crates/simulation/motor/src/lib.rs index 6736864..9ff5c27 100644 --- a/crates/sim-harness/src/lib.rs +++ b/crates/simulation/motor/src/lib.rs @@ -706,7 +706,7 @@ pub mod plant { use motor_protocol::{EscFeedback, clamp_current}; use crate::harness::LoopLimits; - use motor_model::{PlantMotor, PlantParams}; + use motor_model::{DcMotorPlant, Gm3508Model, MotorPlant, PlantParams}; /// 把被测电机的**转速**(rpm)当作输出、**effort raw** 当作输入的被控对象。 /// @@ -715,7 +715,7 @@ pub mod plant { /// 不同的饱和行为。 #[derive(Debug, Clone)] pub struct SimPlant { - motor: PlantMotor, + motor: DcMotorPlant, limits: LoopLimits, steps: u64, } @@ -724,7 +724,7 @@ pub mod plant { /// 由参数构造(默认限幅与 [`LoopLimits::gm3508`] 一致)。 #[must_use] pub fn new(params: PlantParams) -> Self { - Self { motor: PlantMotor::new(params), limits: LoopLimits::gm3508(), steps: 0 } + Self { motor: DcMotorPlant::new(params), limits: LoopLimits::gm3508(), steps: 0 } } /// 换限幅与电调型号。 @@ -789,15 +789,17 @@ pub mod plant { self.limits.model, raw.clamp(-self.limits.current_limit_raw, self.limits.current_limit_raw), ); - let feedback = self.motor.step(command, dt); - self.steps += 1; - return Ok(f32::from(feedback.speed_rpm)); + if let Ok(feedback) = MotorPlant::step(&mut self.motor, command, dt) { + self.steps += 1; + return Ok(f32::from(feedback.speed_rpm)); + } + return Ok(self.motor.speed_rpm()); } Ok(self.motor.speed_rpm()) } fn reset(&mut self) { - self.motor.reset(); + MotorPlant::reset(&mut self.motor); self.steps = 0; } @@ -926,7 +928,7 @@ pub mod rig { use tokio::time::{MissedTickBehavior, interval}; use tracing::trace; - use motor_model::{PlantMotor, PlantParams}; + use motor_model::{DcMotorPlant, Gm3508Model, MotorPlant, PlantParams}; /// 用理想 `GM3508` 模型启动指定电调 ID 的假电调组。 /// @@ -943,8 +945,8 @@ pub mod rig { tick: Duration, ) -> JoinHandle<()> { let specs: Vec<(u8, PlantParams)> = specs.into_iter().collect(); - let mut motors: HashMap = - specs.iter().map(|&(id, params)| (id, PlantMotor::new(params))).collect(); + let mut motors: HashMap> = + specs.iter().map(|&(id, params)| (id, DcMotorPlant::new(params))).collect(); let mut commands: HashMap = specs.iter().map(|&(id, _)| (id, 0)).collect(); let dt = tick.as_secs_f32(); let mut ticker = interval(tick); @@ -960,7 +962,9 @@ pub mod rig { _ = ticker.tick() => { for (&id, motor) in &mut motors { let cmd = commands.get(&id).copied().unwrap_or(0); - let feedback = motor.step(cmd, dt); + let Ok(feedback) = MotorPlant::step(motor, cmd, dt) else { + continue; + }; if link .outgoing_tx .send(encode_feedback_frame(id, &feedback)) diff --git a/crates/tuning/Cargo.toml b/crates/tooling/tuning/Cargo.toml similarity index 93% rename from crates/tuning/Cargo.toml rename to crates/tooling/tuning/Cargo.toml index ad1e8b1..cebb496 100644 --- a/crates/tuning/Cargo.toml +++ b/crates/tooling/tuning/Cargo.toml @@ -29,3 +29,6 @@ motor-model = { workspace = true } [dev-dependencies] approx = { workspace = true } proptest = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "tooling/tuning" diff --git a/crates/tuning/src/lib.rs b/crates/tooling/tuning/src/lib.rs similarity index 98% rename from crates/tuning/src/lib.rs rename to crates/tooling/tuning/src/lib.rs index 96e458b..17bba76 100644 --- a/crates/tuning/src/lib.rs +++ b/crates/tooling/tuning/src/lib.rs @@ -1591,7 +1591,7 @@ pub mod preset { use std::path::{Path, PathBuf}; use experiment::{Scenario, SetpointProfile}; - use motor_model::PlantParams; + use motor_model::{DcModelSpec, PlantParams}; use serde::{Deserialize, Serialize}; use sim_harness::PlantTolerances; use thiserror::Error; @@ -1724,29 +1724,29 @@ pub mod preset { /// 离线被控对象模型。 #[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)] #[serde(rename_all = "kebab-case")] - pub enum PlantSpec { + pub enum PlantProfile { /// 理想一阶模型(无摩擦、无延迟)。 - Gm3508, + Ideal, /// 台架量级:静 / 库仑摩擦 + 2 拍延迟。 - Gm3508Bench, + Bench, } - impl PlantSpec { + impl PlantProfile { /// 文本名。 #[must_use] pub const fn name(self) -> &'static str { match self { - Self::Gm3508 => "gm3508", - Self::Gm3508Bench => "gm3508-bench", + Self::Ideal => "ideal", + Self::Bench => "bench", } } /// 展开为被控对象参数。 #[must_use] - pub fn params(self) -> PlantParams { + pub fn params(self) -> PlantParams { match self { - Self::Gm3508 => PlantParams::gm3508(), - Self::Gm3508Bench => PlantParams::gm3508_bench(), + Self::Ideal => M::ideal_params(), + Self::Bench => M::bench_params(), } } } @@ -1921,7 +1921,7 @@ pub mod preset { /// 离线被控对象与域随机化。 SimSpec { /// 名义模型。 - plant: PlantSpec, + plant: PlantProfile, /// 集成成员数(1 = 只用名义模型)。 ensemble: usize, /// 鲁棒权重:0 = 只看均值,1 = 只看最坏成员。 @@ -2040,7 +2040,7 @@ pub mod preset { threads: Some(0), }, sim: SimSpec { - plant: Some(PlantSpec::Gm3508Bench), + plant: Some(PlantProfile::Bench), ensemble: Some(8), robust_weight: Some(0.5), gain_pct: Some(0.2), @@ -2082,8 +2082,8 @@ pub mod preset { /// /// 缺项([`PresetError::Missing`])或区间 / 阈值 / 预算非法 /// ([`PresetError::Invalid`])时返回错误。 - pub fn to_tuning(&self) -> Result { - let plant_spec = self.sim.plant.unwrap_or(PlantSpec::Gm3508Bench); + pub fn to_tuning(&self) -> Result { + let plant_spec = self.sim.plant.unwrap_or(PlantProfile::Bench); Ok(Tuning { backend: self.backend.unwrap_or(BackendSpec::Sim), space: self.gain_space()?, @@ -2092,7 +2092,7 @@ pub mod preset { acceptance: self.acceptance()?, search: self.search()?, plant_spec, - plant: plant_spec.params(), + plant: plant_spec.params::(), tolerances: self.tolerances()?, ensemble: self.ensemble()?, robust_weight: self.robust_weight()?, @@ -2417,7 +2417,7 @@ pub mod preset { /// 搜索配置。 pub search: SearchConfig, /// 名义被控对象(枚举,供显示 / 复现)。 - pub plant_spec: PlantSpec, + pub plant_spec: PlantProfile, /// 名义被控对象(展开后的参数,供仿真重放)。 pub plant: PlantParams, /// 域随机化幅度。 @@ -2641,14 +2641,16 @@ top_k = 3 let text = toml::to_string(&PresetFile::builtin()).unwrap(); let round_trip = PresetFile::parse_str(&text).unwrap(); assert_eq!(round_trip, PresetFile::builtin()); - assert!(round_trip.select(None).unwrap().to_tuning().is_ok()); + assert!( + round_trip.select(None).unwrap().to_tuning::().is_ok() + ); } #[test] fn builtin_matches_the_historical_cli_defaults() { // 这些数字是 chassis-tune 历史的 CLI 默认值,改动等于改变整定的默认行为, // 必须是有意为之。 - let tuning = Preset::builtin().to_tuning().unwrap(); + let tuning = Preset::builtin().to_tuning::().unwrap(); assert_eq!(tuning.backend, BackendSpec::Sim); assert!((tuning.space.kp.min - 0.5).abs() < 1e-12); assert!((tuning.space.kp.max - 30.0).abs() < 1e-12); @@ -2671,7 +2673,7 @@ top_k = 3 fn preset_overlays_only_the_fields_it_sets() { let file = PresetFile::parse_str(MINIMAL).unwrap(); let merged = Preset::builtin().overlay(file.select(None).unwrap()); - let tuning = merged.to_tuning().unwrap(); + let tuning = merged.to_tuning::().unwrap(); assert_eq!(tuning.search.samples, 32, "预设必须生效"); assert_eq!(tuning.search.top_k, 3); // 未提及的项沿用内置默认。 @@ -2686,7 +2688,7 @@ top_k = 3 let mut overlay = Preset::default(); overlay.space.kp = Some(RangeSpec::new(1.0, 5.0)); let merged = Preset::builtin().overlay(&overlay); - let tuning = merged.to_tuning().unwrap(); + let tuning = merged.to_tuning::().unwrap(); assert!((tuning.space.kp.min - 1.0).abs() < 1e-12); assert!((tuning.space.kp.max - 5.0).abs() < 1e-12); assert_eq!(tuning.space.kp.scale, Scale::Log, "刻度必须从内置默认继承"); @@ -2759,7 +2761,9 @@ top_k = 3 let build = |body: &str| -> Result { let text = format!("version = 1\n[preset.a]\n{body}"); let file = PresetFile::parse_str(&text)?; - Preset::builtin().overlay(file.select(None)?).to_tuning() + Preset::builtin() + .overlay(file.select(None)?) + .to_tuning::() }; let error = @@ -2794,13 +2798,13 @@ top_k = 3 // 缺 scale 的轴(内置换行默认提供了刻度,这里显式抹掉)。 let mut preset = Preset::builtin(); preset.space.kd = Some(RangeSpec { min: 0.1, max: 1.0, scale: None }); - let error = preset.to_tuning().unwrap_err(); + let error = preset.to_tuning::().unwrap_err(); assert!(matches!(&error, PresetError::Invalid { field: "kd", .. }), "{error}"); } #[test] fn missing_keys_are_reported_for_a_bare_preset() { - let error = Preset::default().to_tuning().unwrap_err(); + let error = Preset::default().to_tuning::().unwrap_err(); assert!(matches!(error, PresetError::Missing { .. }), "{error}"); } @@ -2810,16 +2814,16 @@ top_k = 3 preset.scenario.profile = Some(ProfileSpec::Staircase); preset.scenario.stair_levels = None; assert!(matches!( - preset.to_tuning(), + preset.to_tuning::(), Err(PresetError::Missing { field: "scenario.stair_levels" }) )); preset.scenario.stair_levels = Some(0); assert!(matches!( - preset.to_tuning(), + preset.to_tuning::(), Err(PresetError::Invalid { field: "scenario.stair_levels", .. }) )); preset.scenario.stair_levels = Some(5); - assert!(preset.to_tuning().is_ok()); + assert!(preset.to_tuning::().is_ok()); } #[test] @@ -2854,7 +2858,7 @@ top_k = 3 assert_eq!(spec.name(), text); assert_eq!(parse(text).value, spec); } - assert_eq!(PlantSpec::Gm3508Bench.name(), "gm3508-bench"); + assert_eq!(PlantProfile::Bench.name(), "bench"); assert_eq!(SolverSpec::NelderMead.name(), "nelder-mead"); assert_eq!(BackendSpec::Bench.name(), "bench"); let profile: Wrapper = diff --git a/crates/socketcan/Cargo.toml b/crates/transport/can/Cargo.toml similarity index 77% rename from crates/socketcan/Cargo.toml rename to crates/transport/can/Cargo.toml index d2a40ff..39f92f1 100644 --- a/crates/socketcan/Cargo.toml +++ b/crates/transport/can/Cargo.toml @@ -16,11 +16,10 @@ thiserror = { workspace = true } tracing = { workspace = true } [dev-dependencies] -esc-bus = { workspace = true } -motor = { workspace = true } -motor-control = { workspace = true } tokio = { workspace = true } -motor-protocol = { workspace = true } [target.'cfg(target_os = "linux")'.dependencies] socketcan-rs = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "transport/can" diff --git a/crates/socketcan/src/lib.rs b/crates/transport/can/src/lib.rs similarity index 100% rename from crates/socketcan/src/lib.rs rename to crates/transport/can/src/lib.rs diff --git a/crates/slcan/Cargo.toml b/crates/transport/serial/Cargo.toml similarity index 87% rename from crates/slcan/Cargo.toml rename to crates/transport/serial/Cargo.toml index 246f7d7..9703b9d 100644 --- a/crates/slcan/Cargo.toml +++ b/crates/transport/serial/Cargo.toml @@ -19,3 +19,6 @@ serial = { workspace = true } [dev-dependencies] tokio = { workspace = true } + +[package.metadata.sentry-chassis] +layer = "transport/serial" diff --git a/crates/slcan/src/lib.rs b/crates/transport/serial/src/lib.rs similarity index 100% rename from crates/slcan/src/lib.rs rename to crates/transport/serial/src/lib.rs diff --git a/crates/verification/integration/Cargo.toml b/crates/verification/integration/Cargo.toml new file mode 100644 index 0000000..fe8cd7f --- /dev/null +++ b/crates/verification/integration/Cargo.toml @@ -0,0 +1,28 @@ +[package] +name = "integration-tests" +description = "Cross-layer integration and hardware-simulation tests" +version.workspace = true +edition.workspace = true +rust-version.workspace = true +license.workspace = true + +[lints] +workspace = true + +[dependencies] +can = { workspace = true } +esc-bus = { workspace = true } +experiment = { workspace = true } +motor = { workspace = true } +motor-control = { workspace = true } +motor-model = { workspace = true } +motor-protocol = { workspace = true } +sim-harness = { workspace = true } +socketcan = { workspace = true } +tokio = { workspace = true } + +[dev-dependencies] +tokio = { workspace = true, features = ["test-util"] } + +[package.metadata.sentry-chassis] +layer = "verification/integration" diff --git a/crates/verification/integration/src/lib.rs b/crates/verification/integration/src/lib.rs new file mode 100644 index 0000000..95dc449 --- /dev/null +++ b/crates/verification/integration/src/lib.rs @@ -0,0 +1 @@ +//! Cross-layer integration test package. diff --git a/crates/esc-bus/tests/closed_loop.rs b/crates/verification/integration/tests/esc_closed_loop.rs similarity index 100% rename from crates/esc-bus/tests/closed_loop.rs rename to crates/verification/integration/tests/esc_closed_loop.rs diff --git a/crates/esc-bus/tests/harness_parity.rs b/crates/verification/integration/tests/esc_harness_parity.rs similarity index 100% rename from crates/esc-bus/tests/harness_parity.rs rename to crates/verification/integration/tests/esc_harness_parity.rs diff --git a/crates/socketcan/tests/vcan.rs b/crates/verification/integration/tests/socketcan_vcan.rs similarity index 100% rename from crates/socketcan/tests/vcan.rs rename to crates/verification/integration/tests/socketcan_vcan.rs diff --git a/docs/chassis.md b/docs/chassis.md index 24fda1a..e62cf97 100644 --- a/docs/chassis.md +++ b/docs/chassis.md @@ -280,7 +280,7 @@ effort_raw = clamp( PID(target_rpm, measured_rpm, dt) + feedforward × target_rp | 一起动就飞 | 前馈过大 or 限流远大于实际所需 | ff → 0、限流贴近实际 | | 稳态有静差 | 摩擦未被积分吃掉 | 检查 `ki` 是否被抗饱和长期冻结 | -### 7.4 被控对象模型(`sim-harness::motor_model`) +### 7.4 被控对象模型(`motor-model::MotorPlant`) 逐拍离散(`dt` 秒,电调坐标系:正电流 → 正转速): @@ -299,7 +299,7 @@ effort_raw = clamp( PID(target_rpm, measured_rpm, dt) + feedforward × target_rp ## 8. 配置参考(chassis.toml) 样例:[`config/chassis.toml.example`](../config/chassis.toml.example)。 -schema 由 [`chassis-config`](../crates/chassis-config) 定义,**守护进程与整定工具共用同一份**—— +schema 由 [`chassis-config`](../crates/config/chassis) 定义,**守护进程与整定工具共用同一份**—— 这样"整定工具用的限流"和"守护进程用的限流"不可能悄悄不一致。 ### 8.1 顶层 @@ -308,11 +308,23 @@ schema 由 [`chassis-config`](../crates/chassis-config) 定义,**守护进程 | --- | --- | | `[can] interface` | 底盘总线 SocketCAN 接口名(如 `can0`) | | `[can.function] interface` | 预留的功能总线(云台 / 拨弹),必须与底盘总线**不同名** | +| `[remote]` | 可选 DR16/D-BUS 遥控输入;缺省时保持静止 | | `[chassis]` | 控制循环与安全超时、速度上限 | | `[mecanum]` | `half_length` / `half_width` / `wheel_radius`(米) | | `[[motor]]` × 4 | 顺序固定 FL / FR / RL / RR | -### 8.2 `[chassis]`(缺省值) +### 8.2 `[remote]`(可选) + +| 键 | 默认 | 含义 | +| --- | --- | --- | +| `kind` | 必填 | 当前支持 `dr16` | +| `device` | `/dev/ttyS2` | D-BUS UART 设备 | +| `timeout_ms` | 100 | 合法帧断流后立即失能 | +| `deadband` | 0.05 | 摇杆满量程死区,之后使用平方曲线 | +| `ramp_ms` | 500 | 零到满量程逐轴斜坡;失能/断流立即归零 | +| `invert_vx/vy/omega` | false | 实车方向校正 | + +### 8.3 `[chassis]`(缺省值) | 键 | 默认 | 含义 | | --- | --- | --- | @@ -322,7 +334,7 @@ schema 由 [`chassis-config`](../crates/chassis-config) 定义,**守护进程 | `motor_command_timeout_ms` | 50 | 驱动层命令租约(必须 ≥ `control_period_ms`) | | `max_vx` / `max_vy` / `max_omega` | 3.0 / 3.0 / 6.0 | 速度限幅(m/s、m/s、rad/s) | -### 8.3 `[[motor]]` +### 8.4 `[[motor]]` | 键 | 含义 | | --- | --- | @@ -334,12 +346,14 @@ schema 由 [`chassis-config`](../crates/chassis-config) 定义,**守护进程 | `current_limit` | effort 限幅(raw),同时是 PID 钳位点 | | `kp` / `ki` / `kd` / `feedforward` | 速度环增益(整定的产物写回这里) | -### 8.4 校验规则(`Config::validate`) +### 8.5 校验规则(`Config::validate`) - 电机数必须**恰好 4**;麦轮几何必须为正;四个超时必须 > 0; `motor_command_timeout_ms ≥ control_period_ms`;速度上限 > 0;`gear_ratio > 0`; - 底盘总线**只允许一种协议族**(四轮不能混用 C620 / C610); - 功能总线接口名不得与底盘总线相同(双 CAN 物理隔离); +- `[remote]` 若启用:设备名非空,`timeout_ms` / `ramp_ms` > 0,`deadband ∈ [0, 0.5)`, + 且遥控断流超时不得晚于底盘指令超时; - `deny_unknown_fields`:**拼错的键直接报错**,不会被静默忽略。 --- @@ -441,7 +455,7 @@ chassis-tune sweep --preset config/tune.toml --samples 128 # CLI 覆盖预 | `field_updown` | bench | **up-down** 1200 rpm | 实战验收:升 / 降 / 回零双向,阈值收紧到 12% / 3% | **预设 schema**(`version = 1`,未知键报错,见 -[`crates/tuning/src/lib.rs`](../crates/tuning/src/lib.rs)): +[`crates/tooling/tuning/src/lib.rs`](../crates/tooling/tuning/src/lib.rs)): ```toml version = 1 @@ -588,7 +602,7 @@ cargo run --release -p spin -- motor -- --interface can0 --dry-run | 整定 | 指标(合成轨迹解析解)、参数空间(界内 / 确定性 / 对数分布 / 分层覆盖)、成本(硬约束罚值)、搜索(同 seed 逐位复现、优于手调基线)、报告(CSV/TOML/JSON 往返) | 全平台(CI 跑 `just tune-smoke`) | | **预设** | schema 往返、逐字段覆盖、优先级(CLI > 预设 > 内置)、未知键 / 越界 / 缺失报错、**`config/tune.toml` 全部预设可解算**、命名与后端一致、安全参数不可注入 | 全平台 | | vcan 集成 | vcan0 双 socket 收发,真实内核 CAN 栈 | Linux(`#[ignore]`,CI 显式跑) | -| 实车台架 | `spin chassis` 四轮定速:链路/反馈、方向、转速稳态、过速保护、安全停机;`chassis-tune --backend bench` 逐次试验 + 重复性复验 | armv7 + slcan/SocketCAN(人工) | +| 实车台架 | `spin chassis` 四轮定速:链路/反馈、方向、转速稳态、过速保护、安全停机;`spin rc` 只读监视 DR16;`chassis-tune --backend bench` 逐次试验 + 重复性复验 | armv7 + slcan/SocketCAN(人工) | | 交叉检查 | `aarch64-unknown-linux-gnu` 全 workspace check;armv7 静态构建 `chassisd` | CI | ### 13.2 每个阶段完成后的门禁(`just lint` + 以下) diff --git a/docs/dependencies.md b/docs/dependencies.md new file mode 100644 index 0000000..2535d84 --- /dev/null +++ b/docs/dependencies.md @@ -0,0 +1,50 @@ +# 依赖分层与 Trait 边界 + +`config/dependency-policy.toml` 是依赖规则的唯一机器可读来源。crate 名称保持不变,manifest 按 `crates//` 组织,并在 `[package.metadata.sentry-chassis]` 中声明 `layer`。 + +## 单向分层 + +```text +contract can/imu +protocol imu/motor/remote +transport can/serial +device imu/motor/esc/remote +control algorithm/chassis/motor +experiment trace +model motor +simulation motor +tooling tuning +config chassis +application bench/daemon/tools/tuning +verification integration +``` + +依赖只能从高层指向低层;正常依赖和 dev 依赖都必须如此。跨层集成测试集中在 `verification/integration`,不允许测试回边渗入低层 crate。 + +## Trait 组织 + +- `protocol/motor`:`MotorProtocol`、`EffortScale`、`FeedbackFields`,只处理线上的命令、反馈、帧 ID 和量程。 +- `device/motor`:`MotorSpec`、`MotorFeedback`、`EffortDrive`、`VelocityDrive`、`PositionDrive`、`Disable`,只处理机械型号和设备能力。 +- `device/esc`:`EscConfig`、`EscMotor`、`EscBus` 通过 `MotorSpec::Protocol` 组合协议能力;电流路径要求 `CurrentEscDrive`,GM6020 使用独立的 `VoltageEscDrive` 路径。 +- `model/motor`:`MotorPlant`、`DcMotorPlant`,只处理动态模型和反馈量化。 + +`Gm3508`、`M2006`、`Gm6020` 是 marker type;型号事实、协议族和控制能力由关联类型组合,不在 bus 内用运行时 `match` 判断。 + +## 外部库边界 + +外部依赖必须从根 `workspace.dependencies` 继承,并在 policy 的 `external_roles` 中声明用途。异步/传输库只进入 transport/device;配置和 CLI 库只进入 config/application;搜索、并行、绘图库只进入 tuning/application;`approx`、`proptest` 只允许作为测试依赖。 + +## 审查脚本 + +`scripts/audit-rules.rs` 是单文件 Rust `cargo-script`。脚本通过内嵌 manifest 声明 +`serde`、`serde_json`、`toml` 和 `regex`,不需要额外 Python 工具链。运行时使用 +Nightly 的 `-Zscript`;workspace 本身仍由 `rust-toolchain.toml` 固定 Stable。 + +```sh +cargo +nightly -Zscript scripts/audit-rules.rs +cargo +nightly -Zscript scripts/audit-rules.rs --self-test +``` + +## 变更流程 + +新增 crate、内部边或外部库时,必须同步更新 `config/dependency-policy.toml`、crate 的 layer 声明、架构文档和 `Cargo.lock`。运行 `just audit`,提交时由 `.githooks/pre-commit` 执行同一规则。 diff --git a/docs/dt16/DT7&DR16_RC_System_User_Manual_v2.00_cn.pdf b/docs/dt16/DT7&DR16_RC_System_User_Manual_v2.00_cn.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7bd2b019f212c478c7ad4af7ba53b6c9b540c5ea GIT binary patch literal 1229782 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

(b=m}C*g2QiXiq-!8saSJ)}juaS&=f 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%0Dkjt)A4YhU?DyGM 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∋Di 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%0Axr$~!Ai;wQ-e%zm`vCF(bBB0aqT&c= zp+~D;?J~0&#b70SqP2Jzy2L;b!z}@pOb9CX>WyFi;lWtsE?J18*4VGzfiMdG|7WXS z5^>j}64?1GukYkij@3?UKC0K_kSu!JSz_#{6_}n#O0N8Ko7?8 zuBsD0o24mMg!ml4x#B|>YPZ)Al z!k!tbEjQa{`+z)tb8;07ayP=crO_Y_ExD%y-uC2!JV$fHx9h6utuL4V;l^1kwfHIE+%>sX*>duhO>^t$#|WE}mN0 zUCXX1WYuU9qoscXS21fr=bwbSMDvn@3Wg`wvXTwNgpK&IdXyfzpHrf^y))L9SPvBC zsJe~t-!tOIsxTq%`khQyqV&Oz5tGqogOoa+DI@1qJm86sc#Z{XjOt!8gRZ8OrAHp$OvW zM$@xSjf;!gbh)I{NuSchU0DV!+?m@SO}oLUe;5Bjo9cJV&|Dgz`{vEmvj;FuS?9If${aurgTKT`C=J&= zJ82(KSp0q%Y5H`pXSb+5%M?iWr<;YzQqQ~p-sigiStG^^ov!ShXK#P$Ua(J{cS^2mb?o)Zw<%&vUJ+@R~uO~hN4YD^M zfor)?CiL>?1spd5eAW7u9q#c9>c&vqrP9A|qL2-LKo?rbTcoNO>+shd8_!)0VDi#;q;sBcwMrL5#Q&5ejTIfng&T+{AP|TuF>^R%X!Le zWm|QH+h8IDZrO4d3ym&mlCK*cXjl_YYV5?g4az=dKOk8&Q|VMu4qwjbN$^>9@%_4w z0%Bg7e62k9vShC{yQ>jd%UnJgQzI|)CtCyVHe|GvQXjQk`S!#>BXt{WH=K*!UC+o< z-;O0V^EgAiB4bE>lgu~uFZ*So;88#TyV>LaG%6Li8bw`g?sLFIp|Ywd^?Xdlj^r7k zoL4*tY+91FZqCpB>my&AKDBmo%sMftl1$S?1p|eQvDk4?xM0r~kokfpYnUH~OKIn#M6nsO&v zGz%xpYe_3B=-b^vg~ih3dpOp$^Q$5#{2m)?FYFcZ=Y?oVJ$(vQ;j(ONF6$ItuHHJQ z(g?tQP%YfYTk7Pz=;OMyoN)b>yAB3N!aOEz<6E*~1PQqwePnKDVM@1S?}Jj-s%6|7 zUoanCSGf)j7zCxmOU$iuUfQE*aA z=$p)qaKIWLpPmgW*~OO>c7gVtEH6dt)yRG;RGNB#?T{MLR&A)#M0$X)^Qf8OwV&7E zgdcd4!nNte{0J{6_M4QKgS#%yO=n<+_Cl*9EO2)<6P4GcN&vEh)D!IS=b|SsQ~CuO zWF@7KwPLeu25wyUp1+um>PaIq$sV$CI-IZ?YJ2Gon?LK5x+A^9NBI&m^e2;Fm(Qe@UV+~A5Dw_Ogw8Uoi|E+9X&!R0goke5% zfl79OZf5@c3w$rTcMe+x<<$Ibd9q>E=1j$ff1(8#qkZH&1;1(KTFAb<(Y^)IRg!2e z5Y&%A2M}F}JLH_2q)fQ6Y{# z=fwuX?$M97@(cwd_;FnPCoKcHqKPfQ0vlE}J7!vwQUX2Y9I^&HCqBDH)1mAF=%$Vo z+%2G`I|ij!3h3BJb(EgLlVYF}rry--KYsM02EayikX&0D3MMaTt-Wj{%^v_6G1sMx8Q;paaViJQ%DsZg5m%smY3T*7Vd&BT^dP#`$%22;^N>~Do-;LBlA?HNU0 zk=W4%D>68Dz~vBJOxkJ!OcYiEWr1#IdgHFE>{(3(8=w*9By=CT`cgTmCW~N`1p(dW z;h}=&9%NI>!%GY5LL3=VtN0nt-)RC4!_F*cZ8LF$U2F0<_>O>DwS8B5ZT|W3n~HV+ zyR1~OY+W%nk;6~?oi?>e8O(6&vMCr_0SR;m6#gHTs$lj(E8tvybh%E=VpfZs$FGUa6%=Jl1b z2LaS(RhU5ot3SW$^xV7~p_Wr6#ECwZ%`6O_mm5+avGa8up0K+gTWLKt_cegZ#nr6m zm~<)lkO-xkoGy)3R&z`-Zckf&m(^9!K%X@=)Q^EPxmr`%f@&(BC6S=CZm``y*nH+K z?3LJr>LEqIe!YdQ=R3qeA$_-+O(=A>#MJom3KA}{&vqdlE)7Sg@r%FfPDS2 zg|6u7i#F@~n6YRXZzPNM_=OgoAtm=xTF(Q*GGI49SyuiX9^0O*A3&Cb_k(iByMn#0 zYZ^;$=-7emvnzrLl%pdOc+f(J8sIcVpL3h4p@~W(H?2rvr)a=` z=Rdg~zyM@*ndjr;#2l|NYmXt1HNl;)%?;1MkC{pCPy2K$YJ!c|x}?I9KxWfFMyc7* zfHGnl6e8;fpd@YZO4wuxyXDv*_Lc#BF<=Ja7+Xf3&nU+?MvQGh^-|cnKjPz?e|SP? z((l^40t{j-Q+kNP&xzVscrDq2x>h_WDu*w+MKahmocp~UoPV2CwGoPTru~lA30M<{ z2=8J`0CXL4^Ft&8=?>8V;~)>g-$$CMaDR7dVA>c{VJ+X%VxBbt3a{C(X~)xQKRrqca)~D!q9tG25R$2!R;hT!Mrc zDddcpXvX@ZosxUD>Tz4J`|mC8`Xxljj0!FtM!Gciw4aMmVGCgi+cAyBw|pHhI}2#- zG|r_Gsf-zGS0K~4;@(iEV<3<$K5uzYgG;DM=s&(tKk%#`<7`f;k_r+itDXNiy&W)T z0=33GW1M6}^0>!z@cFoAwt(Egi$k-me>ZgqEvKJvNQra3-Qhr8;|uA=fi8*Lt3rG` zgbftQlhn(>@_IriGMMp|)yR-ZDhWt1Bi+@4B^NgvhX|Ce$3D=bu&2`Y7PzaxRtn)mMEoIVjxSen77Lpnv#AUyp>}yIKZ~ezF zp|88)a*O_pGHQC?D$)f`Sp!>@!lPO915vmhJ`krOaUpFg`2a}(tScpZ56top*?-=6 z=;tb@nFRvQVzz#m<67|m1Xj>#uLzu098xINR|aBTrum+Bw6hTXnEpy*q>A{h&AHqo z)I<2*SMN{js^i^?xE5H_d_&kst@~S7?j3*dxC~MIGs;T#eF(#kx$v4zj+tH(^kn#o z|9`^)ncmxRQf?%weDnPGm>ggy!BN}28L@R%Ycu%wi4W}u#)n@{L!6gfsdcot3X^1q zw#j*#cwny|tb!tAlyVYWu-H&mtXr5*T&@~xAc&d?6qJ*o?L6drb#tg;zjRqIxEkpt z`Y^W5)0mg%PaAh=cIuG5Rjpla0s!LU&XG=KCr4`=pscX~e0x&_V}5sS)7urlq3f&n$9vwM@Qr_D zyud*UZg(zNF`0Gq3K5#^ioIA%B!1q_G*05vZFx~E=)j8mdRqR>+BoWELHHM#rnhf% zhZW%el4X2x8oSP1;HAR15m?X#`=DcHoF!yd8m<@{R%b(z`f}Ss>&2Fe!7b%NE_aG= z#Wahv*h>!;yJWTSjM2!~KnV}h#&~Bv^{XFZ!9oNpO*c7>*vvAhV(rk~|5S(y+g|Sm zUsE`&`bWj_Zxjgu8|Q;Z17XjW6&7y!uNg!@lkC8*6acNS@fDRtIL7#?yHSyOkWJmXCE?)g^s+jmZ?~5(qiH;t-afgWq8m z5P#%5x;M?2E{VKUp*2deLRbO&6vlIR1Y3~LG`O8DDx+P8bdFVS}+

qnMy-s2R^u5b;B3kOVa3FXNfTB)nr&IT- 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

pgIB4O4*(>uGvFu(W`j?Yo(KMB&!G)g}bPUQ* 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 z {ju3p6v(doR*Q#0Zu1n8mDv+jE#}QGmUB+e1n1YYYPUbhB9yBhImO81-4Y=Qv z6=jg-psfz+pLRei*)__4u(@v0!ve>&31A}3epawXdM+Z0byEp>1gbq^w?@n6IZ5oc z8IbuaRe@Na#7TL{-N1jiL=LJkKwwSOA^$0@iKZFrOmzQA%3n*)r(Dm|9u=@4a$R zhesG^u*is}OQo2gd)Hql*P>=5CRJi0I{WLN@m*N%1Q8gT5|$Tue)w*1f+_%kkhnDo zS>(O_GuydJ6qquL#;g+gCnSIqV4+eJTg1QD*try~`o9$8{PUlpF6?xWiVf^&tx