Files
Tutorial/docs/RunAndDeploy.md
T
ruifeng.zhouandCursor 235c6c70ac Add Clumsy plugins and dual-vehicle fleet sync demo.
Restructure into DiffWheel/MultiWheel folders, add DiffWheelC and MultiWheelC with MovementTests, FleetRemote multi-vehicle manual sync, deploy templates, and documentation. Update dependency paths to D:\MDCS\Release and mirror motor feedback in MotorRoutine for simulation.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-28 15:04:55 +08:00

3.3 KiB
Raw Blame History

运行与部署说明

1. 依赖

所有 Tutorial 插件引用 D:\MDCS\Release

组件 路径
Medulla Release\Medulla\
Clumsy Release\Clumsy\ClumsyLite.exe
CommonUsage Release\CommonUsage.dll
MDCSToolBox Release\MDCSToolBox.dll(由 Products\mdcstoolbox 编译 PostBuild 输出)

首次使用前编译 MDCSToolBox

dotnet build D:\MDCS\Source\Products\mdcstoolbox\MDCSToolBox.csproj -c Release

2. 编译 Tutorial

cd D:\MDCS\Source\Tutorial
dotnet build Tutorial.sln

输出:

  • M 插件 → build\Medulla\plugins\
  • C 插件 → build\Clumsy\build\Clumsy_AGV2\PostBuild 复制运行时)

3. 目录结构

Tutorial/
  DiffWheel/DiffWheelM/   DiffWheel/DiffWheelC/
  MultiWheel/MultiWheelM/ MultiWheel/MultiWheelC/
  deploy/                 # 配置模板(入库)
  build/                  # 运行目录(gitignore

4. 单车验证(多舵轮)

  1. 启动 Playground(若使用仿真)
  2. 启动 DetourDetourLitedetour.jsonshareObjectTag=Multi1,端口 4321
  3. build\Medulla\start_medulla_agv1.bat
  4. 使用 deploy\start_clumsy_agv1.bat 或手动复制:
    • deploy\chassis.jsonbuild\Clumsy\
    • deploy\clumsy_agv1\clumsy.jsonbuild\Clumsy\clumsy.json
    • deploy\clumsy_agv1\clumsyconsole.jsonbuild\Clumsy\clumsyconsole.json
  5. build\Clumsy\ 运行 ClumsyLite.exe

5. 双车手动联动(同机)

配置项 AGV1(主车) AGV2(从车)
Medulla build\Medulla\ tag Multi1web API 8007 build\Medulla_AGV2\ tag Multi2web API 8108
Detour detour.json tag Multi1HTTP 4321 / Web 4322 Detour_AGV2\detour.json tag Multi2HTTP 4421 / Web 4422
clumsyconsole.json soTag=Multi1, port=8008, detourPort=4321 soTag=Multi2, port=8009, detourPort=4421
clumsy.json msConf MultiVehicleMasterEndpoint="/", CarNum=1 MultiVehicleMasterEndpoint="127.0.0.1:8008", CarNum=2

tag 一致性Detour shareObjectTag = Clumsy soTag = Medulla SetShareObjectTag(见 startup.iocmd)。

  1. 启动 Playground + 两台 Detour + 两台 Medulla + 两台 ClumsyLite(工作目录 build\Clumsy / build\Clumsy_AGV2),或使用 DetourLite\bin\Debug\net8.0\start_all_sim.bat 一键启动全部 7 个进程
  2. 主车 Medulla 遥控器按 F 开启「车队联动」
  3. 用摇杆驱动:Y=纵向,X=编队转向

6. 双车自动联动

  1. 完成上一节双车启动
  2. 至少一台车 PosAvailable=trueDetour 定位有效)
  3. 主车 Clumsy 触发自动联动或调度 AGV.FleetGo(..., multiVehicleSync:true)

7. 差速示例

使用 deploy\clumsy_diff\clumsy.json,工作目录 build\Clumsy_diff\

8. 配置文件说明

文件 作用
detour.json shareObjectTagguru.DetourPort、雷达 layout
clumsyconsole.json soTagportallowMultipledetourHost/detourPort
clumsy.json msConfPilotConfig(含 TestCarSyncDistance、主车端点)
chassis.json 四轮舵轮几何
startup.iocmd SetShareObjectTag Multi1/Multi2

详细算法见 MultiVehicleSync.md,修复清单见 BugFixes.md