# 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`