<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.lessokaji.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yuhang</id>
	<title>MDCS wiki - 用户贡献 [zh-cn]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.lessokaji.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Yuhang"/>
	<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E7%89%B9%E6%AE%8A:%E7%94%A8%E6%88%B7%E8%B4%A1%E7%8C%AE/Yuhang"/>
	<updated>2026-04-15T16:01:17Z</updated>
	<subtitle>用户贡献</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=827</id>
		<title>使用手册 - 如何在核显工控机上运行地纹导航</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=827"/>
		<updated>2024-10-10T02:12:50Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1. 推荐配置 ===&lt;br /&gt;
由于核显性能与独显有差距，所以推荐使用高于以下配置的工控机&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!种类&lt;br /&gt;
!配置&lt;br /&gt;
|-&lt;br /&gt;
|cpu&lt;br /&gt;
|i5 1235u&lt;br /&gt;
|-&lt;br /&gt;
|内存&lt;br /&gt;
|物理双通道，16G，频率3200+&lt;br /&gt;
|}&lt;br /&gt;
由于核显使用内存作为显存，所以需要频率较高的内存。当内存为物理双通道时，锐炬核显才能正常发挥性能。&lt;br /&gt;
&lt;br /&gt;
核显驱动需更新至最新，时间久远的驱动已确定会对地纹性能造成影响&lt;br /&gt;
&lt;br /&gt;
=== 2.文件下载 ===&lt;br /&gt;
使用核显地纹时，需要若干与intel核显相关库文件，可以直接从以下链接下载，然后将detour.exe替换为最新即可&lt;br /&gt;
&lt;br /&gt;
链接：&amp;lt;nowiki&amp;gt;https://pan.baidu.com/s/1EylzB48ABhnv0xJrElnWPA?pwd=frld&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
提取码：frld&lt;br /&gt;
&lt;br /&gt;
=== 3.使用地纹 ===&lt;br /&gt;
下载文件后，使用方法和独显使用地纹无差别，可直接添加相机及里程计使用&lt;br /&gt;
&lt;br /&gt;
=== 4.性能判断 ===&lt;br /&gt;
点击里程计-地面纹理导航-状态，可以看到GPU延迟，若地纹里程计数量只有一个，此时GPU延迟应为20左右（或更低），若延迟过高，可能是内存频率过低、发热降频等硬件性能问题&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=822</id>
		<title>使用手册 - 如何在核显工控机上运行地纹导航</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=822"/>
		<updated>2024-10-09T03:53:35Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1. 推荐配置 ===&lt;br /&gt;
由于核显性能与独显有差距，所以推荐使用高于以下配置的工控机&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!种类&lt;br /&gt;
!配置&lt;br /&gt;
|-&lt;br /&gt;
|cpu&lt;br /&gt;
|i5 1235u&lt;br /&gt;
|-&lt;br /&gt;
|内存&lt;br /&gt;
|物理双通道，16G，频率3200+&lt;br /&gt;
|}&lt;br /&gt;
由于核显使用内存作为显存，所以需要频率较高的内存。当内存为物理双通道时，锐炬核显才能正常发挥性能。&lt;br /&gt;
&lt;br /&gt;
=== 2.文件下载 ===&lt;br /&gt;
使用核显地纹时，需要若干与intel核显相关库文件，可以直接从以下链接下载，然后将detour.exe替换为最新即可&lt;br /&gt;
&lt;br /&gt;
链接：&amp;lt;nowiki&amp;gt;https://pan.baidu.com/s/1EylzB48ABhnv0xJrElnWPA?pwd=frld&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
提取码：frld&lt;br /&gt;
&lt;br /&gt;
=== 3.使用地纹 ===&lt;br /&gt;
下载文件后，使用方法和独显使用地纹无差别，可直接添加相机及里程计使用&lt;br /&gt;
&lt;br /&gt;
=== 4.性能判断 ===&lt;br /&gt;
点击里程计-地面纹理导航-状态，可以看到GPU延迟，若地纹里程计数量只有一个，此时GPU延迟应为20左右（或更低），若延迟过高，可能是内存频率过低、发热降频等硬件性能问题&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=821</id>
		<title>使用手册 - 如何在核显工控机上运行地纹导航</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%A6%82%E4%BD%95%E5%9C%A8%E6%A0%B8%E6%98%BE%E5%B7%A5%E6%8E%A7%E6%9C%BA%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA&amp;diff=821"/>
		<updated>2024-10-08T08:59:05Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“=== 1. 推荐配置 === 由于核显性能与独显有差距，所以推荐使用高于以下配置的工控机 {| class=&amp;quot;wikitable&amp;quot; |+ !种类 !配置 |- |cpu |i5 1235u |- |内存 |物理双通道，16G，频率3200+ |} 由于核显使用内存作为显存，所以需要频率较高的内存。当内存为物理双通道时，锐炬核显才能正常发挥性能。  === 2.文件下载 === 使用核显地纹时，需要若干与intel核显相关库文件，可…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1. 推荐配置 ===&lt;br /&gt;
由于核显性能与独显有差距，所以推荐使用高于以下配置的工控机&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!种类&lt;br /&gt;
!配置&lt;br /&gt;
|-&lt;br /&gt;
|cpu&lt;br /&gt;
|i5 1235u&lt;br /&gt;
|-&lt;br /&gt;
|内存&lt;br /&gt;
|物理双通道，16G，频率3200+&lt;br /&gt;
|}&lt;br /&gt;
由于核显使用内存作为显存，所以需要频率较高的内存。当内存为物理双通道时，锐炬核显才能正常发挥性能。&lt;br /&gt;
&lt;br /&gt;
=== 2.文件下载 ===&lt;br /&gt;
使用核显地纹时，需要若干与intel核显相关库文件，可以直接从以下链接下载，然后将detour.exe替换为最新即可&lt;br /&gt;
&lt;br /&gt;
链接：&amp;lt;nowiki&amp;gt;https://pan.baidu.com/s/1EylzB48ABhnv0xJrElnWPA?pwd=frld&amp;lt;/nowiki&amp;gt; &lt;br /&gt;
&lt;br /&gt;
提取码：frld&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=820</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=820"/>
		<updated>2024-10-08T08:48:23Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
MDCS是一个机器人的开发平台，包括以下组件。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
* Medulla：高效的硬件通信、控制和抽象平台。&lt;br /&gt;
* Detour：定位系统，内置激光雷达和视觉SLAM等。&lt;br /&gt;
* Clumsy：机器人运动指令平台，内置AGV/AMR的典型运动能力。&lt;br /&gt;
* Simple：机器人集群管理系统，核心为交通控制和寻路。&lt;br /&gt;
* CycleGUI：回合式交互GUI框架，可在任何算法中随时提交协程由CycleGUI托管界面，协程仅在需要刷新界面时调用，效率很高。&lt;br /&gt;
* DIVER(Dotnet Integrated Vehicle Runtime): 是一个专门用于载具控制系统的.NET运行环境，可将C#程序开发的Medulla下位硬件控制程序无痛地运行在MCU中。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
更详细地综述见：[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]  [[特殊:我的语言/MDCS概述|&amp;lt;s&amp;gt;MDCS概述&amp;lt;/s&amp;gt;]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
== 基本介绍 ==&lt;br /&gt;
&lt;br /&gt;
'''定位系统'''：AGV的定位是由独立模块《Detour》完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[特殊:我的语言/具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[特殊:我的语言/地纹SLAM|地纹SLAM]]、[[特殊:我的语言/天花板SLAM|天花板SLAM]]、[[特殊:我的语言/二维码识别导航|二维码导航]]等，支持[[特殊:我的语言/多定位源的自动综合|多定位源的自动综合]]。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
'''AGV车载系统'''：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成并对功能定义；二者原理见[[特殊:我的语言/车体抽象原理|车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[特殊:我的语言/巡线行走|巡线行走]]、[[特殊:我的语言/绕障行走|绕障行走]]等，复杂一些的例子如[[特殊:我的语言/自动识别工位并取放货|自动识别工位并取放货]]、[[特殊:我的语言/自动识别托盘取放货|自动识别托盘取放货]]、[[特殊:我的语言/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]、[[特殊:我的语言/联动天眼系统进行装卸车|联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
'''车队调度'''：交管、寻路、包络、可达性分析等内核算法由SimpleCore提供，其原理参见[[特殊:我的语言/调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景编程声明寻路规则、运行脚本、包络、可达性需求等。对调度的运行原理参见：[[特殊:我的语言/AGV任务运行逻辑|AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 快速开始 ==&lt;br /&gt;
&lt;br /&gt;
'''定位'''&lt;br /&gt;
&lt;br /&gt;
如果您有Detour使用经验，请阅读 [[特殊:我的语言/下载并部署Detour|下载并部署Detour]] 快速开始。如果您首次使用Detour，请阅读详细教程：首先是 [[特殊:我的语言/安装Detour|安装Detour]] ，然后 [[标定激光雷达外参]] ，然后 [[激光SLAM建图]] ，用于优化地图的 [[激光地图编辑指南]] ，最后 使用激光SLAM功能 。&lt;br /&gt;
&lt;br /&gt;
'''整车适配'''&lt;br /&gt;
&lt;br /&gt;
对于需要做整车适配的读者，请阅读以下文章。&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]]、[[特殊:我的语言/叉车适配案例|叉车(牵引车)适配案例]]、[[特殊:我的语言/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]]、[[特殊:我的语言/全向车适配案例|全向车适配案例]]、[[特殊:我的语言/牵引车适配案例|双阿克曼车型适配案例]]&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
&lt;br /&gt;
=== 通识和入门教学 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[Detour简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS简介|使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/激光SLAM的能力边界|激光SLAM的能力边界]]&lt;br /&gt;
&lt;br /&gt;
=== 定位导航相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 定位导航|使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[激光SLAM建图|使用手册 - 激光SLAM建图]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光SLAM＋反光板建图手册|使用手册 - 激光SLAM+反光板建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 分析定位问题|使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光＋纹理导航|使用手册 - 激光+纹理导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Detour车体编辑器使用教学|使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 双雷达标定手册|使用手册 - 双雷达标定手册]] / [[特殊:我的语言/标定双激光雷达外参|标定双激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 在地纹导航中使用二维码快速找回定位|使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/标定激光雷达外参|标定激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 如何在核显工控机上运行地纹导航]]&lt;br /&gt;
&lt;br /&gt;
[[激光雷达选型测试报告]]&lt;br /&gt;
&lt;br /&gt;
=== 运动控制使用手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用自动对准料架功能|使用自动对准料架功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车料架堆叠功能|使用叉车料架堆叠功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/色带和磁条导航|色带和磁条导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/纯二维码导航|纯二维码导航]]&lt;br /&gt;
&lt;br /&gt;
=== 调度相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 车队管控|使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS软件部署方法介绍|使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple软件文件管理标准化作业|使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配流程说明|使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配详细说明|使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple图层合并手册|使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 寻路启发器功能|使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 更多交管细节用法|使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 劫持用法|使用手册 - 劫持用法]](用于中途更改路线)&lt;br /&gt;
&lt;br /&gt;
[[可达性状态编程|使用手册 - 可达性状态编程（用于如驶入式巷道叉车避免前车放货后影响后车运行等场景）]]&lt;br /&gt;
&lt;br /&gt;
=== 二次开发相关说明 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何适配新的雷达|如何适配新的雷达]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用CycleGUI快速开发UI界面|如何使用CycleGUI快速开发UI界面]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用LessokajiWeaver的多语言功能|如何使用LessokajiWeaver的多语言功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 轨迹跟踪|开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 目标跟踪|开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - SimpleComposer界面开发 - CAD工具|开发手册 - SimpleComposer界面开发 - CAD工具]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[如何基于SimpleCore核心库进行调度系统开发]]&lt;br /&gt;
&lt;br /&gt;
=== 杂项 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何查看工控机性能以及功耗墙|如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 数据录制与回放手册|使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署配置和操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[Detour版本发布记录]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/待整理的杂项内容|待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 技术报告 ==&lt;br /&gt;
&lt;br /&gt;
* MDCS架构&lt;br /&gt;
** Medulla软件架构&lt;br /&gt;
** Detour软件架构&lt;br /&gt;
*** Detour激光SLAM算法详解&lt;br /&gt;
*** Detour地面纹理SLAM算法详解&lt;br /&gt;
** Simple软件架构&lt;br /&gt;
*** [[特殊:我的语言/调度内核运行原理|调度内核运行原理]]&lt;br /&gt;
**** 基于预先规划交管算法：[[特殊:我的语言/DPS调度算法详解|DPS调度算法详解]]&lt;br /&gt;
**** 流场规划&lt;br /&gt;
*** 基于网络流的业务规划器&lt;br /&gt;
* LessokajiWeaver编译后处理工具&lt;br /&gt;
* CycleGUI&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/定位导航|定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 特殊技术方案 ==&lt;br /&gt;
&lt;br /&gt;
当前MDCS的特殊技术方案包括：[[特殊:我的语言/托盘识别|托盘识别]]、[[特殊:我的语言/双车/多车联动|双车/多车联动]]、[[特殊:我的语言/汽车面差检测|汽车面差检测]]、[[特殊:我的语言/天眼系统|天眼系统]]、[[特殊:我的语言/自动装卸车应用|自动装卸车应用]]、[[特殊:我的语言/复合卷料机械手叉车|复合卷料机械手叉车]]、[[特殊:我的语言/清洁机器人|清洁机器人]]、[[特殊:我的语言/设备跟随联动|设备跟随联动]]。其它技术方案还在进一步补充中。&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;br /&gt;
__无目录__&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=819</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=819"/>
		<updated>2024-10-08T08:47:54Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
MDCS是一个机器人的开发平台，包括以下组件。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
* Medulla：高效的硬件通信、控制和抽象平台。&lt;br /&gt;
* Detour：定位系统，内置激光雷达和视觉SLAM等。&lt;br /&gt;
* Clumsy：机器人运动指令平台，内置AGV/AMR的典型运动能力。&lt;br /&gt;
* Simple：机器人集群管理系统，核心为交通控制和寻路。&lt;br /&gt;
* CycleGUI：回合式交互GUI框架，可在任何算法中随时提交协程由CycleGUI托管界面，协程仅在需要刷新界面时调用，效率很高。&lt;br /&gt;
* DIVER(Dotnet Integrated Vehicle Runtime): 是一个专门用于载具控制系统的.NET运行环境，可将C#程序开发的Medulla下位硬件控制程序无痛地运行在MCU中。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
更详细地综述见：[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]  [[特殊:我的语言/MDCS概述|&amp;lt;s&amp;gt;MDCS概述&amp;lt;/s&amp;gt;]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
== 基本介绍 ==&lt;br /&gt;
&lt;br /&gt;
'''定位系统'''：AGV的定位是由独立模块《Detour》完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[特殊:我的语言/具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[特殊:我的语言/地纹SLAM|地纹SLAM]]、[[特殊:我的语言/天花板SLAM|天花板SLAM]]、[[特殊:我的语言/二维码识别导航|二维码导航]]等，支持[[特殊:我的语言/多定位源的自动综合|多定位源的自动综合]]。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
'''AGV车载系统'''：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成并对功能定义；二者原理见[[特殊:我的语言/车体抽象原理|车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[特殊:我的语言/巡线行走|巡线行走]]、[[特殊:我的语言/绕障行走|绕障行走]]等，复杂一些的例子如[[特殊:我的语言/自动识别工位并取放货|自动识别工位并取放货]]、[[特殊:我的语言/自动识别托盘取放货|自动识别托盘取放货]]、[[特殊:我的语言/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]、[[特殊:我的语言/联动天眼系统进行装卸车|联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
'''车队调度'''：交管、寻路、包络、可达性分析等内核算法由SimpleCore提供，其原理参见[[特殊:我的语言/调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景编程声明寻路规则、运行脚本、包络、可达性需求等。对调度的运行原理参见：[[特殊:我的语言/AGV任务运行逻辑|AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 快速开始 ==&lt;br /&gt;
&lt;br /&gt;
'''定位'''&lt;br /&gt;
&lt;br /&gt;
如果您有Detour使用经验，请阅读 [[特殊:我的语言/下载并部署Detour|下载并部署Detour]] 快速开始。如果您首次使用Detour，请阅读详细教程：首先是 [[特殊:我的语言/安装Detour|安装Detour]] ，然后 [[标定激光雷达外参]] ，然后 [[激光SLAM建图]] ，用于优化地图的 [[激光地图编辑指南]] ，最后 使用激光SLAM功能 。&lt;br /&gt;
&lt;br /&gt;
'''整车适配'''&lt;br /&gt;
&lt;br /&gt;
对于需要做整车适配的读者，请阅读以下文章。&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]]、[[特殊:我的语言/叉车适配案例|叉车(牵引车)适配案例]]、[[特殊:我的语言/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]]、[[特殊:我的语言/全向车适配案例|全向车适配案例]]、[[特殊:我的语言/牵引车适配案例|双阿克曼车型适配案例]]&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
&lt;br /&gt;
=== 通识和入门教学 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[Detour简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS简介|使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/激光SLAM的能力边界|激光SLAM的能力边界]]&lt;br /&gt;
&lt;br /&gt;
=== 定位导航相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 定位导航|使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[激光SLAM建图|使用手册 - 激光SLAM建图]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光SLAM＋反光板建图手册|使用手册 - 激光SLAM+反光板建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 分析定位问题|使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光＋纹理导航|使用手册 - 激光+纹理导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Detour车体编辑器使用教学|使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 双雷达标定手册|使用手册 - 双雷达标定手册]] / [[特殊:我的语言/标定双激光雷达外参|标定双激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 在地纹导航中使用二维码快速找回定位|使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/标定激光雷达外参|标定激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 如何在核显工控机上运行地纹导航]]&lt;br /&gt;
&lt;br /&gt;
[[激光雷达选型测试报告]]&lt;br /&gt;
&lt;br /&gt;
=== 运动控制使用手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用自动对准料架功能|使用自动对准料架功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车料架堆叠功能|使用叉车料架堆叠功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/色带和磁条导航|色带和磁条导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/纯二维码导航|纯二维码导航]]&lt;br /&gt;
&lt;br /&gt;
=== 调度相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 车队管控|使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS软件部署方法介绍|使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple软件文件管理标准化作业|使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配流程说明|使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配详细说明|使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple图层合并手册|使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 寻路启发器功能|使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 更多交管细节用法|使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 劫持用法|使用手册 - 劫持用法]](用于中途更改路线)&lt;br /&gt;
&lt;br /&gt;
[[可达性状态编程|使用手册 - 可达性状态编程（用于如驶入式巷道叉车避免前车放货后影响后车运行等场景）]]&lt;br /&gt;
&lt;br /&gt;
=== 二次开发相关说明 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何适配新的雷达|如何适配新的雷达]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用CycleGUI快速开发UI界面|如何使用CycleGUI快速开发UI界面]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用LessokajiWeaver的多语言功能|如何使用LessokajiWeaver的多语言功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 轨迹跟踪|开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 目标跟踪|开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - SimpleComposer界面开发 - CAD工具|开发手册 - SimpleComposer界面开发 - CAD工具]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[如何基于SimpleCore核心库进行调度系统开发]]&lt;br /&gt;
&lt;br /&gt;
=== 杂项 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何查看工控机性能以及功耗墙|如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 数据录制与回放手册|使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署配置和操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[Detour版本发布记录]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/待整理的杂项内容|待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 技术报告 ==&lt;br /&gt;
&lt;br /&gt;
* MDCS架构&lt;br /&gt;
** Medulla软件架构&lt;br /&gt;
** Detour软件架构&lt;br /&gt;
*** Detour激光SLAM算法详解&lt;br /&gt;
*** Detour地面纹理SLAM算法详解&lt;br /&gt;
** Simple软件架构&lt;br /&gt;
*** [[特殊:我的语言/调度内核运行原理|调度内核运行原理]]&lt;br /&gt;
**** 基于预先规划交管算法：[[特殊:我的语言/DPS调度算法详解|DPS调度算法详解]]&lt;br /&gt;
**** 流场规划&lt;br /&gt;
*** 基于网络流的业务规划器&lt;br /&gt;
* LessokajiWeaver编译后处理工具&lt;br /&gt;
* CycleGUI&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/定位导航|定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 特殊技术方案 ==&lt;br /&gt;
&lt;br /&gt;
当前MDCS的特殊技术方案包括：[[特殊:我的语言/托盘识别|托盘识别]]、[[特殊:我的语言/双车/多车联动|双车/多车联动]]、[[特殊:我的语言/汽车面差检测|汽车面差检测]]、[[特殊:我的语言/天眼系统|天眼系统]]、[[特殊:我的语言/自动装卸车应用|自动装卸车应用]]、[[特殊:我的语言/复合卷料机械手叉车|复合卷料机械手叉车]]、[[特殊:我的语言/清洁机器人|清洁机器人]]、[[特殊:我的语言/设备跟随联动|设备跟随联动]]。其它技术方案还在进一步补充中。&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;br /&gt;
__无目录__&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%E6%BF%80%E5%85%89%E3%80%81%E5%9C%B0%E7%BA%B9%E3%80%81%E4%BA%8C%E7%BB%B4%E7%A0%81%E3%80%81%E8%BD%AE%E7%BC%96%E9%87%8C%E7%A8%8B%E8%AE%A1%E5%92%8CIMU%E8%BF%9B%E8%A1%8C%E9%B2%81%E6%A3%92%E5%AE%9A%E4%BD%8D&amp;diff=701</id>
		<title>使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%90%8C%E6%97%B6%E4%BD%BF%E7%94%A8%E6%BF%80%E5%85%89%E3%80%81%E5%9C%B0%E7%BA%B9%E3%80%81%E4%BA%8C%E7%BB%B4%E7%A0%81%E3%80%81%E8%BD%AE%E7%BC%96%E9%87%8C%E7%A8%8B%E8%AE%A1%E5%92%8CIMU%E8%BF%9B%E8%A1%8C%E9%B2%81%E6%A3%92%E5%AE%9A%E4%BD%8D&amp;diff=701"/>
		<updated>2024-06-17T07:18:35Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“=== 1.为什么要使用如此多的里程计 === 由于detour中tc(紧耦合)，参与的里程计越多，小车的定位就会越稳定、越平滑，所以希望能够有足够多的里程计参与其中。  激光的优点在于，视野大，并且可以从可视化中轻易看出小车目前所在位置，但是缺点是在高动态环境或无明显几何特征的环境中，定位会变得不稳定。  地纹的有点在于精度非常高，但是范…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1.为什么要使用如此多的里程计 ===&lt;br /&gt;
由于detour中tc(紧耦合)，参与的里程计越多，小车的定位就会越稳定、越平滑，所以希望能够有足够多的里程计参与其中。&lt;br /&gt;
&lt;br /&gt;
激光的优点在于，视野大，并且可以从可视化中轻易看出小车目前所在位置，但是缺点是在高动态环境或无明显几何特征的环境中，定位会变得不稳定。&lt;br /&gt;
&lt;br /&gt;
地纹的有点在于精度非常高，但是范围小，且脱离图层范围之后，难以快速重新重定位。&lt;br /&gt;
&lt;br /&gt;
二维码的优点在于，可以快速恢复定位，但是若大规模使用，施工量大，且柔性不足。&lt;br /&gt;
&lt;br /&gt;
轮里程计的有点在于，稳定，不受环境影响，缺点是打滑会产生影响，且无法回环消除误差。&lt;br /&gt;
&lt;br /&gt;
所以将以上所有里程计同时使用，进行鲁棒定位&lt;br /&gt;
&lt;br /&gt;
=== 2.部署多个定位源 ===&lt;br /&gt;
激光和地纹部署，在wiki的[[使用手册 - 激光＋纹理导航|其它文章]]中已有说明，此处不做赘述，二维码部署也有[[使用手册 - 在地纹导航中使用二维码快速找回定位|详细说明]]，此处重点讲如何部署轮里程计&lt;br /&gt;
&lt;br /&gt;
轮里程计需要通过车轮编码器、imu数据进行积分，得出一个完整的位置，然后post给detour使用。&lt;br /&gt;
&lt;br /&gt;
首先在medulla中创建用于上传数据的类&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 public partial class TightCoupler&lt;br /&gt;
 {&lt;br /&gt;
     // Should put into medulla.&lt;br /&gt;
     public static SharedObject externalFeed;&lt;br /&gt;
     public static void PostExternalFeed(ExternalFeed obj, string name)&lt;br /&gt;
     {&lt;br /&gt;
         externalFeed ??= new SharedObject(name);&lt;br /&gt;
         byte[] buf = new byte[1024];&lt;br /&gt;
         using Stream stream = new MemoryStream(buf);&lt;br /&gt;
         using BinaryWriter bw = new BinaryWriter(stream);&lt;br /&gt;
         bw.Write(obj.name);&lt;br /&gt;
         bw.Write(obj.counter);&lt;br /&gt;
         bw.Write(obj.hasTranslation);&lt;br /&gt;
         bw.Write(obj.hasRotation);&lt;br /&gt;
         bw.Write(obj.is3D);&lt;br /&gt;
         bw.Write(obj.is2D);&lt;br /&gt;
         bw.Write(obj.integrated);&lt;br /&gt;
         bw.Write(obj.toRemap);&lt;br /&gt;
         bw.Write(obj.startingTick);&lt;br /&gt;
         bw.Write(obj.x);&lt;br /&gt;
         bw.Write(obj.y);&lt;br /&gt;
         bw.Write(obj.z);&lt;br /&gt;
         bw.Write(obj.th);&lt;br /&gt;
         bw.Write(obj.pitch);&lt;br /&gt;
         bw.Write(obj.roll);&lt;br /&gt;
         externalFeed.Post(buf.Take((int)stream.Position).ToArray());&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
     public class ExternalFeed&lt;br /&gt;
     {&lt;br /&gt;
         // always aggregates.&lt;br /&gt;
         public string name;&lt;br /&gt;
         public long counter; // increment one per frame.&lt;br /&gt;
         public bool hasTranslation, hasRotation, is3D, is2D, integrated, toRemap;&lt;br /&gt;
         public long startingTick;&lt;br /&gt;
         public float x, y, z, th, pitch, roll;&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;由于上传的数据要求无重复，且轨迹平滑，所以直接在motorRoutine中进行处理，保证每次读到驱动器数据后进行一次上传。&lt;br /&gt;
&lt;br /&gt;
以差速轮底盘为例，进行轨迹计算。首先计算车轮在此次循环中走过的路程，单位使用毫米。由于是差速轮模型，所以车体此时的里程变换应该是左右轮变化量和的一半。&lt;br /&gt;
&lt;br /&gt;
然后使用此次循环imu数据和上次循环做差，得到此时间段车辆角度变换。&lt;br /&gt;
&lt;br /&gt;
然后在之前位置的基础上，加上此次位置变换，即不断对位置变化量做积分得到目前的位置，得到最新的位置，然后post给detour使用。&lt;br /&gt;
&lt;br /&gt;
ExternalFeed中数据含义如下表&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!名称&lt;br /&gt;
!h含义&lt;br /&gt;
|-&lt;br /&gt;
|name&lt;br /&gt;
|名称&lt;br /&gt;
|-&lt;br /&gt;
|x&lt;br /&gt;
|定位的x坐标&lt;br /&gt;
|-&lt;br /&gt;
|y&lt;br /&gt;
|定位的y坐标&lt;br /&gt;
|-&lt;br /&gt;
|th&lt;br /&gt;
|定位的th&lt;br /&gt;
|-&lt;br /&gt;
|hasTranslation&lt;br /&gt;
|定位信息中是否包含x、y（如纯imu就只有角度）&lt;br /&gt;
|-&lt;br /&gt;
|hasRotation&lt;br /&gt;
|定位信息中是否包含th（如纯gps只有坐标）&lt;br /&gt;
|-&lt;br /&gt;
|is2D&lt;br /&gt;
|是否是2D位姿&lt;br /&gt;
|-&lt;br /&gt;
|startingTick&lt;br /&gt;
|startingTick不变时，认为是一个连续的轨迹&lt;br /&gt;
|-&lt;br /&gt;
|counter&lt;br /&gt;
|计数，每个循环+1&lt;br /&gt;
|-&lt;br /&gt;
|integrated&lt;br /&gt;
|是否通过积分得到的位姿（轮里程计通过积分获得，gps是绝对位置）&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
var leftDelta = cart.ActualLeftWheelPos - lastLeftWheelEncoder;&lt;br /&gt;
var rightDelta = cart.ActualRightWheelPos - lastRightWheelEncoder;&lt;br /&gt;
var distanceDelta = (leftDelta + rightDelta) / 2f;&lt;br /&gt;
var thDelta = MathTools.thDiff((float)cart.GyrosTh, (float)lastGyro);&lt;br /&gt;
var moveTup = Tuple.Create(distanceDelta, 0f, thDelta);&lt;br /&gt;
var curMode = cart.NavigationMode;&lt;br /&gt;
var moved = MathTools.Transform2D(&lt;br /&gt;
    Tuple.Create(cart.InertialNavigationX, cart.InertialNavigationY,&lt;br /&gt;
        cart.InertialNavigationTh), moveTup);&lt;br /&gt;
cart.InertialNavigationX = moved.Item1;&lt;br /&gt;
cart.InertialNavigationY = moved.Item2;&lt;br /&gt;
cart.InertialNavigationTh = moved.Item3;&lt;br /&gt;
lastLeftWheelEncoder = cart.ActualLeftWheelPos;&lt;br /&gt;
lastRightWheelEncoder = cart.ActualRightWheelPos;&lt;br /&gt;
lastGyro = cart.GyrosTh;&lt;br /&gt;
&lt;br /&gt;
TightCoupler.PostExternalFeed(new TightCoupler.ExternalFeed()&lt;br /&gt;
    {&lt;br /&gt;
        name = &amp;quot;wheel&amp;quot;,&lt;br /&gt;
        x = cart.InertialNavigationX,&lt;br /&gt;
        y = cart.InertialNavigationY,&lt;br /&gt;
        th = cart.InertialNavigationTh,&lt;br /&gt;
        hasTranslation = true,&lt;br /&gt;
        hasRotation = true,&lt;br /&gt;
        is2D = true,&lt;br /&gt;
        startingTick = startTime,&lt;br /&gt;
        counter = counter++,&lt;br /&gt;
        integrated = true,&lt;br /&gt;
    }, &amp;quot;cart_odometry&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;此时就完成了轮里程计数据的上传，然后需要在detour中添加数据源来使用此数据。&lt;br /&gt;
&lt;br /&gt;
首先在detour车体布局中，添加外部定位源，并将name字段改为&amp;quot;cart_odometry&amp;quot;，将该定位源的x、y、th都改为0，然后点击动作中的捕捉，此时可以在状态中看到数据已经在跳动了。此时代表轮里程计已经参与到detour的tc计算中。&lt;br /&gt;
[[文件:C4e06e908e2e3f4c9223045ee89fd5d.png|居中|缩略图|500x500像素]]&lt;br /&gt;
&lt;br /&gt;
=== 3.耦合效果判定 ===&lt;br /&gt;
可以在detour-里程计-里程计状态中进行查看。&lt;br /&gt;
[[文件:954a68c5edbe408b7ef7293a7206706.png|居中|缩略图|500x500像素]]&lt;br /&gt;
需要在稳定的环境中进行测试，即激光、地纹、轮里程计都无外部影响。此时的现象应该是，多个里程计交替成为最好传感器，且没有传感器被频繁丢弃。&lt;br /&gt;
&lt;br /&gt;
=== 4.Q&amp;amp;A ===&lt;br /&gt;
Q：若轮里程计始终是最好传感器或轮里程计频繁被丢弃，会是什么原因&lt;br /&gt;
&lt;br /&gt;
A：detour判断最好传感器时，是根据此里程计提供的轨迹进行判断，轨迹越平滑、越合理，则会成为最好传感器。所以若轮里程计始终是最好传感器，需要查看轮里程计上传周期是否过于频繁，导致上传的轨迹”异常“的平滑和合理。一般将motorRoutine的扫描周期设为50ms，此时轮里程计也是50ms上传一次。若轮里程计被频繁丢弃，则需从两个方面检查，首先查看上传频率是否过低，导致位置虽然正确，但是不平滑，从而被detour丢弃。然后查看数据源是否正确，可以暂停其它里程计，仅使用轮里程计，通过Simple下发任务，看小车位置是否和激光提供的定位误差有多大。具体操作如下，在定位稳定的环境下建好激光地图，然后在一个点找到此时的激光定位（锁定到正确的关键帧），然后暂停激光里程计，通过simple下发任务，让小车进行行走、自旋、转弯等操作，然后记录此时位置，然后恢复激光里程计，再次找到此时的激光定位，记录此时位置，比较两次记录的位置是否有较大差异。&lt;br /&gt;
&lt;br /&gt;
Q：陀螺仪选型标准是什么&lt;br /&gt;
&lt;br /&gt;
A：笔者使用瑞芬tl740d进行测试，可以满足紧耦合要求，测试结果如下图，可作为参考，打码的为另一品牌陀螺仪&lt;br /&gt;
[[文件:618e4f05b59db604d4e312d6f0ef72b.png|居中|缩略图|600x600像素]]&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:618e4f05b59db604d4e312d6f0ef72b.png&amp;diff=700</id>
		<title>文件:618e4f05b59db604d4e312d6f0ef72b.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:618e4f05b59db604d4e312d6f0ef72b.png&amp;diff=700"/>
		<updated>2024-06-17T07:17:52Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;陀螺仪&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:954a68c5edbe408b7ef7293a7206706.png&amp;diff=688</id>
		<title>文件:954a68c5edbe408b7ef7293a7206706.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:954a68c5edbe408b7ef7293a7206706.png&amp;diff=688"/>
		<updated>2024-06-17T07:04:11Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;里程计&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:C4e06e908e2e3f4c9223045ee89fd5d.png&amp;diff=687</id>
		<title>文件:C4e06e908e2e3f4c9223045ee89fd5d.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:C4e06e908e2e3f4c9223045ee89fd5d.png&amp;diff=687"/>
		<updated>2024-06-17T07:00:05Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;外部定位源&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=686</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=686"/>
		<updated>2024-06-17T05:42:08Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 定位导航相关手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
MDCS是一个机器人的开发平台，包括以下组件。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
* Medulla：高效的硬件通信、控制和抽象平台。&lt;br /&gt;
* Detour：定位系统，内置激光雷达和视觉SLAM等。&lt;br /&gt;
* Clumsy：机器人运动指令平台，内置AGV/AMR的典型运动能力。&lt;br /&gt;
* Simple：机器人集群管理系统，核心为交通控制和寻路。&lt;br /&gt;
* CycleGUI：回合式交互GUI框架，可在任何算法中随时提交协程由CycleGUI托管界面，协程仅在需要刷新界面时调用，效率很高。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
更详细地综述见：[[特殊:我的语言/MDCS概述|MDCS概述]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
== 基本介绍 ==&lt;br /&gt;
&lt;br /&gt;
'''定位系统'''：AGV的定位是由独立模块《Detour》完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[特殊:我的语言/具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[特殊:我的语言/地纹SLAM|地纹SLAM]]、[[特殊:我的语言/天花板SLAM|天花板SLAM]]、[[特殊:我的语言/二维码识别导航|二维码导航]]等，支持[[特殊:我的语言/多定位源的自动综合|多定位源的自动综合]]。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
'''AGV车载系统'''：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成并对功能定义；二者原理见[[特殊:我的语言/车体抽象原理|车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[特殊:我的语言/巡线行走|巡线行走]]、[[特殊:我的语言/绕障行走|绕障行走]]等，复杂一些的例子如[[特殊:我的语言/自动识别工位并取放货|自动识别工位并取放货]]、[[特殊:我的语言/自动识别托盘取放货|自动识别托盘取放货]]、[[特殊:我的语言/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]、[[特殊:我的语言/联动天眼系统进行装卸车|联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
'''车队调度'''：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[特殊:我的语言/调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[特殊:我的语言/AGV任务运行逻辑|AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 快速开始 ==&lt;br /&gt;
&lt;br /&gt;
'''定位'''&lt;br /&gt;
&lt;br /&gt;
只关注定位导航功能的读者，请阅读：[[特殊:我的语言/下载并部署Detour|下载并部署Detour]]。若安装Detour有任何问题，可以看详细教程：[[特殊:我的语言/安装Detour|安装Detour]]。&lt;br /&gt;
&lt;br /&gt;
'''整车适配'''&lt;br /&gt;
&lt;br /&gt;
对于需要做整车适配的读者，请阅读以下文章。&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]]、[[特殊:我的语言/叉车适配案例|叉车适配案例]]、[[特殊:我的语言/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]]、[[特殊:我的语言/全向车适配案例|全向车适配案例]]、[[特殊:我的语言/牵引车适配案例|牵引车适配案例]]&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
&lt;br /&gt;
=== 通识和入门教学 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS简介|使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/激光SLAM的能力边界|激光SLAM的能力边界]]&lt;br /&gt;
&lt;br /&gt;
=== 定位导航相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 定位导航|使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光SLAM＋反光板建图手册|使用手册 - 激光SLAM+反光板建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 分析定位问题|使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光＋纹理导航|使用手册 - 激光+纹理导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Detour车体编辑器使用教学|使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 双雷达标定手册|使用手册 - 双雷达标定手册]] / [[特殊:我的语言/标定双激光雷达外参|标定双激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 在地纹导航中使用二维码快速找回定位|使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/标定激光雷达外参|标定激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
=== 运动控制使用手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用自动对准料架功能|使用自动对准料架功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车料架堆叠功能|使用叉车料架堆叠功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/色带和磁条导航|色带和磁条导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/纯二维码导航|纯二维码导航]]&lt;br /&gt;
&lt;br /&gt;
=== 调度相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 车队管控|使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS软件部署方法介绍|使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple软件文件管理标准化作业|使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配流程说明|使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配详细说明|使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple图层合并手册|使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 寻路启发器功能|使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 更多交管细节用法|使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 劫持用法|使用手册 - 劫持用法]](用于中途更改路线)&lt;br /&gt;
&lt;br /&gt;
=== 二次开发相关说明 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何适配新的雷达|如何适配新的雷达]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用CycleGUI快速开发UI界面|如何使用CycleGUI快速开发UI界面]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用LessokajiWeaver的多语言功能|如何使用LessokajiWeaver的多语言功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 轨迹跟踪|开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 目标跟踪|开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - SimpleComposer界面开发 - CAD工具|开发手册 - SimpleComposer界面开发 - CAD工具]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
=== 杂项 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何查看工控机性能以及功耗墙|如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 数据录制与回放手册|使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[Special:MyLanguage/index.php?title=使用手册 - Linux MDCS部署&amp;amp;配置=&amp;amp;操作说明=|使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/待整理的杂项内容|待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 技术报告 ==&lt;br /&gt;
&lt;br /&gt;
* MDCS架构&lt;br /&gt;
** Medulla软件架构&lt;br /&gt;
** Detour软件架构&lt;br /&gt;
*** Detour激光SLAM算法详解&lt;br /&gt;
*** Detour地面纹理SLAM算法详解&lt;br /&gt;
** Simple软件架构&lt;br /&gt;
*** [[特殊:我的语言/调度内核运行原理|调度内核运行原理]]&lt;br /&gt;
**** 基于预先规划交管算法：[[特殊:我的语言/DPS调度算法详解|DPS调度算法详解]]&lt;br /&gt;
*** 基于网络流的业务规划器&lt;br /&gt;
* LessokajiWeaver编译后处理工具&lt;br /&gt;
* CycleGUI&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/定位导航|定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 特殊技术方案 ==&lt;br /&gt;
&lt;br /&gt;
当前MDCS的特殊技术方案包括：[[特殊:我的语言/托盘识别|托盘识别]]、[[特殊:我的语言/双车/多车联动|双车/多车联动]]、[[特殊:我的语言/汽车面差检测|汽车面差检测]]、[[特殊:我的语言/天眼系统|天眼系统]]、[[特殊:我的语言/自动装卸车应用|自动装卸车应用]]、[[特殊:我的语言/复合卷料机械手叉车|复合卷料机械手叉车]]、[[特殊:我的语言/清洁机器人|清洁机器人]]、[[特殊:我的语言/设备跟随联动|设备跟随联动]]。其它技术方案还在进一步补充中。&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;br /&gt;
__无目录__&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=685</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=685"/>
		<updated>2024-06-17T05:40:57Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 定位导航相关手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
MDCS是一个机器人的开发平台，包括以下组件。&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
* Medulla：高效的硬件通信、控制和抽象平台。&lt;br /&gt;
* Detour：定位系统，内置激光雷达和视觉SLAM等。&lt;br /&gt;
* Clumsy：机器人运动指令平台，内置AGV/AMR的典型运动能力。&lt;br /&gt;
* Simple：机器人集群管理系统，核心为交通控制和寻路。&lt;br /&gt;
* CycleGUI：回合式交互GUI框架，可在任何算法中随时提交协程由CycleGUI托管界面，协程仅在需要刷新界面时调用，效率很高。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
更详细地综述见：[[特殊:我的语言/MDCS概述|MDCS概述]]&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
== 基本介绍 ==&lt;br /&gt;
&lt;br /&gt;
'''定位系统'''：AGV的定位是由独立模块《Detour》完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[特殊:我的语言/具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[特殊:我的语言/地纹SLAM|地纹SLAM]]、[[特殊:我的语言/天花板SLAM|天花板SLAM]]、[[特殊:我的语言/二维码识别导航|二维码导航]]等，支持[[特殊:我的语言/多定位源的自动综合|多定位源的自动综合]]。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
'''AGV车载系统'''：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成并对功能定义；二者原理见[[特殊:我的语言/车体抽象原理|车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[特殊:我的语言/巡线行走|巡线行走]]、[[特殊:我的语言/绕障行走|绕障行走]]等，复杂一些的例子如[[特殊:我的语言/自动识别工位并取放货|自动识别工位并取放货]]、[[特殊:我的语言/自动识别托盘取放货|自动识别托盘取放货]]、[[特殊:我的语言/识别料框并堆垛拆垛|识别料框并堆垛拆垛]]、[[特殊:我的语言/联动天眼系统进行装卸车|联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
'''车队调度'''：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[特殊:我的语言/调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[特殊:我的语言/AGV任务运行逻辑|AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 快速开始 ==&lt;br /&gt;
&lt;br /&gt;
'''定位'''&lt;br /&gt;
&lt;br /&gt;
只关注定位导航功能的读者，请阅读：[[特殊:我的语言/下载并部署Detour|下载并部署Detour]]。若安装Detour有任何问题，可以看详细教程：[[特殊:我的语言/安装Detour|安装Detour]]。&lt;br /&gt;
&lt;br /&gt;
'''整车适配'''&lt;br /&gt;
&lt;br /&gt;
对于需要做整车适配的读者，请阅读以下文章。&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS引擎适配机器人入门教学|MDCS引擎适配机器人入门教学]]、[[特殊:我的语言/叉车适配案例|叉车适配案例]]、[[特殊:我的语言/潜伏顶升车(KIVA类小车)适配案例|潜伏顶升车(KIVA类小车)适配案例]]、[[特殊:我的语言/全向车适配案例|全向车适配案例]]、[[特殊:我的语言/牵引车适配案例|牵引车适配案例]]&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
&lt;br /&gt;
=== 通识和入门教学 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/MDCS-Walkthrough|MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS简介|使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/激光SLAM的能力边界|激光SLAM的能力边界]]&lt;br /&gt;
&lt;br /&gt;
=== 定位导航相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 定位导航|使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光SLAM＋反光板建图手册|使用手册 - 激光SLAM+反光板建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 分析定位问题|使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 激光＋纹理导航|使用手册 - 激光+纹理导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Detour车体编辑器使用教学|使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 双雷达标定手册|使用手册 - 双雷达标定手册]] / [[特殊:我的语言/标定双激光雷达外参|标定双激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 在地纹导航中使用二维码快速找回定位|使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 同时使用激光、地温、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/标定激光雷达外参|标定激光雷达外参]]&lt;br /&gt;
&lt;br /&gt;
=== 运动控制使用手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车自动取托盘功能|使用叉车自动取托盘功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用自动对准料架功能|使用自动对准料架功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用叉车料架堆叠功能|使用叉车料架堆叠功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/色带和磁条导航|色带和磁条导航]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/纯二维码导航|纯二维码导航]]&lt;br /&gt;
&lt;br /&gt;
=== 调度相关手册 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 车队管控|使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS软件部署方法介绍|使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple软件文件管理标准化作业|使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配流程说明|使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - MDCS适配详细说明|使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - Simple图层合并手册|使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 寻路启发器功能|使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 更多交管细节用法|使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 劫持用法|使用手册 - 劫持用法]](用于中途更改路线)&lt;br /&gt;
&lt;br /&gt;
=== 二次开发相关说明 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何适配新的雷达|如何适配新的雷达]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用CycleGUI快速开发UI界面|如何使用CycleGUI快速开发UI界面]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何使用LessokajiWeaver的多语言功能|如何使用LessokajiWeaver的多语言功能]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 轨迹跟踪|开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - 目标跟踪|开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/开发手册 - SimpleComposer界面开发 - CAD工具|开发手册 - SimpleComposer界面开发 - CAD工具]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
=== 杂项 ===&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/如何查看工控机性能以及功耗墙|如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/使用手册 - 数据录制与回放手册|使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[Special:MyLanguage/index.php?title=使用手册 - Linux MDCS部署&amp;amp;配置=&amp;amp;操作说明=|使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/FAQ|FAQ]]&lt;br /&gt;
&lt;br /&gt;
Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/待整理的杂项内容|待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 技术报告 ==&lt;br /&gt;
&lt;br /&gt;
* MDCS架构&lt;br /&gt;
** Medulla软件架构&lt;br /&gt;
** Detour软件架构&lt;br /&gt;
*** Detour激光SLAM算法详解&lt;br /&gt;
*** Detour地面纹理SLAM算法详解&lt;br /&gt;
** Simple软件架构&lt;br /&gt;
*** [[特殊:我的语言/调度内核运行原理|调度内核运行原理]]&lt;br /&gt;
**** 基于预先规划交管算法：[[特殊:我的语言/DPS调度算法详解|DPS调度算法详解]]&lt;br /&gt;
*** 基于网络流的业务规划器&lt;br /&gt;
* LessokajiWeaver编译后处理工具&lt;br /&gt;
* CycleGUI&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[特殊:我的语言/定位导航|定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 特殊技术方案 ==&lt;br /&gt;
&lt;br /&gt;
当前MDCS的特殊技术方案包括：[[特殊:我的语言/托盘识别|托盘识别]]、[[特殊:我的语言/双车/多车联动|双车/多车联动]]、[[特殊:我的语言/汽车面差检测|汽车面差检测]]、[[特殊:我的语言/天眼系统|天眼系统]]、[[特殊:我的语言/自动装卸车应用|自动装卸车应用]]、[[特殊:我的语言/复合卷料机械手叉车|复合卷料机械手叉车]]、[[特殊:我的语言/清洁机器人|清洁机器人]]、[[特殊:我的语言/设备跟随联动|设备跟随联动]]。其它技术方案还在进一步补充中。&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;br /&gt;
__无目录__&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%8A%AB%E6%8C%81%E7%94%A8%E6%B3%95&amp;diff=538</id>
		<title>使用手册 - 劫持用法</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%8A%AB%E6%8C%81%E7%94%A8%E6%B3%95&amp;diff=538"/>
		<updated>2024-04-09T07:16:50Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“=== 1.功能介绍： === 使小车在运行途中改变原先的路线，通过指定劫持的起点和终点，在小车到达劫持起点时，改变路线最终前往劫持终点。  如下图所示，车辆原本路线是前往右侧的点，此时通过劫持，指定劫持起点为分叉路口的点，终点为右上方的点，则小车路线变为前往右上方点 600x600像素 文件:Fb8c…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1.功能介绍： ===&lt;br /&gt;
使小车在运行途中改变原先的路线，通过指定劫持的起点和终点，在小车到达劫持起点时，改变路线最终前往劫持终点。&lt;br /&gt;
&lt;br /&gt;
如下图所示，车辆原本路线是前往右侧的点，此时通过劫持，指定劫持起点为分叉路口的点，终点为右上方的点，则小车路线变为前往右上方点&lt;br /&gt;
[[文件:48ad20c77e4f1b66f6da4817f2e642f.png|居中|无框|600x600像素]]&lt;br /&gt;
[[文件:Fb8cb265f1fe7388e8b719015dbf20a.png|居中|无框|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
=== 2.使用方法及注意点 ===&lt;br /&gt;
&lt;br /&gt;
==== 2.1 clumsy准备 ====&lt;br /&gt;
首先替换最新支持劫持的clumsy核心。&lt;br /&gt;
&lt;br /&gt;
需要将clumsy工程中agv.cs下的动作改为静态，如差速轮行走动作：&amp;lt;code&amp;gt;public static LeftRightWheelTracking driver&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 2.2 simple准备 ====&lt;br /&gt;
在simple中增加以下测试代码&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
[MethodMember(name = &amp;quot;劫持&amp;quot;, desc = &amp;quot;指定一个起点和终点，当小车到达起点后劫持小车至终点&amp;quot;)]&lt;br /&gt;
public void Hijack()&lt;br /&gt;
{&lt;br /&gt;
    async void HijackFun()&lt;br /&gt;
    {&lt;br /&gt;
        G.pushStatus(&amp;quot;Select starting point&amp;quot;);&lt;br /&gt;
        var pt1 = await Program.UI.getPoint(new UIOps.getPointOptions() { site = true });&lt;br /&gt;
        G.pushStatus(&amp;quot;Select ending point&amp;quot;);&lt;br /&gt;
        var pt2 = await Program.UI.getPoint(new UIOps.getPointOptions() { site = true });&lt;br /&gt;
        if (GetLastSite() == -1)&lt;br /&gt;
        {&lt;br /&gt;
            G.pushStatus(&amp;quot;Car not initialized to any site&amp;quot;);&lt;br /&gt;
            return;&lt;br /&gt;
        }&lt;br /&gt;
&lt;br /&gt;
        try&lt;br /&gt;
        {&lt;br /&gt;
            var plan = new SegmentPlan() { usingCar = this };&lt;br /&gt;
            plan.FindRoute(SimpleLib.GetSite(pt1.site), SimpleLib.GetSite(pt2.site), false);&lt;br /&gt;
            await plan.Compile(&amp;quot;hijack&amp;quot;, false).TryHijack().Queue();&lt;br /&gt;
            Console.WriteLine(&amp;quot;Done&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        catch (Exception e)&lt;br /&gt;
        {&lt;br /&gt;
            Console.WriteLine(e);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
&lt;br /&gt;
    Task.Run(HijackFun);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;此时在车辆行走时，就可以使用该按钮进行劫持。&lt;br /&gt;
&lt;br /&gt;
==== 2.3 注意点 ====&lt;br /&gt;
&lt;br /&gt;
# 劫持起点只能选择还未被车上锁的点；&lt;br /&gt;
# 若在右击站点即simpleMove时进行劫持，则小车到达劫持起点后，前往劫持终点；&lt;br /&gt;
# 若在cdm任务中进行劫持，则从劫持起点后所有路线都废弃，前往劫持终点，即在取货路途中进行劫持，放货动作也不会执行。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:Fb8cb265f1fe7388e8b719015dbf20a.png&amp;diff=535</id>
		<title>文件:Fb8cb265f1fe7388e8b719015dbf20a.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:Fb8cb265f1fe7388e8b719015dbf20a.png&amp;diff=535"/>
		<updated>2024-04-09T07:08:29Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;劫持&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:48ad20c77e4f1b66f6da4817f2e642f.png&amp;diff=534</id>
		<title>文件:48ad20c77e4f1b66f6da4817f2e642f.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:48ad20c77e4f1b66f6da4817f2e642f.png&amp;diff=534"/>
		<updated>2024-04-09T07:06:31Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;劫持&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=533</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=533"/>
		<updated>2024-04-09T07:01:45Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 快速开始 ==&lt;br /&gt;
[[下载并部署Detour]]&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光 纹理导航|使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册|使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 劫持用法]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E5%B7%A5%E6%8E%A7%E6%9C%BA%E6%80%A7%E8%83%BD%E4%BB%A5%E5%8F%8A%E5%8A%9F%E8%80%97%E5%A2%99&amp;diff=528</id>
		<title>如何查看工控机性能以及功耗墙</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E5%A6%82%E4%BD%95%E6%9F%A5%E7%9C%8B%E5%B7%A5%E6%8E%A7%E6%9C%BA%E6%80%A7%E8%83%BD%E4%BB%A5%E5%8F%8A%E5%8A%9F%E8%80%97%E5%A2%99&amp;diff=528"/>
		<updated>2024-04-02T06:02:38Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“=== 1.如何查看工控机硬件 === 右键任务栏，点击任务管理器，首先选择cpu，可以看到，此工控机使用的是12代i3处理器，型号为i3-1215U，可以在intel官网查询到此款cpu的具体性能参数。 400x400像素 在官网给出的参数中，我们可以看出，此cpu最大睿频为4.4GHz，最高可以支持到ddr5 4800频率的内存（具体也受主板限…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== 1.如何查看工控机硬件 ===&lt;br /&gt;
右键任务栏，点击任务管理器，首先选择cpu，可以看到，此工控机使用的是12代i3处理器，型号为i3-1215U，可以在intel官网查询到此款cpu的具体性能参数。&lt;br /&gt;
[[文件:D6ddbc79c7a530890355079c45f8709.png|居中|无框|400x400像素]]&lt;br /&gt;
在官网给出的参数中，我们可以看出，此cpu最大睿频为4.4GHz，最高可以支持到ddr5 4800频率的内存（具体也受主板限制），并且支持双通道内存，所以选择内存时，需要向最高支持的参数靠拢。&lt;br /&gt;
[[文件:37ca728c0a6be79cf81ab08a5487576.png|居中|无框|400x400像素]]&lt;br /&gt;
继续回到任务管理器，点击内存，可以看到，此工控机内使用的内存，是2666频率的单通道，由于此工控机使用核显，即显卡也会使用内存作为显存，所以单通道2666的内存在进行地纹匹配时，会带来很高的延迟。&lt;br /&gt;
[[文件:36711e2101dbc06a26b9a2d461695f3.png|居中|无框|400x400像素]]&lt;br /&gt;
&lt;br /&gt;
=== 2.如何判断是否到达功耗墙 ===&lt;br /&gt;
首先需要知道什么是功耗墙。由于cpu可以进行睿频，也就是说，在温度和功耗允许的情况下，cpu会提升自己的性能，但是提升性能的代价就是功耗上升温度上升，所以功耗墙就限制了cpu频率，当撞墙之后，cpu就会进行降频。从该cpu的官方数据可以看出，最大睿频为4.4GHz，最大睿频功耗为55w，也就是说，该cpu频率最高可以到4.4GHz，同时功耗最多到55w，但是由于厂商的显示，往往功耗墙会更低一点，此时如果负载很大，就很容易撞墙。&lt;br /&gt;
&lt;br /&gt;
那么如何判断是否撞墙了，就需要看cpu的速度，如果cpu负载较高，但是频率却离最高睿频很远，比如在50%以上占用的时候，速度只有2.5GHz，此时很显然是不正常的，大概率就是撞墙了，所以需要对功耗进行解锁。&lt;br /&gt;
&lt;br /&gt;
=== 3.如何解锁功耗墙 ===&lt;br /&gt;
在这里我们使用ThrottleStop这个软件进行解锁，点击TPL进行设置，可以按如下图所示进行设置。其中PL1功耗代表可以长期保持的最大功耗，PL2功耗代表可以短期达到的最大功耗，然后点击TurnOn按钮，就设置成功，此时可以看到，cpu从原先的2.5GHz提升到3.4GHz。&lt;br /&gt;
[[文件:D0e773fdd10eeb535efeabb128d9bbe.png|居中|无框|400x400像素]]&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:D0e773fdd10eeb535efeabb128d9bbe.png&amp;diff=527</id>
		<title>文件:D0e773fdd10eeb535efeabb128d9bbe.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:D0e773fdd10eeb535efeabb128d9bbe.png&amp;diff=527"/>
		<updated>2024-04-02T06:00:40Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;功耗墙&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:36711e2101dbc06a26b9a2d461695f3.png&amp;diff=526</id>
		<title>文件:36711e2101dbc06a26b9a2d461695f3.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:36711e2101dbc06a26b9a2d461695f3.png&amp;diff=526"/>
		<updated>2024-04-02T05:51:45Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;内存&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:37ca728c0a6be79cf81ab08a5487576.png&amp;diff=525</id>
		<title>文件:37ca728c0a6be79cf81ab08a5487576.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:37ca728c0a6be79cf81ab08a5487576.png&amp;diff=525"/>
		<updated>2024-04-02T05:48:48Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;cpu&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:D6ddbc79c7a530890355079c45f8709.png&amp;diff=524</id>
		<title>文件:D6ddbc79c7a530890355079c45f8709.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:D6ddbc79c7a530890355079c45f8709.png&amp;diff=524"/>
		<updated>2024-04-02T05:45:24Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;cpu&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=523</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=523"/>
		<updated>2024-04-02T05:43:02Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册|使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
[[如何查看工控机性能以及功耗墙]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;br /&gt;
* 一些视频案例：链接：https://pan.baidu.com/s/1foIUJzCnpbEaNoy6ooVbJg 提取码：2of9&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=FAQ&amp;diff=522</id>
		<title>FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=FAQ&amp;diff=522"/>
		<updated>2024-04-01T09:07:11Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;调试原理性问题&lt;br /&gt;
&lt;br /&gt;
* Q: Simple下任务后，Clumsy的表现和预期不一致，或者做完任务后Simple还报错了，如何调试？&lt;br /&gt;
** A: Simple首先通过对车进行路径搜索（SegmentPlan.FindRoute）搜索到路径，然后通过Compile调用车体类挂载的Coder生成代码，最后通过车体类继承的actualSendScript进行脚本下发。对于Clumsy而言，下发的脚本会保存于debug目录下。首先检查脚本是否正确，然后调试Clumsy插件中继承SimpleAGVInterface的类（一般为AGV类），是否其函数按照正常的方法实现了（见[[通用约定]]）。&lt;br /&gt;
*Q: Simple不给锁，怎么看原因？&lt;br /&gt;
**A: 点开小车的状态面板，看TcStat交管信息。这个字段里显示了为什么不下发锁的原因。&lt;br /&gt;
*Q: Simple似乎死锁了？&lt;br /&gt;
**A: Simple非常非常难遇到真的死锁。可以看BlockedBy字段来判断到底是真的死锁了，还是因为路线图设计问题导致的关键等待。可能所有的车都在等一个关键车下发路线。&lt;br /&gt;
*Q: Simple包络似乎错了，两个车包络明明冲突但相撞了。&lt;br /&gt;
**A: 检查经过的路径的layerName，在不同layerName上的包络互相不冲突。比如layerName&lt;br /&gt;
*Q:使用激光+地纹导航时，出现车辆位置来回拉扯的情况，是怎么回事？&lt;br /&gt;
**A：首先检查detour.json中uscTC是否设置为true。然后还需要判断两个里程计的时序问题，在有独立显卡的工控机上，地纹延迟低，雷达延迟高，需要将单线雷达的time_bias_ms设置为-30至-50（具体根据雷达延迟），若使用核显跑地纹，地纹延迟会上升，此时将雷达和相机的tims_bias_ms都设置为0&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%9B%B4%E5%A4%9A%E4%BA%A4%E7%AE%A1%E7%BB%86%E8%8A%82%E7%94%A8%E6%B3%95&amp;diff=508</id>
		<title>使用手册 - 更多交管细节用法</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%9B%B4%E5%A4%9A%E4%BA%A4%E7%AE%A1%E7%BB%86%E8%8A%82%E7%94%A8%E6%B3%95&amp;diff=508"/>
		<updated>2023-12-22T01:35:40Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.必空点 ==&lt;br /&gt;
&lt;br /&gt;
=== 1.1 必空点概念 ===&lt;br /&gt;
在Simple中，可以通过站点上mustFree的字段添加必空点，在id为1的必空点上添加mustFree:[2,3]代表当1号点被锁时，2、3号点不能被锁。&lt;br /&gt;
&lt;br /&gt;
注意必空点为单向的概念，即1号点被锁，2、3不能被锁，但2、3被锁不影响1号点的上锁情况。&lt;br /&gt;
&lt;br /&gt;
=== 1.2 如何配置必空点 ===&lt;br /&gt;
&lt;br /&gt;
# 可以通过在站点上添加mustFree字段来添加必空点。&lt;br /&gt;
# 可以通过点击”设置必空点“来添加。&lt;br /&gt;
&lt;br /&gt;
[[文件:2c247231da7eee82f61394abfcdabd9.png|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
[[文件:982cbb082b59f743ed46acfef0eb665.png|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
== 2.修改Simple项目属性 ==&lt;br /&gt;
Simple中项目属性如下图，其中含义在”MDCS参数表：Simple“中有叙述。&lt;br /&gt;
&lt;br /&gt;
[[文件:755a68e08f05a3e843db325873a5d2c.png]]&lt;br /&gt;
&lt;br /&gt;
=== 1. 允许多车去一个终点 ===&lt;br /&gt;
修改Search_AllowDestOnRoute为True。&lt;br /&gt;
&lt;br /&gt;
=== 2. 寻路时某个点需要经过多次 ===&lt;br /&gt;
将Search_MaxVisitPerSite和Search_MaxDupVisit改大一些。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:755a68e08f05a3e843db325873a5d2c.png&amp;diff=507</id>
		<title>文件:755a68e08f05a3e843db325873a5d2c.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:755a68e08f05a3e843db325873a5d2c.png&amp;diff=507"/>
		<updated>2023-12-22T01:30:49Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Simple&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%9B%B4%E5%A4%9A%E4%BA%A4%E7%AE%A1%E7%BB%86%E8%8A%82%E7%94%A8%E6%B3%95&amp;diff=506</id>
		<title>使用手册 - 更多交管细节用法</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%9B%B4%E5%A4%9A%E4%BA%A4%E7%AE%A1%E7%BB%86%E8%8A%82%E7%94%A8%E6%B3%95&amp;diff=506"/>
		<updated>2023-12-22T01:25:08Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“== 1.必空点 ==  === 1.1 必空点概念 === 在Simple中，可以通过站点上mustFree的字段添加必空点，在id为1的必空点上添加mustFree:[2,3]代表当1号点被锁时，2、3号点不能被锁。  注意必空点为单向的概念，即1号点被锁，2、3不能被锁，但2、3被锁不影响1号点的上锁情况。  === 1.2 如何配置必空点 ===  # 可以通过在站点上添加mustFree字段来添加必空点。 # 可以通过点…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.必空点 ==&lt;br /&gt;
&lt;br /&gt;
=== 1.1 必空点概念 ===&lt;br /&gt;
在Simple中，可以通过站点上mustFree的字段添加必空点，在id为1的必空点上添加mustFree:[2,3]代表当1号点被锁时，2、3号点不能被锁。&lt;br /&gt;
&lt;br /&gt;
注意必空点为单向的概念，即1号点被锁，2、3不能被锁，但2、3被锁不影响1号点的上锁情况。&lt;br /&gt;
&lt;br /&gt;
=== 1.2 如何配置必空点 ===&lt;br /&gt;
&lt;br /&gt;
# 可以通过在站点上添加mustFree字段来添加必空点。&lt;br /&gt;
# 可以通过点击”设置必空点“来添加。&lt;br /&gt;
&lt;br /&gt;
[[文件:2c247231da7eee82f61394abfcdabd9.png|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
[[文件:982cbb082b59f743ed46acfef0eb665.png|600x600像素]]&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:982cbb082b59f743ed46acfef0eb665.png&amp;diff=505</id>
		<title>文件:982cbb082b59f743ed46acfef0eb665.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:982cbb082b59f743ed46acfef0eb665.png&amp;diff=505"/>
		<updated>2023-12-22T01:23:51Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mustfree&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:2c247231da7eee82f61394abfcdabd9.png&amp;diff=504</id>
		<title>文件:2c247231da7eee82f61394abfcdabd9.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:2c247231da7eee82f61394abfcdabd9.png&amp;diff=504"/>
		<updated>2023-12-22T01:19:28Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;mustFree&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=503</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=503"/>
		<updated>2023-12-22T01:11:12Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 更多交管细节用法]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%AF%BB%E8%B7%AF%E5%90%AF%E5%8F%91%E5%99%A8%E5%8A%9F%E8%83%BD&amp;diff=502</id>
		<title>使用手册 - 寻路启发器功能</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%AF%BB%E8%B7%AF%E5%90%AF%E5%8F%91%E5%99%A8%E5%8A%9F%E8%83%BD&amp;diff=502"/>
		<updated>2023-12-21T02:10:18Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“== 1.寻路启发器作用 == 在实际现场业务中，我们往往需要对”哪种车可以走哪条路“进行限定，或者自定义寻路的规则，此时就需要用到寻路启发器。  == 2.如何定义一个启发器 == 可以参考以下代码&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt; public class BYDBcHeuristics : HeuristicsContainer 		{ 			[HeuristicDef] 			public bool BYDCarShouldGo(SegmentPlan.SearchStat stat) 			{ 				if (plan.usingCar.fields.Co…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1.寻路启发器作用 ==&lt;br /&gt;
在实际现场业务中，我们往往需要对”哪种车可以走哪条路“进行限定，或者自定义寻路的规则，此时就需要用到寻路启发器。&lt;br /&gt;
&lt;br /&gt;
== 2.如何定义一个启发器 ==&lt;br /&gt;
可以参考以下代码&amp;lt;syntaxhighlight lang=&amp;quot;c#&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
public class BYDBcHeuristics : HeuristicsContainer&lt;br /&gt;
		{&lt;br /&gt;
			[HeuristicDef]&lt;br /&gt;
			public bool BYDCarShouldGo(SegmentPlan.SearchStat stat)&lt;br /&gt;
			{&lt;br /&gt;
				if (plan.usingCar.fields.ContainsKey(&amp;quot;A&amp;quot;))&lt;br /&gt;
				{&lt;br /&gt;
					if (stat.previousTrack.fields.ContainsKey(&amp;quot;noAllowA&amp;quot;)) return false;&lt;br /&gt;
					return true;&lt;br /&gt;
				}&lt;br /&gt;
				if (plan.usingCar.fields.ContainsKey(&amp;quot;BC&amp;quot;))&lt;br /&gt;
				{&lt;br /&gt;
					if (stat.previousTrack.fields.ContainsKey(&amp;quot;noAllowBC&amp;quot;)) return false;&lt;br /&gt;
					return true;&lt;br /&gt;
				}&lt;br /&gt;
				return true;&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;首先创建一个继承&amp;lt;code&amp;gt;HeuristicsContainer&amp;lt;/code&amp;gt;的类，定义一个返回值为bool的方法。在方法中编写寻路逻辑，当&amp;lt;code&amp;gt;return false&amp;lt;/code&amp;gt;时代表不可选择这条路。&lt;br /&gt;
&lt;br /&gt;
如上代码表示，如果小车标记了A字段，那么不可以行走在标记了noAllowA的路上，如果小车标记了BC字段，则不可行走在标记了noAllowBC的路上。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=501</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=501"/>
		<updated>2023-12-21T02:02:23Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 寻路启发器功能]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=500</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=500"/>
		<updated>2023-12-21T02:00:51Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=499</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=499"/>
		<updated>2023-12-21T02:00:16Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光 纹理导航|使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑|使用手册 - routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册|使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=498</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=498"/>
		<updated>2023-12-21T01:59:23Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册|使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=497</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=497"/>
		<updated>2023-12-21T01:59:01Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光 纹理导航|使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=496</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=496"/>
		<updated>2023-12-21T01:58:34Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=495</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=495"/>
		<updated>2023-12-21T01:58:12Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光 纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册|使用手册 - 有反 SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=494</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=494"/>
		<updated>2023-12-21T01:57:49Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航|使用手册 - 激光 纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=493</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=493"/>
		<updated>2023-12-21T01:57:30Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光 纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反+SLAM建图手册|使用手册 - 有反 SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=492</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=492"/>
		<updated>2023-12-21T01:56:57Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[调度内核运行原理|内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航|使用手册 - 激光 纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配流程说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS适配详细说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 有反 SLAM建图手册|使用手册 - 有反+SLAM建图手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 数据录制与回放手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%BF%80%E5%85%89%EF%BC%8B%E7%BA%B9%E7%90%86%E5%AF%BC%E8%88%AA&amp;diff=424</id>
		<title>使用手册 - 激光＋纹理导航</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%BF%80%E5%85%89%EF%BC%8B%E7%BA%B9%E7%90%86%E5%AF%BC%E8%88%AA&amp;diff=424"/>
		<updated>2023-12-14T12:42:51Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 1.什么是纹理导航？ =&lt;br /&gt;
一种基于地面图像纹理的视觉导航方法。硬件上由下视摄像头，补光灯(对光线有一定要求)等组成。纹理导航利用地面丰富的纹理信息，基于相位相关法和极坐标转换来计算出两图间的位移和旋转，对比地图已知的绝对坐标获取当前位置。&lt;br /&gt;
&lt;br /&gt;
不需对地面进行额外处理，无需安装反射板、磁条等，确保灵活性及扩展性。该方案性价比高、无需改造现场环境、施工周期短、能适应复杂应用场景。&lt;br /&gt;
&lt;br /&gt;
= 2.纹理导航适用的场景 =&lt;br /&gt;
纹理导航适用于一些特定的环境场景，其中地面或环境中存在明显的纹理特征，如金刚砂硬化地坪，普通水泥地坪，瓷砖地坪，车间铺设重复纹理的地板，且地板纹理重复度大于相机视野即可，&amp;lt;u&amp;gt;且多灰尘，油污等，地面纹理极少，且经常变化&amp;lt;/u&amp;gt;，不适合使用纹理导航&lt;br /&gt;
&lt;br /&gt;
1，金刚砂硬化地坪，有反光但纹理清晰。需要注意补光[[文件:金刚砂.jpg|某现场金刚砂地面环境|缩略图|542x542像素|无]]&lt;br /&gt;
&lt;br /&gt;
[[文件:金刚砂地面.png|常规的金刚砂地面 |无|有框]]2，瓷砖地面，有反光，纹理清晰。亮色系，补光容易。要求瓷砖尺寸&amp;gt;视觉相机视野（15*15cm）[[文件:瓷砖地面.png|某酒店地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:瓷砖地面-总.png|常见的瓷砖地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
[[文件:瓷砖地纹.png|瓷砖地面纹理地图|有框|无]]3，普通水泥，补光容易，纹理清晰[[文件:水泥地面.png|普通水泥|有框|无]]&lt;br /&gt;
&lt;br /&gt;
= 3.纹理导航不适用的场景 =&lt;br /&gt;
不适用地面：地面反光且无纹理或纹理特征不明显的场地，不适用。&lt;br /&gt;
&lt;br /&gt;
A. 纹理没有或者极少，相机获取不到纹理特征，理论上无法实现。&lt;br /&gt;
&lt;br /&gt;
B. 打光困难，地面反光获取特征不是地面的真实情况，算法无法消除。&lt;br /&gt;
&lt;br /&gt;
C. 地面磨损，纹理极容易被损坏。&lt;br /&gt;
&lt;br /&gt;
D. 灰尘油污大的场地，地面纹理特征不稳定，经常变化，如室外泥泞环境。需要增加外部可靠纹理，保证导航稳定性能。&lt;br /&gt;
&lt;br /&gt;
E. 少纹理或者重复小纹理地面，例如载货电梯内部地面。需要增加外部标识，使纹理特征大于相机视野（15*15cm）&lt;br /&gt;
&lt;br /&gt;
例如：&lt;br /&gt;
&lt;br /&gt;
1，环氧地坪，补光困难，初期缺少视觉纹理导航必须的地面纹理。地面容易划伤，纹理不稳定。[[文件:环氧地坪.png|环氧地坪图片|有框|无]]2，重复小纹理地面，纹理特征不明显[[文件:扶梯地面.png|扶梯地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
= 4.纹理导航相比较SLAM的优缺点 =&lt;br /&gt;
纹理导航和SLAM是两种不同的导航方法，各自具有优缺点，适用于不同的应用场景&lt;br /&gt;
&lt;br /&gt;
'''优点'''&lt;br /&gt;
* 简单实时性：纹理导航实现简单，通常具有较好的实时性，适用于对实时性要求较高的应用。&lt;br /&gt;
* 成本较低：相对于SLAM需要的昂贵传感器，纹理导航通常可以通过普通的相机或传感器实现，降低了系统成本。&lt;br /&gt;
* 适用广泛：适用于各类有明显地面纹理的场所。&lt;br /&gt;
* 相比较SLAM精度更稳定,精度可稳定在正负5mm以内&lt;br /&gt;
'''缺点'''&lt;br /&gt;
* 局部信息：纹理导航一般只能提供相对局部的信息，不能构建全局一致的地图，因此适用于需要全局感知的场景有限。&lt;br /&gt;
* 对地面特征依赖性强：纹理导航依赖于地面的特征，如果地面特征变化或受到遮挡，可能会影响导航的准确性。&lt;br /&gt;
* 大场景建图耗时，需要地面弹线，修图，相比较slam实施较为耗时，麻烦。&lt;br /&gt;
&lt;br /&gt;
= 5.纹理相机设计安装要求 =&lt;br /&gt;
1，相机安装务必设计在车体运动中心-（越偏心安装会降低稳定性，导致车体晃动时可能造成脱轨，纹理相机视野15cm*15cm较小）&lt;br /&gt;
&lt;br /&gt;
2，有可高度的活动支架&lt;br /&gt;
&lt;br /&gt;
3，有较好的补光机构&lt;br /&gt;
&lt;br /&gt;
= 6.使用纹理导航前的准备工作 =&lt;br /&gt;
&lt;br /&gt;
==== 1．'''准备工作''' ====&lt;br /&gt;
1. 配置Medulla startup保证可以读取到相机图像数据，加载MVCamera.dll，如下方式&lt;br /&gt;
&lt;br /&gt;
mv=io load plugins/MVCamera.dll&lt;br /&gt;
&lt;br /&gt;
maincam=mv initMono MG010  //MG010为该相机型号&lt;br /&gt;
&lt;br /&gt;
打开Medulla.exe后就可以看到图像此准备工作完成&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:Image1.png|无框|658x658像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Detour根目录下需要有regcore_cuda和cufft64库文件&lt;br /&gt;
&lt;br /&gt;
2. 修改相机曝光参数，此处我们以海康相机为例，打开相机MVS软件，选择对应网卡的相机，双击，启动相机，就可以看到画面了，然后再右侧栏目中，调节相机的亮度和曝光即可，保证能够清晰的看到地面纹理即可,&lt;br /&gt;
[[文件:Cas.png|无|缩略图|656x656像素|海康MVS软件]]&lt;br /&gt;
在这个过程中我们需要保证补光均匀，需要设计一个合理的补光结构，如下图。调整补光机构，直至地面没有明显的反光点或暗部。然后可在平整的地面上贴一张白纸，可以清楚的看出反光情况，将用于纹理匹配的15*15cm区域截图，使用相机补光测试工具，可以计算出方差，一般方差在20以内可认为补光均匀，相机补光测试工具：https://e.gitee.com/Fairyland_1/projects/511612/repos/Fairyland_1/the-testofimageuniformity/sources&amp;lt;nowiki/&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
[[文件:纹理.png|无框|661x661像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. 标定相机&lt;br /&gt;
&lt;br /&gt;
（1）. 准备15cm*15cm的标定纸（见下图），贴在平整的地面上，相机必须能够完全看到标定纸中的方格，为消除畸变对相机的影响，在使用前需要相对相机进行标定，由于相机的透镜影响，以及相机在机械组装过程中的误差会使得光线穿过透镜投影到成像面时位置会发生变化。由透镜引起的畸变称之为“径向畸变”。在实际拍摄中径向畸变会使得一条直线在图片中变为曲线。通常分为桶形畸变和枕形畸变，目前标定摄像头主要为消除桶形畸变，如下图，左侧是标定后，右侧是未标定过的。&lt;br /&gt;
[[文件:标定纸.png|无|有框|15*15标定纸]][[文件:标定.png|836x836像素]]&lt;br /&gt;
&lt;br /&gt;
（2）. 打开Detour.exe，打开车体编辑器，添加下视摄像头，选择该组件，名称改成”maincam”和medulla加载的名称一致即可，修改相机和雷达的位置，使其和机械设计的真实位置一致&lt;br /&gt;
[[文件:Detour参数.png|无框|941x941像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
（3）. 点击动作-双击捕捉即可看到相机画面，再双击校准，我们进行标定工作，这块需要很有耐心。&lt;br /&gt;
[[文件:标定1.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
（4）打开校准的界面后，我们可以看到相机画面以及标定线，点击修改校准点，然后，鼠标依次对着标定值黑色的方框点，从左到右把点标记，如下图&lt;br /&gt;
[[文件:标定-2.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''一定要耐心，5分钟内就可以标定好，标定完成后会提示准备就绪，可以观察右下角的提示，可以知道目前正在标定哪一个点。标定完成后，左下角会有“就绪”的提示。''&lt;br /&gt;
[[文件:标定3.png|无|缩略图|513x513像素]]&lt;br /&gt;
（5）标定好后，我们选择摄像头，选择”保存校准数据”，然后再点击”校准数据另存为”保存到Detour目录下即可，然后保存下导航配置&lt;br /&gt;
[[文件:标定保存.png|无|有框]]''&amp;lt;big&amp;gt;'''注意：如果涉及到多个车，需要用同一个位置的地纹标定纸来进行标定'''&amp;lt;/big&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
= 7.地纹地图录制 =&lt;br /&gt;
&lt;br /&gt;
==== 1，建图方式 ====&lt;br /&gt;
&lt;br /&gt;
* 纯地纹建图--------大场景施工繁琐，耗时耗力&lt;br /&gt;
* 激光+地纹建图----施工方便&lt;br /&gt;
&lt;br /&gt;
(1)纯地纹建图，需要地面做标记，可以墨斗弹线/铺设标定线，目的是为了修图，因为纹理录的过程中会有误差，所以通过标定线来有目标性的进行图优化，可以看图6.1.1以及图6.1.2通过优化可以保证所有帧中的标定线处于同一水平，&lt;br /&gt;
[[文件:地纹地面弹线.png|无|有框|地面5mm标定线]]&lt;br /&gt;
[[文件:地纹纹理11.png|无|有框|6.1.1 连续录制的地面纹理地图-未修图]]&lt;br /&gt;
[[文件:E124eba91f7b7a4c8a707a412cf6ddb.png|无|缩略图|965x965像素|6.1.2 连续录制的地面纹理地图-修图后]]&lt;br /&gt;
（2）激光+地纹，是指在提前录制好激光地图的基础上，录制地纹，这个情况可以不需要标定线，但是有标定线也可以更方便的辅助修图。&lt;br /&gt;
[[文件:激光+地纹.png|无|有框|链接=文件:激光_地纹.png]]&lt;br /&gt;
&lt;br /&gt;
==== 2,开始建图 ====&lt;br /&gt;
1. 打开Detour.exe，选择里程计-添加里程计-地面纹理导航&lt;br /&gt;
[[文件:Detour-添加地纹里程计.png|无|缩略图|547x547像素]]&lt;br /&gt;
2. 点击地面纹理导航，添加图层，默认ground名称即可，这步结束后，保存下导航配置&lt;br /&gt;
[[文件:地纹里程计2.png|无|缩略图|547x547像素]]&lt;br /&gt;
3. 保存导航配置后，关闭detour，若使用多个传感器，如“激光+地纹”，需打开detour.json，找到useTC，设置为true。重启下detour,这时候就可以看到小车下有地面的图像了&lt;br /&gt;
[[文件:地纹里程计3.png|无|有框]]&lt;br /&gt;
4. 点击自动更新图层即可开启建图模式，对于纯纹理导航，需要按照标线遥控小车，把对应位置纹理录进去，对于激光+地纹，可以直接下发激光路径，在走激光的时候录制地纹地图。&lt;br /&gt;
[[文件:更新.png|无|有框]]&lt;br /&gt;
注意：激光+地纹录制的时候，我们需要注意按照以下步骤&lt;br /&gt;
&lt;br /&gt;
（1）保证AGV行驶激光路径精度正常，比如一条10米直线，AGV行驶过程整体行驶姿态误差都较为稳定&lt;br /&gt;
&lt;br /&gt;
（2）关闭图优化，取消勾选，会使得地纹关键帧停留在原始位置上不动&lt;br /&gt;
[[文件:9906be627cab3cbfb3d49d0f6a38747.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
（3）Simple下发一段路径，同时开启地纹自动更新图层，即可开启纹理录制了&lt;br /&gt;
&lt;br /&gt;
（4）每隔一段距离，锁一下最后一个关键帧，再开启图优化，就会把之前建的纹理图给优化好。然后再关闭，再走，走完后再锁一个关键帧.......以此类推。&lt;br /&gt;
&lt;br /&gt;
（5）录好后锁定图层，然后另存图层，保存导航配置即可，这样下次打开detour会自动加载地纹图层&lt;br /&gt;
&lt;br /&gt;
= 8.注意点 =&lt;br /&gt;
1，若使用激光+地纹方案，Detour中激光以及纹理相机的xyth需要按照实际物理位置填写，车体运动中心为坐标原点，前进方向为x正，前进方向左侧y正&lt;br /&gt;
&lt;br /&gt;
2，由于地纹相机实时性比较高因此，不同雷达配合地纹使用需要修改time_bias_ms，镭神3d激光相比较相机大概延迟100ms左右，因此我们需要把相机的time_bias_ms改成-100&lt;br /&gt;
&lt;br /&gt;
[[文件:Maincam.png|无框]]&lt;br /&gt;
&lt;br /&gt;
3，fitTCfactor参数可以配置多传感器耦合的权重，越低则代表该传感器越不重要&lt;br /&gt;
&lt;br /&gt;
4，实际使用中，可能需要用到相机校准中的“反转和旋转功能”，在进行建图时，若出现车辆在地图中的移动情况与实际情况不一致，需使用“反转和旋转功能”使运动与建图情况一致。例如车往x正方向走，地纹图层应与车辆运动轨迹一致，若出现地纹图层以车为原点向x正方向延申，表示此时地纹里程计方向错误，需要点击“反转和旋转”中的横向翻转。&lt;br /&gt;
&lt;br /&gt;
5，在使用地纹建图时，需要设置地纹里程计中froceDangling为true，建图完成后改为false。此参数代表地纹图层是否只根据激光位置做“记录”功能。&lt;br /&gt;
&lt;br /&gt;
6，使用纹理导航时，要求相机视野可以覆盖标定方格纸，特殊情况下，视野较小，需要使用小号标定纸，此时需要将地纹里程计及地纹图层中的viewField改为实际标定纸大小，单位为mm。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%BF%80%E5%85%89%EF%BC%8B%E7%BA%B9%E7%90%86%E5%AF%BC%E8%88%AA&amp;diff=423</id>
		<title>使用手册 - 激光＋纹理导航</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E6%BF%80%E5%85%89%EF%BC%8B%E7%BA%B9%E7%90%86%E5%AF%BC%E8%88%AA&amp;diff=423"/>
		<updated>2023-12-14T12:40:28Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= 1.什么是纹理导航？ =&lt;br /&gt;
一种基于地面图像纹理的视觉导航方法。硬件上由下视摄像头，补光灯(对光线有一定要求)等组成。纹理导航利用地面丰富的纹理信息，基于相位相关法和极坐标转换来计算出两图间的位移和旋转，对比地图已知的绝对坐标获取当前位置。&lt;br /&gt;
&lt;br /&gt;
不需对地面进行额外处理，无需安装反射板、磁条等，确保灵活性及扩展性。该方案性价比高、无需改造现场环境、施工周期短、能适应复杂应用场景。&lt;br /&gt;
&lt;br /&gt;
= 2.纹理导航适用的场景 =&lt;br /&gt;
纹理导航适用于一些特定的环境场景，其中地面或环境中存在明显的纹理特征，如金刚砂硬化地坪，普通水泥地坪，瓷砖地坪，车间铺设重复纹理的地板，且地板纹理重复度大于相机视野即可，&amp;lt;u&amp;gt;且多灰尘，油污等，地面纹理极少，且经常变化&amp;lt;/u&amp;gt;，不适合使用纹理导航&lt;br /&gt;
&lt;br /&gt;
1，金刚砂硬化地坪，有反光但纹理清晰。需要注意补光[[文件:金刚砂.jpg|某现场金刚砂地面环境|缩略图|542x542像素|无]]&lt;br /&gt;
&lt;br /&gt;
[[文件:金刚砂地面.png|常规的金刚砂地面 |无|有框]]2，瓷砖地面，有反光，纹理清晰。亮色系，补光容易。要求瓷砖尺寸&amp;gt;视觉相机视野（15*15cm）[[文件:瓷砖地面.png|某酒店地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:瓷砖地面-总.png|常见的瓷砖地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
[[文件:瓷砖地纹.png|瓷砖地面纹理地图|有框|无]]3，普通水泥，补光容易，纹理清晰[[文件:水泥地面.png|普通水泥|有框|无]]&lt;br /&gt;
&lt;br /&gt;
= 3.纹理导航不适用的场景 =&lt;br /&gt;
不适用地面：地面反光且无纹理或纹理特征不明显的场地，不适用。&lt;br /&gt;
&lt;br /&gt;
A. 纹理没有或者极少，相机获取不到纹理特征，理论上无法实现。&lt;br /&gt;
&lt;br /&gt;
B. 打光困难，地面反光获取特征不是地面的真实情况，算法无法消除。&lt;br /&gt;
&lt;br /&gt;
C. 地面磨损，纹理极容易被损坏。&lt;br /&gt;
&lt;br /&gt;
D. 灰尘油污大的场地，地面纹理特征不稳定，经常变化，如室外泥泞环境。需要增加外部可靠纹理，保证导航稳定性能。&lt;br /&gt;
&lt;br /&gt;
E. 少纹理或者重复小纹理地面，例如载货电梯内部地面。需要增加外部标识，使纹理特征大于相机视野（15*15cm）&lt;br /&gt;
&lt;br /&gt;
例如：&lt;br /&gt;
&lt;br /&gt;
1，环氧地坪，补光困难，初期缺少视觉纹理导航必须的地面纹理。地面容易划伤，纹理不稳定。[[文件:环氧地坪.png|环氧地坪图片|有框|无]]2，重复小纹理地面，纹理特征不明显[[文件:扶梯地面.png|扶梯地面|有框|无]]&lt;br /&gt;
&lt;br /&gt;
= 4.纹理导航相比较SLAM的优缺点 =&lt;br /&gt;
纹理导航和SLAM是两种不同的导航方法，各自具有优缺点，适用于不同的应用场景&lt;br /&gt;
&lt;br /&gt;
'''优点'''&lt;br /&gt;
* 简单实时性：纹理导航实现简单，通常具有较好的实时性，适用于对实时性要求较高的应用。&lt;br /&gt;
* 成本较低：相对于SLAM需要的昂贵传感器，纹理导航通常可以通过普通的相机或传感器实现，降低了系统成本。&lt;br /&gt;
* 适用广泛：适用于各类有明显地面纹理的场所。&lt;br /&gt;
* 相比较SLAM精度更稳定,精度可稳定在正负5mm以内&lt;br /&gt;
'''缺点'''&lt;br /&gt;
* 局部信息：纹理导航一般只能提供相对局部的信息，不能构建全局一致的地图，因此适用于需要全局感知的场景有限。&lt;br /&gt;
* 对地面特征依赖性强：纹理导航依赖于地面的特征，如果地面特征变化或受到遮挡，可能会影响导航的准确性。&lt;br /&gt;
* 大场景建图耗时，需要地面弹线，修图，相比较slam实施较为耗时，麻烦。&lt;br /&gt;
&lt;br /&gt;
= 5.纹理相机设计安装要求 =&lt;br /&gt;
1，相机安装务必设计在车体运动中心-（越偏心安装会降低稳定性，导致车体晃动时可能造成脱轨，纹理相机视野15cm*15cm较小）&lt;br /&gt;
&lt;br /&gt;
2，有可高度的活动支架&lt;br /&gt;
&lt;br /&gt;
3，有较好的补光机构&lt;br /&gt;
&lt;br /&gt;
= 6.使用纹理导航前的准备工作 =&lt;br /&gt;
&lt;br /&gt;
==== 1．'''准备工作''' ====&lt;br /&gt;
1. 配置Medulla startup保证可以读取到相机图像数据，加载MVCamera.dll，如下方式&lt;br /&gt;
&lt;br /&gt;
mv=io load plugins/MVCamera.dll&lt;br /&gt;
&lt;br /&gt;
maincam=mv initMono MG010  //MG010为该相机型号&lt;br /&gt;
&lt;br /&gt;
打开Medulla.exe后就可以看到图像此准备工作完成&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[文件:Image1.png|无框|658x658像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Detour根目录下需要有regcore_cuda和cufft64库文件&lt;br /&gt;
&lt;br /&gt;
2. 修改相机曝光参数，此处我们以海康相机为例，打开相机MVS软件，选择对应网卡的相机，双击，启动相机，就可以看到画面了，然后再右侧栏目中，调节相机的亮度和曝光即可，保证能够清晰的看到地面纹理即可,&lt;br /&gt;
[[文件:Cas.png|无|缩略图|656x656像素|海康MVS软件]]&lt;br /&gt;
在这个过程中我们需要保证补光均匀，需要设计一个合理的补光结构，如下图。调整补光机构，直至地面没有明显的反光点或暗部。然后可在平整的地面上贴一张白纸，可以清楚的看出反光情况，将用于纹理匹配的15*15cm区域截图，使用相机补光测试工具，可以计算出方差，一般方差在20以内可认为补光均匀，相机补光测试工具：https://e.gitee.com/Fairyland_1/projects/511612/repos/Fairyland_1/the-testofimageuniformity/sources&amp;lt;nowiki/&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
[[文件:纹理.png|无框|661x661像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. 标定相机&lt;br /&gt;
&lt;br /&gt;
（1）. 准备15cm*15cm的标定纸（见下图），贴在平整的地面上，相机必须能够完全看到标定纸中的方格，为消除畸变对相机的影响，在使用前需要相对相机进行标定，由于相机的透镜影响，以及相机在机械组装过程中的误差会使得光线穿过透镜投影到成像面时位置会发生变化。由透镜引起的畸变称之为“径向畸变”。在实际拍摄中径向畸变会使得一条直线在图片中变为曲线。通常分为桶形畸变和枕形畸变，目前标定摄像头主要为消除桶形畸变，如下图，左侧是标定后，右侧是未标定过的。&lt;br /&gt;
[[文件:标定纸.png|无|有框|15*15标定纸]][[文件:标定.png|836x836像素]]&lt;br /&gt;
&lt;br /&gt;
（2）. 打开Detour.exe，打开车体编辑器，添加下视摄像头，选择该组件，名称改成”maincam”和medulla加载的名称一致即可，修改相机和雷达的位置，使其和机械设计的真实位置一致&lt;br /&gt;
[[文件:Detour参数.png|无框|941x941像素]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
（3）. 点击动作-双击捕捉即可看到相机画面，再双击校准，我们进行标定工作，这块需要很有耐心。&lt;br /&gt;
[[文件:标定1.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
（4）打开校准的界面后，我们可以看到相机画面以及标定线，点击修改校准点，然后，鼠标依次对着标定值黑色的方框点，从左到右把点标记，如下图&lt;br /&gt;
[[文件:标定-2.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''一定要耐心，5分钟内就可以标定好，标定完成后会提示准备就绪，可以观察右下角的提示，可以知道目前正在标定哪一个点。标定完成后，左下角会有“就绪”的提示。''&lt;br /&gt;
[[文件:标定3.png|无|缩略图|513x513像素]]&lt;br /&gt;
（5）标定好后，我们选择摄像头，选择”保存校准数据”，然后再点击”校准数据另存为”保存到Detour目录下即可，然后保存下导航配置&lt;br /&gt;
[[文件:标定保存.png|无|有框]]''&amp;lt;big&amp;gt;'''注意：如果涉及到多个车，需要用同一个位置的地纹标定纸来进行标定'''&amp;lt;/big&amp;gt;''&lt;br /&gt;
&lt;br /&gt;
= 7.地纹地图录制 =&lt;br /&gt;
&lt;br /&gt;
==== 1，建图方式 ====&lt;br /&gt;
&lt;br /&gt;
* 纯地纹建图--------大场景施工繁琐，耗时耗力&lt;br /&gt;
* 激光+地纹建图----施工方便&lt;br /&gt;
&lt;br /&gt;
(1)纯地纹建图，需要地面做标记，可以墨斗弹线/铺设标定线，目的是为了修图，因为纹理录的过程中会有误差，所以通过标定线来有目标性的进行图优化，可以看图6.1.1以及图6.1.2通过优化可以保证所有帧中的标定线处于同一水平，&lt;br /&gt;
[[文件:地纹地面弹线.png|无|有框|地面5mm标定线]]&lt;br /&gt;
[[文件:地纹纹理11.png|无|有框|6.1.1 连续录制的地面纹理地图-未修图]]&lt;br /&gt;
[[文件:E124eba91f7b7a4c8a707a412cf6ddb.png|无|缩略图|965x965像素|6.1.2 连续录制的地面纹理地图-修图后]]&lt;br /&gt;
（2）激光+地纹，是指在提前录制好激光地图的基础上，录制地纹，这个情况可以不需要标定线，但是有标定线也可以更方便的辅助修图。&lt;br /&gt;
[[文件:激光+地纹.png|无|有框|链接=文件:激光_地纹.png]]&lt;br /&gt;
&lt;br /&gt;
==== 2,开始建图 ====&lt;br /&gt;
1. 打开Detour.exe，选择里程计-添加里程计-地面纹理导航&lt;br /&gt;
[[文件:Detour-添加地纹里程计.png|无|缩略图|547x547像素]]&lt;br /&gt;
2. 点击地面纹理导航，添加图层，默认ground名称即可，这步结束后，保存下导航配置&lt;br /&gt;
[[文件:地纹里程计2.png|无|缩略图|547x547像素]]&lt;br /&gt;
3. 保存导航配置后，关闭detour，若使用多个传感器，如“激光+地纹”，需打开detour.json，找到useTC，设置为true。重启下detour,这时候就可以看到小车下有地面的图像了&lt;br /&gt;
[[文件:地纹里程计3.png|无|有框]]&lt;br /&gt;
4. 点击自动更新图层即可开启建图模式，对于纯纹理导航，需要按照标线遥控小车，把对应位置纹理录进去，对于激光+地纹，可以直接下发激光路径，在走激光的时候录制地纹地图。&lt;br /&gt;
[[文件:更新.png|无|有框]]&lt;br /&gt;
注意：激光+地纹录制的时候，我们需要注意按照以下步骤&lt;br /&gt;
&lt;br /&gt;
（1）保证AGV行驶激光路径精度正常，比如一条10米直线，AGV行驶过程整体行驶姿态误差都较为稳定&lt;br /&gt;
&lt;br /&gt;
（2）关闭图优化，取消勾选，会使得地纹关键帧停留在原始位置上不动&lt;br /&gt;
[[文件:9906be627cab3cbfb3d49d0f6a38747.png|无|有框]]&lt;br /&gt;
&lt;br /&gt;
（3）Simple下发一段路径，同时开启地纹自动更新图层，即可开启纹理录制了&lt;br /&gt;
&lt;br /&gt;
（4）每隔一段距离，锁一下最后一个关键帧，再开启图优化，就会把之前建的纹理图给优化好。然后再关闭，再走，走完后再锁一个关键帧.......以此类推。&lt;br /&gt;
&lt;br /&gt;
（5）录好后锁定图层，然后另存图层，保存导航配置即可，这样下次打开detour会自动加载地纹图层&lt;br /&gt;
&lt;br /&gt;
= 8.注意点 =&lt;br /&gt;
1，若使用激光+地纹方案，Detour中激光以及纹理相机的xyth需要按照实际物理位置填写，车体运动中心为坐标原点，前进方向为x正，前进方向左侧y正&lt;br /&gt;
&lt;br /&gt;
2，由于地纹相机实时性比较高因此，不同雷达配合地纹使用需要修改time_bias_ms，镭神3d激光相比较相机大概延迟100ms左右，因此我们需要把相机的time_bias_ms改成-100&lt;br /&gt;
&lt;br /&gt;
[[文件:Maincam.png|无框]]&lt;br /&gt;
&lt;br /&gt;
3，fitTCfactor参数可以配置多传感器耦合的权重，越低则代表该传感器越不重要&lt;br /&gt;
&lt;br /&gt;
4，实际使用中，可能需要用到相机校准中的“反转和旋转功能”，在进行建图时，若出现车辆在地图中的移动情况与实际情况不一致，需使用“反转和旋转功能”使运动与建图情况一致。例如车往x正方向走，地纹图层应与车辆运动轨迹一致，若出现地纹图层以车为原点向x正方向延申，表示此时地纹里程计方向错误，需要点击“反转和旋转”中的横向翻转。&lt;br /&gt;
&lt;br /&gt;
5, 在使用地纹建图时，需要设置地纹里程计中froceDangling为true，建图完成后改为false。此参数代表地纹图层是否只根据激光位置做“记录”功能。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=422</id>
		<title>首页</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E9%A6%96%E9%A1%B5&amp;diff=422"/>
		<updated>2023-12-14T12:37:40Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​/* 使用手册 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[文件:MDCS-2023.png|缩略图|159x159像素|MDCS logo 2023]]&lt;br /&gt;
MDCS is a robot fleet developing platform, including the following components:&lt;br /&gt;
&lt;br /&gt;
[[Medulla]]: Efficient hardware communication and control platform.&lt;br /&gt;
&lt;br /&gt;
Detour: Positioning system, built-in Lidar and Visual SLAM&lt;br /&gt;
&lt;br /&gt;
Clumsy: Robot movement instruction platform, built-in typical movements for AGV/AMR.&lt;br /&gt;
&lt;br /&gt;
Simple: Robot fleet management including traffic control system.&lt;br /&gt;
&lt;br /&gt;
CycleGUI: Cycle based GUI framework, use co-routine to host GUI in an immediate-mode fashion. the co-routine is invoked only when a GUI refresh is needed.&lt;br /&gt;
&lt;br /&gt;
== 基本概念介绍 ==&lt;br /&gt;
定位：AGV的定位是由独立模块【Detour】完成。Detour支持激光雷达和视觉的各类SLAM算法，包括[[具有高鲁棒性的激光SLAM算法|具有高鲁棒性的2D激光SLAM算法]]、[[地纹SLAM]]、[[天花板SLAM]]、[[二维码识别导航|二维码导航]]等。Detour可以使用Medulla提供的数据来源、也可以自行获取。整套MDCS实施时一般使用Medulla提供的数据来源。&lt;br /&gt;
&lt;br /&gt;
AGV车载功能定义系统：由Medulla（硬件抽象逻辑）、Clumsy（车体运动抽象）组成；二者原理见[[车体抽象原理]]。Medulla+Clumsy可实现各类车体动作，最简单诸如[[巡线行走]]、[[绕障行走]]等，复杂一些的例子如[[自动识别工位并取放货]]、[[自动识别托盘取放货]]、[[识别料框并堆垛拆垛]]、[[联动天眼系统进行装卸车]]等。车载软件定义了AGV的能力集以及测试方法，并可由调度软件做动作组合从而完成整套任务。&lt;br /&gt;
&lt;br /&gt;
调度：交管、包络、寻路等内核算法由SimpleCore提供，其原理参见[[内核运行原理]]，SimpleCore提供编程接口使得用户可对具体车型或业务场景设置包络。对调度的运行原理参见：[[AGV任务运行逻辑]] 。MDCS提供一个简单的壳层称为SimpleComposer，其提供UI和基础的车辆通信定义，在此之上还支持插件进一步定义车辆具体细节和业务逻辑。&lt;br /&gt;
&lt;br /&gt;
== 使用手册 ==&lt;br /&gt;
[[MDCS-Walkthrough]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS简介]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 分析定位问题]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 车队管控]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 激光+纹理导航|使用手册 - 激光 纹理导航]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册-routing字段：设置车辆必经点（必不经点）逻辑]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:从使用到开发]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:coder（路径编译器）机制详解]]  &lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple:包络如何定义]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Medulla:相机使用方法 Camera Data Access Guide]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Detour车体编辑器使用教学]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 双雷达标定手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - 在地纹导航中使用二维码快速找回定位]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - MDCS软件部署方法介绍]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple软件文件管理标准化作业]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Simple图层合并手册]]&lt;br /&gt;
&lt;br /&gt;
[[使用手册 - Linux MDCS部署&amp;amp;配置&amp;amp;操作说明]]&lt;br /&gt;
&lt;br /&gt;
== 开发手册 ==&lt;br /&gt;
[[开发手册 - 轨迹跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[开发手册 - 目标跟踪]]&lt;br /&gt;
&lt;br /&gt;
[[FAQ]] &amp;amp; Cheat sheet&lt;br /&gt;
&lt;br /&gt;
[[待整理的杂项内容]]&lt;br /&gt;
&lt;br /&gt;
== 接口 ==&lt;br /&gt;
[[Medulla-API|Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[Detour-API|Detour]]&lt;br /&gt;
&lt;br /&gt;
[[Clumsy-API|Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[Simple-API|Simple]]&lt;br /&gt;
&lt;br /&gt;
== 术语和约定 ==&lt;br /&gt;
[[通用约定|MDCS开发通用约定]]&lt;br /&gt;
&lt;br /&gt;
[[定位导航]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Medulla]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Detour]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Clumsy]]&lt;br /&gt;
&lt;br /&gt;
[[MDCS参数表:Simple]]&lt;br /&gt;
&lt;br /&gt;
== 链接 ==&lt;br /&gt;
* [https://dl.lessokaji.com MDCS下载站]：MDCS的各类程序可在该站上下载&lt;br /&gt;
* [https://dev.lessokaji.com 技术讨论站]：包含FAQ、需求讨论、AGV项目实施经验等技术讨论&lt;br /&gt;
* [https://nuget.lessokaji.com MDCS专用Nuget源]：MDCS主要使用c#进行开发，该源包括主要会用的库&lt;br /&gt;
* [https://git.lessokaji.com MDCS代码库]：git源&lt;br /&gt;
* [https://auth.lessokaji.com MDCS授权站]：License授权、代码阅读和编译权限授权站&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%9C%A8%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%BF%AB%E9%80%9F%E6%89%BE%E5%9B%9E%E5%AE%9A%E4%BD%8D&amp;diff=345</id>
		<title>使用手册 - 在地纹导航中使用二维码快速找回定位</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%9C%A8%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%BF%AB%E9%80%9F%E6%89%BE%E5%9B%9E%E5%AE%9A%E4%BD%8D&amp;diff=345"/>
		<updated>2023-11-30T09:17:06Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. 使用背景 ==&lt;br /&gt;
由于地纹相机视野有限，只能匹配15*15cm大小的画面，所以当车辆脱离地纹图层后，很难手动找回定位，所以通过增加定位点并在定位点上粘贴lessTag二维码的方式，使找回定位变得简单快速。&lt;br /&gt;
&lt;br /&gt;
== 2. 使用前准备 ==&lt;br /&gt;
&lt;br /&gt;
=== 2.1 施工准备 ===&lt;br /&gt;
首先需要确定地纹路线以及定位点，地纹路线粘贴标线便于修图，在定位点上粘贴lessTag二维码，二维码贴在标线之上，二维码大小要求5*5cm，pvc材质防止磨损，并且不同定位点的码值需不同。&lt;br /&gt;
&lt;br /&gt;
=== 2.2 程序准备 ===&lt;br /&gt;
&lt;br /&gt;
# detour版本需更新至最新（至少为2023-11-28版本）；&lt;br /&gt;
# detour根目录下除地纹所需库文件外，还需有cllesstag.dll文件；&lt;br /&gt;
# 车辆Detour配置已满足地纹录制及运行条件；&lt;br /&gt;
&lt;br /&gt;
== 3. 添加二维码识别器 ==&lt;br /&gt;
使用二维码功能前，需要先添加二维码识别器，在Detour-二维码-二维码识别器中点击添加，名称为地纹相机的名称。&lt;br /&gt;
[[文件:802c0a8172b2f4750de85fed3454ca7.png|无|缩略图|600x600像素]]&lt;br /&gt;
添加完成后，先不要点击启动，保存导航配置后打开detour.json，找到clDev，改为GT，代表使用nvidia显卡。保存后重启detour。&lt;br /&gt;
[[文件:22163df07e0bc94c6fa54f3ef2eadb2.png|无|缩略图|600x600像素]]&lt;br /&gt;
此时可以看到相机的调试信息。&lt;br /&gt;
[[文件:82ef797db0f18a480cea2af6a548fc2.png|无|缩略图|600x600像素]]&lt;br /&gt;
然后添加二维码地图，点击二维码地图-添加，添加一个二维码图层。&lt;br /&gt;
[[文件:Ea9a6c2bf2624cb30a14e116537acf8.png|无|缩略图|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
== 4. 开始录制地纹+二维码地图 ==&lt;br /&gt;
沿着标线录制地纹地图，此步骤不在重复叙述。&lt;br /&gt;
&lt;br /&gt;
录制地纹时，需要每隔一段路进行一次修正，当相机扫描到二维码时，把此关键帧作为修正的点，将这一帧修正到正确的位置并锁定后，打开图优化进行整体修正。然后点击根据当前位置自动添加，就可以看到地图上出现了二维码标记点。&lt;br /&gt;
[[文件:16f906e8e8ae0e796c9d62b20471e0d.png|无|缩略图|600x600像素]]&lt;br /&gt;
[[文件:147d350e72e5c4dea5fee51a03c71d2.png|无|缩略图|600x600像素]]&lt;br /&gt;
待所有地纹+二维码都录制完成后，保存图层，并勾选”仅用于位置恢复“，然后保存detour.json。&lt;br /&gt;
&lt;br /&gt;
== 5. 使用方法 ==&lt;br /&gt;
当车辆行驶脱离地纹图层后，需要找到位置时，只需将车辆行驶至二维码上，就可自动找到位置。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%9C%A8%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%BF%AB%E9%80%9F%E6%89%BE%E5%9B%9E%E5%AE%9A%E4%BD%8D&amp;diff=344</id>
		<title>使用手册 - 在地纹导航中使用二维码快速找回定位</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E4%BD%BF%E7%94%A8%E6%89%8B%E5%86%8C_-_%E5%9C%A8%E5%9C%B0%E7%BA%B9%E5%AF%BC%E8%88%AA%E4%B8%AD%E4%BD%BF%E7%94%A8%E4%BA%8C%E7%BB%B4%E7%A0%81%E5%BF%AB%E9%80%9F%E6%89%BE%E5%9B%9E%E5%AE%9A%E4%BD%8D&amp;diff=344"/>
		<updated>2023-11-30T09:09:57Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​创建页面，内容为“== 1. 使用背景 == 由于地纹相机视野有限，只能匹配15*15cm大小的画面，所以当车辆脱离地纹图层后，很难手动找回定位，所以通过增加定位点并在定位点上粘贴lessTag二维码的方式，使找回定位变得简单快速。  == 2. 使用前准备 ==  === 2.1 施工准备 === 首先需要确定地纹路线以及定位点，地纹路线粘贴标线便于修图，在定位点上粘贴lessTag二维码，二维码贴…”&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== 1. 使用背景 ==&lt;br /&gt;
由于地纹相机视野有限，只能匹配15*15cm大小的画面，所以当车辆脱离地纹图层后，很难手动找回定位，所以通过增加定位点并在定位点上粘贴lessTag二维码的方式，使找回定位变得简单快速。&lt;br /&gt;
&lt;br /&gt;
== 2. 使用前准备 ==&lt;br /&gt;
&lt;br /&gt;
=== 2.1 施工准备 ===&lt;br /&gt;
首先需要确定地纹路线以及定位点，地纹路线粘贴标线便于修图，在定位点上粘贴lessTag二维码，二维码贴在标线之上，二维码大小要求5*5cm，pvc材质防止磨损，并且不同定位点的码值需不同。&lt;br /&gt;
&lt;br /&gt;
=== 2.2 程序准备 ===&lt;br /&gt;
&lt;br /&gt;
# detour版本需更新至最新（至少为2023-11-28版本）；&lt;br /&gt;
# detour根目录下除地纹所需库文件外，还需有cllesstag.dll文件；&lt;br /&gt;
# 车辆Detour配置已满足地纹录制及运行条件；&lt;br /&gt;
&lt;br /&gt;
== 3. 添加二维码识别器 ==&lt;br /&gt;
使用二维码功能前，需要先添加二维码识别器，在Detour-二维码-二维码识别器中点击添加，名称为地纹相机的名称。&lt;br /&gt;
[[文件:802c0a8172b2f4750de85fed3454ca7.png|无|缩略图|600x600像素]]&lt;br /&gt;
添加完成后，先不要点击启动，保存导航配置后打开detour.json，找到clDev，改为GT，代表使用nvidia显卡。保存后重启detour。&lt;br /&gt;
[[文件:22163df07e0bc94c6fa54f3ef2eadb2.png|无|缩略图|600x600像素]]&lt;br /&gt;
此时可以看到相机的调试信息。&lt;br /&gt;
[[文件:82ef797db0f18a480cea2af6a548fc2.png|无|缩略图|600x600像素]]&lt;br /&gt;
然后添加二维码地图，点击二维码地图-添加，添加一个二维码图层。&lt;br /&gt;
[[文件:Ea9a6c2bf2624cb30a14e116537acf8.png|无|缩略图|600x600像素]]&lt;br /&gt;
&lt;br /&gt;
== 4. 开始录制地纹+二维码地图 ==&lt;br /&gt;
沿着标线录制地纹地图，此步骤不在重复叙述。&lt;br /&gt;
&lt;br /&gt;
录制地纹时，需要每隔一段路进行一次修正，当相机扫描到二维码时，把此关键帧作为修正的点，将这一帧修正到正确的位置并锁定后，打开图优化进行整体修正。然后点击根据当前位置自动添加，就可以看到地图上出现了二维码标记点。&lt;br /&gt;
[[文件:16f906e8e8ae0e796c9d62b20471e0d.png|无|缩略图|600x600像素]]&lt;br /&gt;
[[文件:147d350e72e5c4dea5fee51a03c71d2.png|无|缩略图|600x600像素]]&lt;br /&gt;
待所有地纹+二维码都录制完成后，保存图层。&lt;br /&gt;
&lt;br /&gt;
== 5. 使用方法 ==&lt;br /&gt;
当车辆行驶脱离地纹图层后，需要找到位置时，只需将车辆行驶至二维码上，就可自动找到位置。&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:147d350e72e5c4dea5fee51a03c71d2.png&amp;diff=343</id>
		<title>文件:147d350e72e5c4dea5fee51a03c71d2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:147d350e72e5c4dea5fee51a03c71d2.png&amp;diff=343"/>
		<updated>2023-11-30T09:07:36Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:16f906e8e8ae0e796c9d62b20471e0d.png&amp;diff=342</id>
		<title>文件:16f906e8e8ae0e796c9d62b20471e0d.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:16f906e8e8ae0e796c9d62b20471e0d.png&amp;diff=342"/>
		<updated>2023-11-30T09:06:11Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:Ea9a6c2bf2624cb30a14e116537acf8.png&amp;diff=341</id>
		<title>文件:Ea9a6c2bf2624cb30a14e116537acf8.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:Ea9a6c2bf2624cb30a14e116537acf8.png&amp;diff=341"/>
		<updated>2023-11-30T09:01:41Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:82ef797db0f18a480cea2af6a548fc2.png&amp;diff=340</id>
		<title>文件:82ef797db0f18a480cea2af6a548fc2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:82ef797db0f18a480cea2af6a548fc2.png&amp;diff=340"/>
		<updated>2023-11-30T08:59:32Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:22163df07e0bc94c6fa54f3ef2eadb2.png&amp;diff=339</id>
		<title>文件:22163df07e0bc94c6fa54f3ef2eadb2.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:22163df07e0bc94c6fa54f3ef2eadb2.png&amp;diff=339"/>
		<updated>2023-11-30T08:58:02Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
	<entry>
		<id>https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:802c0a8172b2f4750de85fed3454ca7.png&amp;diff=338</id>
		<title>文件:802c0a8172b2f4750de85fed3454ca7.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.lessokaji.com/index.php?title=%E6%96%87%E4%BB%B6:802c0a8172b2f4750de85fed3454ca7.png&amp;diff=338"/>
		<updated>2023-11-30T08:53:30Z</updated>

		<summary type="html">&lt;p&gt;Yuhang：​&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;二维码&lt;/div&gt;</summary>
		<author><name>Yuhang</name></author>
	</entry>
</feed>