Initial tutorial project

This commit is contained in:
2026-06-19 23:12:05 +08:00
commit e5aeae9c33
11 changed files with 553 additions and 0 deletions
+72
View File
@@ -0,0 +1,72 @@
# Tutorial Medulla Plugins
本仓库用于放置最小 Medulla 插件示例,方便从产品化项目中抽离出底盘 IO 与遥控器逻辑。示例不引用 `MDCSToolBox`;其中 `MultiWheelM` 为了使用底盘几何模型,会额外引用 `CommonUsage`
## 目录结构
```text
Tutorial/
Tutorial.sln
DiffWheelM/
差速底盘最小 Medulla 插件
MultiWheelM/
多舵轮底盘最小 Medulla 插件
```
`build/``obj/``.vs/` 是本地构建或调试输出,已在 `.gitignore` 中忽略。
## DiffWheelM
`DiffWheelM` 参考 `StandardKivaM`,保留差速底盘最小 IO
- `SpeedLeft` / `SpeedRight`: 左右轮下发速度,`AsUpperIO`,超时自动复位
- `ActualSpeedLeft` / `ActualSpeedRight`: 左右轮实际速度反馈,`AsLowerIO`
- `MaxManualSpeed`: 手动最大轮速初始化参数,默认 `0.3m/s`
遥控器使用 `Up,Down,Left,Right` 控制前后与转向,`Q,W` 控制速度比例。
## MultiWheelM
`MultiWheelM` 参考 `StandardMultiWheelLifterM`,保留多舵轮底盘最小 IO
- 四个舵轮速度:`SpeedLeftFront``SpeedLeftRear``SpeedRightFront``SpeedRightRear`
- 四个舵轮转角:`ThLeftFront``ThLeftRear``ThRightFront``ThRightRear`
- 对应的实际速度与实际转角反馈
- `MaxManualSpeed``MaxManualAngularSpeed``MaxManualTheta` 初始化参数
- 舵轮几何参数:`WheelBaseHalfLength``WheelTrackHalfWidth``WheelAngleLowerLimit``WheelAngleUpperLimit`
遥控器支持普通转向、旋转、横移和斜行几个最小模式:
- `Up,Down,Left,Right`: 速度摇杆
- `Q,W`: 速度比例
- `R`: 旋转模式
- `C`: 横移模式
- `S`: 斜行模式
- `A,D`: 车头方向偏置
当前多舵轮示例使用 `CommonUsage.Chassis.MultiWheelChassis` 做遥控几何分解,不接真实下位机,`MotorRoutine` 会把下发速度/角度镜像到实际反馈变量,便于 Medulla UI 或 Clumsy 侧观察。
## 构建
```powershell
dotnet build .\Tutorial.sln
```
默认输出目录:
```text
build\Medulla\plugins\
```
## 依赖
两个插件都只引用:
- `D:\MDCS\Dependencies\Medulla\RefCartActivator.dll`
- `D:\MDCS\Dependencies\Medulla\RefMedullaCore.dll`
- `D:\MDCS\Dependencies\Medulla\RefMedulla2.dll`
- `D:\MDCS\Dependencies\deps\RefFundamentalLib.dll`
`MultiWheelM` 额外引用:
- `D:\MDCS\Dependencies\Commons\CommonUsage.dll`