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

2.3 KiB
Raw Blame History

Tutorial Medulla Plugins

本仓库用于放置最小 Medulla 插件示例,方便从产品化项目中抽离出底盘 IO 与遥控器逻辑。示例不引用 MDCSToolBox;其中 MultiWheelM 为了使用底盘几何模型,会额外引用 CommonUsage

目录结构

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

  • 四个舵轮速度:SpeedLeftFrontSpeedLeftRearSpeedRightFrontSpeedRightRear
  • 四个舵轮转角:ThLeftFrontThLeftRearThRightFrontThRightRear
  • 对应的实际速度与实际转角反馈
  • MaxManualSpeedMaxManualAngularSpeedMaxManualTheta 初始化参数
  • 舵轮几何参数:WheelBaseHalfLengthWheelTrackHalfWidthWheelAngleLowerLimitWheelAngleUpperLimit

遥控器支持普通转向、旋转、横移和斜行几个最小模式:

  • Up,Down,Left,Right: 速度摇杆
  • Q,W: 速度比例
  • R: 旋转模式
  • C: 横移模式
  • S: 斜行模式
  • A,D: 车头方向偏置

当前多舵轮示例使用 CommonUsage.Chassis.MultiWheelChassis 做遥控几何分解,不接真实下位机,MotorRoutine 会把下发速度/角度镜像到实际反馈变量,便于 Medulla UI 或 Clumsy 侧观察。

构建

dotnet build .\Tutorial.sln

默认输出目录:

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