查看“插件开发指南”的源代码
←
插件开发指南
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
管理员
您可以查看和复制此页面的源代码。
<languages/> == 概述 / Overview == 本页是 MDCS '''插件开发'''的总入口。MDCS 把所有可扩展能力归为 5 个 ''插件家族'',每个家族对应一类 ''扩展点 + 基类 + 打包约定''。完整离线副本见 `D:\src\cookbook\HOW_TO_CUSTOMIZE.md`。 This is the hub for MDCS '''plugin development'''. MDCS organises every extension point into 5 ''plugin families'', each with its own base class + packaging convention. Offline mirror: `D:\src\cookbook\HOW_TO_CUSTOMIZE.md`. == 1. 5 类插件 / The five families == {| class="wikitable" ! 家族 / Family !! 宿主进程 / Host process !! 基类 / Base !! 入门页 / Tutorial |- | 雷达插件 / Lidar plugin || Medulla || `Lidar2DIOObject` / `Lidar3DIOObject` || [[Special:MyLanguage/如何适配新的雷达|如何适配新的雷达]] / [[Special:MyLanguage/2D激光雷达适配|2D激光雷达适配]] |- | 相机插件 / Camera plugin || Medulla || `IOObject`(约定 `MainIOObject` 类名)|| [[Special:MyLanguage/3D相机适配|3D相机适配]] |- | 底盘适配 / Cart hardware || Medulla || `CartDefinition` || [[Special:MyLanguage/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]] |- | Movement / 运动适配 || Clumsy || `MovementDefinition` || [[Special:MyLanguage/巡线行走|巡线行走]] / [[Special:MyLanguage/MovementDefinition详解|MovementDefinition详解]] |- | 车队插件 / Fleet plugin || SimpleComposer || `ClumsyCar` / `Car` / `BusinessLogic` + `[CarType]` || [[Special:MyLanguage/如何基于SimpleCore核心库进行调度系统开发|如何基于SimpleCore核心库进行调度系统开发]] |} 底层共通约定见以下子页: Shared conventions live on these sub-pages: * [[Special:MyLanguage/插件契约与打包约定|插件契约与打包约定]] — `MainIOObject` 命名 + Costura + LessokajiWeaver + 部署路径 * [[Special:MyLanguage/IOObject属性参考|IOObject属性参考]] — `[IOObjectMonitor] / [IOObjectUtility] / [IOObjectWebUtility] / [IOObjectWatch]` * [[Special:MyLanguage/CartDefinition属性参考|CartDefinition属性参考]] — `[AsInitParam] / [AsUpperIO] / [AsLowerIO] / [UseLadderLogic]` * [[Special:MyLanguage/LadderLogic框架|LadderLogic框架]] — 周期循环宿主 * [[Special:MyLanguage/startup.iocmd脚本语法|startup.iocmd脚本语法]] — 启动脚本 * [[Special:MyLanguage/DObject共享内存协议|DObject共享内存协议]] — IPC * [[Special:MyLanguage/MovementDefinition详解|MovementDefinition详解]] — Movement 契约 * [[Special:MyLanguage/SimpleAgvInterface Queue机制|SimpleAgvInterface Queue机制]] — Queue 行为 * [[Special:MyLanguage/TightCoupler外部反馈API|TightCoupler外部反馈API]] — 外部位姿源接入 * [[Special:MyLanguage/插件测试与发布|插件测试与发布]] — 测试 + 打包 + 发布 * [[Special:MyLanguage/插件开发清单|插件开发清单]] — Do's & Don'ts == 2. 工程脚手架 / Scaffolding == 脚手架工具:`D:\src\cookbook\MDCS-plugin-helper\generate.py`(交互式 Python 脚本)。 Scaffolder: `D:\src\cookbook\MDCS-plugin-helper\generate.py` (interactive). <syntaxhighlight lang="bash"> cd D:\src\cookbook\MDCS-plugin-helper python generate.py # Choose 1 — Create a project # Pick the plugin family # Enter project name </syntaxhighlight> 它会下载 ''参考 DLL''(`Ref<Name>.dll` 系列)到 `ref/`,并下载对应 boilerplate `.cs` 文件。 It downloads the reference DLLs (`Ref<Name>.dll`) into `ref/` and a boilerplate `.cs` file. == 3. 车型适配案例 / Vehicle case studies == 按车型分类的端到端案例: End-to-end case studies by vehicle type: * [[Special:MyLanguage/叉车适配案例|叉车适配案例]] — 凌鸟 LB14 * [[Special:MyLanguage/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]] — 浙江迈睿 KIVA * [[Special:MyLanguage/全向车适配案例|全向车适配案例]] — 麦克纳姆 + 四舵 * [[Special:MyLanguage/牵引车适配案例|牵引车适配案例]] — 单 / 双阿克曼 == 4. 特殊场景 / Specialty applications == * [[Special:MyLanguage/自动识别工位并取放货|自动识别工位并取放货]] * [[Special:MyLanguage/双车/多车联动|双车 / 多车联动]] * [[Special:MyLanguage/联动天眼系统进行装卸车|联动天眼系统进行装卸车]] * [[Special:MyLanguage/设备跟随联动|设备跟随联动]] * [[Special:MyLanguage/识别料框并堆垛拆垛|识别料框并堆垛拆垛]] * [[Special:MyLanguage/汽车面差检测|汽车面差检测]] * [[Special:MyLanguage/清洁机器人|清洁机器人]] * [[Special:MyLanguage/复合卷料机械手叉车|复合卷料机械手叉车]] == 5. 关联文档 / See also == * [[Special:MyLanguage/操作指南|操作指南]] — 运维者视角 * [[Special:MyLanguage/核心开发指南|核心开发指南]] — 平台开发者视角 * [[Special:MyLanguage/车体抽象原理|车体抽象原理]] — 三层模型 [[Category:开发手册]] [[Category:二次开发相关说明]]
返回
插件开发指南
。
导航菜单
个人工具
中文(中国大陆)
创建账号
登录
命名空间
页面
讨论
大陆简体
查看
阅读
查看源代码
查看历史
更多
导航
首页
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息