Files
Tutorial/README.md
T
2026-06-19 23:12:05 +08:00

73 lines
2.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`