2.3 KiB
2.3 KiB
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: 左右轮实际速度反馈,AsLowerIOMaxManualSpeed: 手动最大轮速初始化参数,默认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 侧观察。
构建
dotnet build .\Tutorial.sln
默认输出目录:
build\Medulla\plugins\
依赖
两个插件都只引用:
D:\MDCS\Dependencies\Medulla\RefCartActivator.dllD:\MDCS\Dependencies\Medulla\RefMedullaCore.dllD:\MDCS\Dependencies\Medulla\RefMedulla2.dllD:\MDCS\Dependencies\deps\RefFundamentalLib.dll
MultiWheelM 额外引用:
D:\MDCS\Dependencies\Commons\CommonUsage.dll