Files

76 lines
2.7 KiB
Markdown
Raw Permalink Normal View History

# Tutorial Medulla / Clumsy 插件
2026-06-19 23:12:05 +08:00
本仓库提供 **差速****多舵轮** 两套最小可用示例,每种底盘各含 Medulla (M) 与 Clumsy (C) 插件。多舵轮示例包含 **双车联动(MultiVehicleSync** 的手动与自动轨迹跟踪演示。
2026-06-19 23:12:05 +08:00
## 目录结构
```text
Tutorial/
Tutorial.sln
DiffWheel/
DiffWheelM/ 差速 Medulla 插件
DiffWheelC/ 差速 Clumsy 插件
MultiWheel/
MultiWheelM/ 多舵轮 Medulla 插件
MultiWheelC/ 多舵轮 Clumsy 插件(含双车联动)
deploy/ Clumsy/Medulla 配置模板
docs/ 算法原理、修复记录、部署说明
build/ 本地运行目录(gitignore
2026-06-19 23:12:05 +08:00
```
## 依赖
2026-06-19 23:12:05 +08:00
统一引用 `D:\MDCS\Release`
2026-06-19 23:12:05 +08:00
- `Release\Medulla\RefCartActivator.dll`
- `Release\Clumsy\RefClumsyCore.dll``RefClumsyDance.dll`
- `Release\CommonUsage.dll`
- `Release\MDCSToolBox.dll`(需先编译 `D:\MDCS\Source\Products\mdcstoolbox`
2026-06-19 23:12:05 +08:00
```powershell
dotnet build D:\MDCS\Source\Products\mdcstoolbox\MDCSToolBox.csproj -c Release
dotnet build .\Tutorial.sln
```
2026-06-19 23:12:05 +08:00
默认输出:
2026-06-19 23:12:05 +08:00
- M 插件 → `build\Medulla\plugins\`
- C 插件 → `build\Clumsy\``build\Clumsy_AGV2\`(多舵轮)
- 差速 C 插件 → `build\Clumsy_diff\`
2026-06-19 23:12:05 +08:00
## DiffWheelM / DiffWheelC
2026-06-19 23:12:05 +08:00
差速底盘最小 IO
2026-06-19 23:12:05 +08:00
- `SpeedLeft` / `SpeedRight`:下发速度
- `ActualSpeedLeft` / `ActualSpeedRight`:反馈(M 侧 MotorRoutine 镜像)
2026-06-19 23:12:05 +08:00
遥控器:`Up,Down,Left,Right` + `Q,W` 速度比例。
2026-06-19 23:12:05 +08:00
Clumsy 侧提供 **差速-前进2秒**、**差速-原地旋转2秒** MovementTest。
2026-06-19 23:12:05 +08:00
## MultiWheelM / MultiWheelC
2026-06-19 23:12:05 +08:00
多舵轮底盘 IO 与 `CommonUsage.Chassis.MultiWheelChassis` 几何一致。M 侧 `MotorRoutine` 将下发速度/角度镜像到反馈,便于仿真观察。
2026-06-19 23:12:05 +08:00
遥控器模式:`R` 旋转、`C` 横移、`S` 斜行、`A,D` 车头偏置、**`F` 车队联动**。
2026-06-19 23:12:05 +08:00
### 双车联动
2026-06-19 23:12:05 +08:00
- AGV1`build\Medulla`tag `Multi1`+ `build\Clumsy`(主车,`MultiVehicleMasterIp="/"`
- AGV2`build\Medulla_AGV2`tag `Multi2`+ `build\Clumsy_AGV2`(从车)
主从通过 HTTP `:8008` 同步;详见 [docs/MultiVehicleSync.md](docs/MultiVehicleSync.md)。
产品源已知问题及 Tutorial 修复说明:[docs/BugFixes.md](docs/BugFixes.md)。
运行步骤:[docs/RunAndDeploy.md](docs/RunAndDeploy.md)。
2026-06-19 23:12:05 +08:00
## M 与 C 如何通信
2026-06-19 23:12:05 +08:00
两者不直接调用,而是通过 **CartActivator DObject 共享内存**(相同 IO 字段名 + `SetShareObjectTag`)。Clumsy 写轮速/舵角 UpperIOMedulla 读并下发;Medulla 写反馈 LowerIOClumsy 读用于 ghost/控制。
2026-06-19 23:12:05 +08:00
## 构建与忽略
2026-06-19 23:12:05 +08:00
`build/``obj/``.vs/` 已在 `.gitignore` 中忽略。配置模板在 `deploy/`,首次运行 Clumsy 时可复制到 `build\Clumsy*`