<mediawiki xmlns="http://www.mediawiki.org/xml/export-0.11/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.mediawiki.org/xml/export-0.11/ http://www.mediawiki.org/xml/export-0.11.xsd" version="0.11" xml:lang="zh-Hans-CN">
  <siteinfo>
    <sitename>MDCS wiki</sitename>
    <dbname>mdcs_wiki</dbname>
    <base>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5</base>
    <generator>MediaWiki 1.40.0</generator>
    <case>first-letter</case>
    <namespaces>
      <namespace key="-2" case="first-letter">媒体文件</namespace>
      <namespace key="-1" case="first-letter">特殊</namespace>
      <namespace key="0" case="first-letter" />
      <namespace key="1" case="first-letter">讨论</namespace>
      <namespace key="2" case="first-letter">用户</namespace>
      <namespace key="3" case="first-letter">用户讨论</namespace>
      <namespace key="4" case="first-letter">MDCS wiki</namespace>
      <namespace key="5" case="first-letter">MDCS wiki讨论</namespace>
      <namespace key="6" case="first-letter">文件</namespace>
      <namespace key="7" case="first-letter">文件讨论</namespace>
      <namespace key="8" case="first-letter">MediaWiki</namespace>
      <namespace key="9" case="first-letter">MediaWiki讨论</namespace>
      <namespace key="10" case="first-letter">模板</namespace>
      <namespace key="11" case="first-letter">模板讨论</namespace>
      <namespace key="12" case="first-letter">帮助</namespace>
      <namespace key="13" case="first-letter">帮助讨论</namespace>
      <namespace key="14" case="first-letter">分类</namespace>
      <namespace key="15" case="first-letter">分类讨论</namespace>
      <namespace key="1198" case="first-letter">Translations</namespace>
      <namespace key="1199" case="first-letter">Translations talk</namespace>
    </namespaces>
  </siteinfo>
  <page>
    <title>首页</title>
    <ns>0</ns>
    <id>1</id>
    <revision>
      <id>978</id>
      <parentid>977</parentid>
      <timestamp>2025-10-11T11:35:39Z</timestamp>
      <contributor>
        <username>Artheru</username>
        <id>1</id>
      </contributor>
      <comment>/* 链接 */</comment>
      <origin>978</origin>
      <model>wikitext</model>
      <format>text/x-wiki</format>
      <text bytes="11683" sha1="ojxsuwm78q338eoojwjrta9chme4939" xml:space="preserve">&lt;languages/&gt;&lt;translate&gt;
&lt;!--T:1--&gt;
MDCS是上海懒书智能科技开发的机器人软件构建框架，包括以下组件。
&lt;/translate&gt;
&lt;translate&gt;
&lt;!--T:2--&gt;
* Medulla：高效的硬件通信、控制和抽象平台。
* Detour：定位系统，内置激光雷达和视觉SLAM等。
* Clumsy：机器人运动指令平台，内置AGV/AMR的典型运动能力。
* Simple：机器人集群管理系统，核心为交通控制和寻路。
* CycleGUI：针对算法内核交互的回合式GUI框架，可在任何算法中随时提交协程由CycleGUI托管界面，协程仅在需要刷新界面时调用，效率很高。此外还支持''裸眼3D显示''
* DIVER(Dotnet Integrated Vehicle Runtime): 是一个专门用于载具控制系统的.NET运行环境，可将C#程序开发的Medulla下位硬件控制程序无痛地运行在MCU中。

&lt;!--T:3--&gt;
更详细地综述见：[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]  [[特殊:我的语言/MDCS概述|&lt;s&gt;MDCS概述&lt;/s&gt;]]
&lt;/translate&gt;
== 基本介绍 ==

'''定位系统'''：AGV的定位是由独立模块《Detour》完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[特殊:我的语言/具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[特殊:我的语言/地纹SLAM|地纹SLAM]]、[[特殊:我的语言/天花板SLAM|天花板SLAM]]、[[特殊:我的语言/二维码识别导航|二维码导航]]等，支持[[特殊:我的语言/多定位源的自动综合|多定位源的自动综合]]。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。

'''AGV车载系统'''：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成并对功能定义；二者原理见[[特殊:我的语言/车体抽象原理|车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[特殊:我的语言/巡线行走|巡线行走]]、[[特殊:我的语言/绕障行走|绕障行走]]等，复杂一些的例子如[[特殊:我的语言/自动识别工位并取放货|自动识别工位并取放货]]、[[特殊:我的语言/自动识别托盘取放货|自动识别托盘取放货]]、[[特殊:我的语言/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]、[[特殊:我的语言/联动天眼系统进行装卸车|联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。

'''车队调度'''：交管、寻路、包络、可达性分析等内核算法由SimpleCore提供，其原理参见[[特殊:我的语言/调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景编程声明寻路规则、运行脚本、包络、可达性需求等。对调度的运行原理参见：[[特殊:我的语言/AGV任务运行逻辑|AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。

'''周围系统'''：CycleGUI可用于3D显示和远程界面显示，可快速开发诸如3D标注程序、[[全息座舱]]等应用；DIVER可用于基于MCU低成本快速地开发四向穿梭车、磁导航车、编舞机器人等。V-helper是一套ＭＤＣ（车载程序）的远程监控和运维程序，可监控ＭＤＣ程序的堆栈、检查DObject/Hedingben变量内容等。

== 快速开始 ==

'''定位'''

如果您有Detour使用经验，请阅读 [[特殊:我的语言/下载并部署Detour|下载并部署Detour]] 快速开始。如果您首次使用Detour，请阅读详细教程：首先是 [[特殊:我的语言/安装Detour|安装Detour]] ，然后 [[标定激光雷达外参]] ，然后 [[激光SLAM建图]] ，用于优化地图的 [[激光地图编辑指南]] ，最后 使用激光SLAM功能 。

在激光不友好的场景，我们可以使用地纹SLAM。请阅读[[地纹SLAM技术概述]]来了解这个特性。

'''整车适配'''

对于需要做整车适配的读者，请阅读以下文章。

[[特殊:我的语言/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]]、[[特殊:我的语言/叉车适配案例|叉车(牵引车)适配案例]]、[[特殊:我的语言/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]]、[[特殊:我的语言/全向车适配案例|全向车适配案例]]、[[特殊:我的语言/牵引车适配案例|双阿克曼车型适配案例]]

传感器适配

[[2D激光雷达适配]]、[[3D相机适配]]（全局曝光、alt/azi固定的、像素化的3D雷达也算此类）、[[3D激光雷达适配]]、

== 使用手册 ==

=== 通识和入门教学 ===

[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]] 

[[Detour简介]]

[[特殊:我的语言/使用手册 - MDCS简介|使用手册 - MDCS简介]]

[[特殊:我的语言/激光SLAM的能力边界|激光SLAM的能力边界]]

[[非标车型使用手册]]

=== 定位导航相关手册 ===

[[特殊:我的语言/使用手册 - 定位导航|使用手册 - 定位导航]]

[[激光SLAM建图|使用手册 - 激光SLAM建图]]

[[特殊:我的语言/使用手册 - 激光SLAM＋反光板建图手册|使用手册 - 激光SLAM+反光板建图手册]]

[[特殊:我的语言/使用手册 - 分析定位问题|使用手册 - 分析定位问题]]

[[特殊:我的语言/使用手册 - 激光＋纹理导航|使用手册 - 激光+纹理导航]]

[[特殊:我的语言/使用手册 - Detour车体编辑器使用教学|使用手册 - Detour车体编辑器使用教学]]

[[特殊:我的语言/使用手册 - 双雷达标定手册|使用手册 - 双雷达标定手册]] / [[特殊:我的语言/标定双激光雷达外参|标定双激光雷达外参]]

[[特殊:我的语言/使用手册 - 在地纹导航中使用二维码快速找回定位|使用手册 - 在地纹导航中使用二维码快速找回定位]]

[[特殊:我的语言/使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]

[[特殊:我的语言/标定激光雷达外参|标定激光雷达外参]]

[[使用手册 - 如何在核显工控机上运行地纹导航]]

[[激光雷达选型测试报告]]

[[输入GPS外部定位]]

[[DetourLite检查表]]

=== 运动控制使用手册 ===

[[特殊:我的语言/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]

[[特殊:我的语言/使用自动对准料架功能|使用自动对准料架功能]]

[[特殊:我的语言/使用叉车料架堆叠功能|使用叉车料架堆叠功能]]

[[特殊:我的语言/色带和磁条导航|色带和磁条导航]]

[[特殊:我的语言/纯二维码导航|纯二维码导航]]

=== 调度相关手册 ===

[[特殊:我的语言/使用手册 - 车队管控|使用手册 - 车队管控]]

[[特殊:我的语言/使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  

[[使用手册 - Simple:从使用到开发]]  

[[使用手册 - Simple:coder（路径编译器）机制详解]]  

[[使用手册 - Simple:包络如何定义]]

[[特殊:我的语言/使用手册 - MDCS软件部署方法介绍|使用手册 - MDCS软件部署方法介绍]]

[[特殊:我的语言/使用手册 - Simple软件文件管理标准化作业|使用手册 - Simple软件文件管理标准化作业]]

[[特殊:我的语言/使用手册 - MDCS适配流程说明|使用手册 - MDCS适配流程说明]]

[[特殊:我的语言/使用手册 - MDCS适配详细说明|使用手册 - MDCS适配详细说明]]

[[特殊:我的语言/使用手册 - Simple图层合并手册|使用手册 - Simple图层合并手册]]

[[特殊:我的语言/使用手册 - 寻路启发器功能|使用手册 - 寻路启发器功能]]

[[特殊:我的语言/使用手册 - 更多交管细节用法|使用手册 - 更多交管细节用法]]

[[特殊:我的语言/使用手册 - 劫持用法|使用手册 - 劫持用法]](用于中途更改路线)

[[可达性状态编程|使用手册 - 可达性状态编程（用于如驶入式巷道叉车避免前车放货后影响后车运行等场景）]]

=== 二次开发相关说明 ===

[[特殊:我的语言/如何适配新的雷达|如何适配新的雷达]]

[[特殊:我的语言/如何使用CycleGUI快速开发UI界面|如何使用CycleGUI快速开发UI界面]]

[[特殊:我的语言/如何使用LessokajiWeaver的多语言功能|如何使用LessokajiWeaver的多语言功能]]

[[特殊:我的语言/开发手册 - 轨迹跟踪|开发手册 - 轨迹跟踪]]

[[特殊:我的语言/开发手册 - 目标跟踪|开发手册 - 目标跟踪]]

[[特殊:我的语言/开发手册 - SimpleComposer界面开发 - CAD工具|开发手册 - SimpleComposer界面开发 - CAD工具]]

[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]

[[如何基于SimpleCore核心库进行调度系统开发]]

=== 杂项 ===

[[特殊:我的语言/如何查看工控机性能以及功耗墙|如何查看工控机性能以及功耗墙]]

[[特殊:我的语言/使用手册 - 数据录制与回放手册|使用手册 - 数据录制与回放手册]]

[[使用手册 - Linux MDCS部署配置和操作说明]]

[[特殊:我的语言/FAQ|FAQ]]

Cheat sheet

[[Detour版本发布记录]]

[[特殊:我的语言/待整理的杂项内容|待整理的杂项内容]]

[[FundamentalLib使用说明]]

== 技术报告 ==

* MDCS架构
** Medulla软件架构
** Detour软件架构
*** Detour激光SLAM算法详解
*** Detour地面纹理SLAM算法详解
** Simple软件架构
*** [[特殊:我的语言/调度内核运行原理|调度内核运行原理]]
**** 基于预先规划交管算法：[[特殊:我的语言/DPS调度算法详解|DPS调度算法详解]]
**** 流场规划
*** 基于网络流的业务规划器
* LessokajiWeaver编译后处理工具
* CycleGUI

== 接口 ==

[[特殊:我的语言/Medulla-API|Medulla]]

[[特殊:我的语言/Detour-API|Detour]]

[[特殊:我的语言/Clumsy-API|Clumsy]]

[[特殊:我的语言/Simple-API|Simple]]

== 术语和约定 ==

[[特殊:我的语言/通用约定|MDCS开发通用约定]]

[[特殊:我的语言/定位导航|定位导航]]

[[MDCS参数表:Medulla]]

[[MDCS参数表:Detour]]

[[MDCS参数表:Clumsy]]

[[MDCS参数表:Simple]]

== 特殊技术方案 ==

当前MDCS的特殊技术方案包括：[[特殊:我的语言/托盘识别|托盘识别]]、[[特殊:我的语言/双车/多车联动|双车/多车联动]]、[[特殊:我的语言/汽车面差检测|汽车面差检测]]、[[特殊:我的语言/天眼系统|天眼系统]]、[[特殊:我的语言/自动装卸车应用|自动装卸车应用]]、[[特殊:我的语言/复合卷料机械手叉车|复合卷料机械手叉车]]、[[特殊:我的语言/清洁机器人|清洁机器人]]、[[特殊:我的语言/设备跟随联动|设备跟随联动]]。其它技术方案还在进一步补充中。
[[文件:Drliuwechat.png|缩略图|100x100像素|微信联系方式]]

== 链接 ==

*[https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论
* [https://git.lessokaji.com MDCS代码库]：git源
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站
* 视频案例链接: &lt;nowiki&gt;https://pan.baidu.com/s/19c0XIZGZGJJGGyVdS-5mQA?pwd=1234&lt;/nowiki&gt; 提取码: 1234 

__无目录__</text>
      <sha1>ojxsuwm78q338eoojwjrta9chme4939</sha1>
    </revision>
  </page>
</mediawiki>
