<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E5%A4%9A%E5%AE%9A%E4%BD%8D%E6%BA%90%E7%9A%84%E8%87%AA%E5%8A%A8%E7%BB%BC%E5%90%88</id>
	<title>多定位源的自动综合 - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki2.lessokaji.com/index.php?action=history&amp;feed=atom&amp;title=%E5%A4%9A%E5%AE%9A%E4%BD%8D%E6%BA%90%E7%9A%84%E8%87%AA%E5%8A%A8%E7%BB%BC%E5%90%88"/>
	<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E5%A4%9A%E5%AE%9A%E4%BD%8D%E6%BA%90%E7%9A%84%E8%87%AA%E5%8A%A8%E7%BB%BC%E5%90%88&amp;action=history"/>
	<updated>2026-05-16T15:01:25Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://wiki2.lessokaji.com/index.php?title=%E5%A4%9A%E5%AE%9A%E4%BD%8D%E6%BA%90%E7%9A%84%E8%87%AA%E5%8A%A8%E7%BB%BC%E5%90%88&amp;diff=1025&amp;oldid=prev</id>
		<title>Artheru：​Initial bilingual draft (auto-published)</title>
		<link rel="alternate" type="text/html" href="https://wiki2.lessokaji.com/index.php?title=%E5%A4%9A%E5%AE%9A%E4%BD%8D%E6%BA%90%E7%9A%84%E8%87%AA%E5%8A%A8%E7%BB%BC%E5%90%88&amp;diff=1025&amp;oldid=prev"/>
		<updated>2026-05-16T11:43:02Z</updated>

		<summary type="html">&lt;p&gt;Initial bilingual draft (auto-published)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;languages/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 概述 / Overview ==&lt;br /&gt;
&amp;quot;多定位源的自动综合&amp;quot;是 Detour 把多种定位手段（激光 SLAM、地纹 SLAM、天花板 SLAM、二维码、IMU、轮编里程计、RTK、UWB）融合为单一 6-DoF 位姿的机制。核心是 TightCoupler —— 一个紧耦合的位姿图优化器，根据每个观测源的协方差自动加权。&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Auto multi-source positioning fusion&amp;quot; is Detour's mechanism for merging multiple localisation sources (laser SLAM, ground-texture SLAM, ceiling SLAM, QR, IMU, wheel odometry, RTK, UWB) into a single 6-DoF pose. The core is the TightCoupler — a tightly-coupled pose-graph optimiser that weights each source by its covariance.&lt;br /&gt;
&lt;br /&gt;
实现位置：`D:\src\Detour\DetourCore\Algorithms\TightCoupler.ExternalCoupler.cs`。&lt;br /&gt;
Implementation: `D:\src\Detour\DetourCore\Algorithms\TightCoupler.ExternalCoupler.cs`.&lt;br /&gt;
&lt;br /&gt;
== 为什么需要 / Why fuse ==&lt;br /&gt;
任何单一定位源都有 ''盲点''：&lt;br /&gt;
Every single source has '''blind spots''':&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! 源 / Source !! 强 / Strength !! 弱 / Weakness&lt;br /&gt;
|-&lt;br /&gt;
| 激光 SLAM || 几何信息丰富的工业场景精度高 / High accuracy in geom-rich industrial sites || 长走廊 / 镜面 / 重对称场景退化&lt;br /&gt;
|-&lt;br /&gt;
| 地纹 SLAM || 平整地面 mm 量级 / Sub-cm on smooth floors || 湿水 / 油污地遮挡&lt;br /&gt;
|-&lt;br /&gt;
| 天花板 SLAM || 地面动态时仍稳 / Stable when floor is busy || 高反射 / 低净高场景&lt;br /&gt;
|-&lt;br /&gt;
| 二维码 || 已知二维码处亚厘米 / Sub-cm where tags present || 视场无二维码时无输出&lt;br /&gt;
|-&lt;br /&gt;
| IMU + 轮编里程计 || 高频、低延迟 / High-rate, low-latency || 累积漂移，无全局信息&lt;br /&gt;
|-&lt;br /&gt;
| RTK GNSS || 室外厘米级 / Outdoor cm-level || 室内不可用&lt;br /&gt;
|-&lt;br /&gt;
| UWB || 室内 ~10 cm / Indoor ~10 cm || 多径效应 + 基站布设成本&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
''多源融合''让强项互补、弱项互救：例如长走廊上激光退化、地纹接管；天眼区有遮挡时二维码补全。&lt;br /&gt;
Fusion lets strengths complement and weaknesses recover: e.g. laser drops in long corridors while ground-texture takes over; QR catches up where ceiling is occluded.&lt;br /&gt;
&lt;br /&gt;
== 紧耦合 / Tight coupling ==&lt;br /&gt;
&amp;quot;紧耦合&amp;quot;是与&amp;quot;松耦合&amp;quot;对比的术语：&lt;br /&gt;
&amp;quot;Tight&amp;quot; vs &amp;quot;loose&amp;quot; coupling:&lt;br /&gt;
&lt;br /&gt;
* '''松耦合 / Loose''': 每个源独立产生 ''位姿''，最后用 EKF 加权平均位姿。简单但损失原始观测信息。&lt;br /&gt;
* '''紧耦合 / Tight''': 每个源的 ''原始观测''（约束）进入同一个位姿图，统一优化。MDCS 使用紧耦合。&lt;br /&gt;
&lt;br /&gt;
Loose: each source emits a pose; EKF averages them. Tight: each source's raw observation enters one pose graph; everything optimised jointly. MDCS uses tight coupling.&lt;br /&gt;
&lt;br /&gt;
== 外部反馈接口 / External-feed API ==&lt;br /&gt;
非 Detour 内置的定位源（轮编里程计 / IMU / RTK / UWB / 第三方视觉）通过 `TightCoupler.PostExternalFeed()` 接入：&lt;br /&gt;
&lt;br /&gt;
Non-built-in sources (wheel odom / IMU / RTK / UWB / third-party vision) enter Detour through `TightCoupler.PostExternalFeed()`:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
TightCoupler.PostExternalFeed(new ExternalFeed&lt;br /&gt;
{&lt;br /&gt;
    name           = &amp;quot;wheel_imu_2&amp;quot;,&lt;br /&gt;
    counter        = tick++,&lt;br /&gt;
    hasTranslation = true,&lt;br /&gt;
    hasRotation    = true,&lt;br /&gt;
    is2D           = true,        // 2D 平面运动 / 2D planar&lt;br /&gt;
    integrated     = true,        // 这是个 ''累积'' 量 / cumulative&lt;br /&gt;
    toRemap        = false,       // 不是绝对参考系 / not absolute frame&lt;br /&gt;
    startingTick   = baselineTick,// 累积起算的基准 tick / baseline&lt;br /&gt;
    x = odomX, y = odomY, th = odomTh&lt;br /&gt;
}, name: &amp;quot;WheelImu&amp;quot;);&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
主要字段：&lt;br /&gt;
* `hasTranslation / hasRotation` — 提供的自由度&lt;br /&gt;
* `is2D / is3D` — 平面 vs 3D&lt;br /&gt;
* `integrated` — 累积量（必须配合 `startingTick`）还是单帧量&lt;br /&gt;
* `toRemap` — true 表示绝对参考系（如 RTK），融合时需要做全局重映射&lt;br /&gt;
&lt;br /&gt;
== 自动加权 / Automatic weighting ==&lt;br /&gt;
TightCoupler 不需要手动设置每个源的权重；权重 = 协方差矩阵的逆。每个源必须 ''诚实''汇报自己的协方差：&lt;br /&gt;
&lt;br /&gt;
TightCoupler doesn't require hand-tuned per-source weights. Weight = covariance inverse. Each source must report its covariance honestly:&lt;br /&gt;
&lt;br /&gt;
* 激光 SLAM：Hessian 求逆给出&lt;br /&gt;
* 二维码：从 PnP 重投影残差估计&lt;br /&gt;
* IMU / 里程计：从硬件规格 + 时间间隔估计&lt;br /&gt;
* RTK：从 GNSS 接收机 reported DOP&lt;br /&gt;
&lt;br /&gt;
错报协方差是 ''融合崩坏''的最常见原因 —— 一个谎报&amp;quot;我超准&amp;quot;的源会 ''统治''融合结果。&lt;br /&gt;
Mis-reporting covariance is the single most common cause of fusion blow-ups — a source claiming to be much more accurate than reality will dominate.&lt;br /&gt;
&lt;br /&gt;
== 故障处理 / Failure handling ==&lt;br /&gt;
* '''源静默''' / Source silence: 超时 → 该源从下一帧的位姿图中 ''删除''，不影响其它源。&lt;br /&gt;
* '''源剧烈跳变''' / Wild source jump: TightCoupler 内置 ''卡方检验''，跳变 &amp;gt; 5σ 的观测直接丢弃。&lt;br /&gt;
* '''融合发散''' / Fusion divergence: 残差持续上升 → 触发 ''软重启''（保留主导源，重置其它源的位姿先验）。&lt;br /&gt;
&lt;br /&gt;
== 调试 / Debugging ==&lt;br /&gt;
Detour UI 的&amp;quot;融合面板&amp;quot;显示：&lt;br /&gt;
The Detour UI's &amp;quot;fusion panel&amp;quot; shows:&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;
A &amp;quot;single-source debug mode&amp;quot; forces the fusion to use only one source — handy for diagnosing a misbehaving one.&lt;br /&gt;
&lt;br /&gt;
== 相关页面 / See also ==&lt;br /&gt;
* [[Special:MyLanguage/Detour软件架构|Detour软件架构]]&lt;br /&gt;
* [[Special:MyLanguage/Detour激光SLAM算法详解|Detour激光SLAM算法详解]]&lt;br /&gt;
* [[Special:MyLanguage/Detour地面纹理SLAM算法详解|Detour地面纹理SLAM算法详解]]&lt;br /&gt;
* [[Special:MyLanguage/二维码识别导航|二维码识别导航]]&lt;br /&gt;
* [[Special:MyLanguage/天花板SLAM|天花板SLAM]]&lt;br /&gt;
* [[Special:MyLanguage/使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位|使用手册 - 同时使用激光、地纹、二维码、轮编里程计和IMU进行鲁棒定位]]&lt;br /&gt;
* [[Special:MyLanguage/输入GPS外部定位|输入GPS外部定位]]&lt;br /&gt;
&lt;br /&gt;
[[Category:定位导航相关手册]]&lt;/div&gt;</summary>
		<author><name>Artheru</name></author>
	</entry>
</feed>