当前位置: 首页 > news >正文

SLAM公式中双竖线 ||·|| 表示什么意思?一文搞懂范数的含义


📝 简短回答

||·|| 表示范数(norm)**,你可以把它理解为"距离"或"大小"的度量。

🎯 为什么优化问题中要用范数?

在优化问题中,我们经常看到这样的表达式:
min ⁡ x ∑ k ∥ e k ( x ) ∥ 2 \min_{\mathbf{x}} \sum_{k} \| \mathbf{e}_k(\mathbf{x}) \|^2xminkek(x)2

让我用一个生活化的例子来解释:

🚗 生活中的类比:导航误差

假设你在用导航软件找路:

  • 场景:导航说"前方100米右转"
  • 实际情况:你实际走了,发现转弯点距离你98米
  • 误差e k = 2 e_k = 2ek=2

这个"2米"就是一个标量(单个数字),它的"大小"就是2本身。但很多情况下,误差不是单个数字,而是一个向量

📐 为什么需要范数?

情况1:误差是单个数字(标量)

比如上面的导航例子,误差就是e = 2 e = 2e=2米,直接平方e 2 = 4 e^2 = 4e2=4就可以。这时∥ e ∥ \|e\|e就等于∣ e ∣ |e|e(绝对值)。

情况2:误差是多个数字(向量)

在SLAM中,一个误差通常包含多个方面:
e = ( Δ x Δ y Δ θ ) = ( 0.1 米 − 0.05 米 0.02 弧度 ) \mathbf{e} = \begin{pmatrix} \Delta x \\ \Delta y \\ \Delta \theta \end{pmatrix} = \begin{pmatrix} 0.1 \text{米} \\ -0.05 \text{米} \\ 0.02 \text{弧度} \end{pmatrix}e=ΔxΔyΔθ=0.10.050.02弧度
这个误差向量包含了三个不同维度的信息。问题来了:这个误差整体上"有多大"?

🎯 范数的作用

范数就是把一个向量(多个数)映射成一个标量(一个数),告诉我们这个向量整体的"大小"。

最常见的范数:L2范数(欧几里得范数)
∥ e ∥ = Δ x 2 + Δ y 2 + Δ θ 2 \| \mathbf{e} \| = \sqrt{\Delta x^2 + \Delta y^2 + \Delta \theta^2}e=Δx2+Δy2+Δθ2

还是上面的例子:
∥ e ∥ = 0.1 2 + ( − 0.05 ) 2 + 0.02 2 = 0.01 + 0.0025 + 0.0004 = 0.0129 ≈ 0.114 \| \mathbf{e} \| = \sqrt{0.1^2 + (-0.05)^2 + 0.02^2} = \sqrt{0.01 + 0.0025 + 0.0004} = \sqrt{0.0129} \approx 0.114e=0.12+(0.05)2+0.022=0.01+0.0025+0.0004=0.01290.114
这个 0.114 就是误差的"总大小"。

为什么还要平方?∥ e ∥ 2 \| \mathbf{e} \|^2e2

因为我们通常最小化平方和
∥ e ∥ 2 = Δ x 2 + Δ y 2 + Δ θ 2 = 0.0129 \| \mathbf{e} \|^2 = \Delta x^2 + \Delta y^2 + \Delta \theta^2 = 0.0129e2=Δx2+Δy2+Δθ2=0.0129

好处

  1. 去掉根号:计算更简单
  2. 数学性质好:可导、凸性等
  3. 物理意义:相当于能量或代价
🌍 更多生活中的例子

例子1:投掷标靶

你在玩飞镖:

  • 目标是靶心( 0 , 0 ) (0,0)(0,0)
  • 你投中的点是( x , y ) (x,y)(x,y)

误差向量e = ( x , y ) \mathbf{e} = (x, y)e=(x,y)

误差大小

  • 普通理解:离靶心多远?x 2 + y 2 \sqrt{x^2 + y^2}x2+y2—— 这就是∥ e ∥ \|\mathbf{e}\|e
  • 优化目标:让∥ e ∥ 2 = x 2 + y 2 \|\mathbf{e}\|^2 = x^2 + y^2e2=x2+y2最小

例子2:三维空间定位

无人机定位误差:

  • X方向偏了 2 米
  • Y方向偏了 3 米
  • Z方向偏了 1 米

误差向量e = ( 2 , 3 , 1 ) \mathbf{e} = (2, 3, 1)e=(2,3,1)

总偏差

  • ∥ e ∥ = 2 2 + 3 2 + 1 2 = 14 ≈ 3.74 \|\mathbf{e}\| = \sqrt{2^2 + 3^2 + 1^2} = \sqrt{14} \approx 3.74e=22+32+12=143.74
  • ∥ e ∥ 2 = 14 \|\mathbf{e}\|^2 = 14e2=14(平方米)
📊 不同类型的范数

除了L2范数,还有其他的"大小"度量方式:

L1范数(曼哈顿距离)
∥ e ∥ 1 = ∣ Δ x ∣ + ∣ Δ y ∣ + ∣ Δ θ ∣ \|\mathbf{e}\|_1 = |\Delta x| + |\Delta y| + |\Delta \theta|e1=∣Δx+∣Δy+∣Δθ
比喻:在只能横平竖直走的城市里,从A到B需要走多远。

L∞范数(切比雪夫距离)
∥ e ∥ ∞ = max ⁡ ( ∣ Δ x ∣ , ∣ Δ y ∣ , ∣ Δ θ ∣ ) \|\mathbf{e}\|_\infty = \max(|\Delta x|, |\Delta y|, |\Delta \theta|)e=max(∣Δx,∣Δy,∣Δθ)
比喻:最大的那个误差有多大。

但在SLAM和优化中,最常用的是L2范数,因为它:

  • 物理意义明确(欧氏距离)
  • 数学性质好(处处可导)
  • 对应最小二乘法的理论基础
🔬 深入理解:带权重的范数

在SLAM中,你还会看到这种形式:
∥ e ∥ Λ 2 = e T Λ e \| \mathbf{e} \|^2_{\boldsymbol{\Lambda}} = \mathbf{e}^T \boldsymbol{\Lambda} \mathbf{e}eΛ2=eTΛe
这叫做马氏距离(Mahalanobis distance)。

为什么需要权重?

不同方向的测量精度不同:

  • GPS:水平方向准,垂直方向不准
  • 激光雷达:近距离准,远距离不准

权重矩阵Λ \boldsymbol{\Lambda}Λ的作用:

  • 如果某个方向测量很准,就给大权重
  • 如果不准,给小权重
  • 通常是协方差矩阵的逆:Λ = Σ − 1 \boldsymbol{\Lambda} = \boldsymbol{\Sigma}^{-1}Λ=Σ1

直观理解

假设:

  • X方向误差:0.1米,测量很准(权重100)
  • Y方向误差:0.1米,测量不准(权重1)

加权后的误差大小:
∥ e ∥ Λ 2 = 100 × 0.1 2 + 1 × 0.1 2 = 1 + 0.01 = 1.01 \| \mathbf{e} \|^2_{\boldsymbol{\Lambda}} = 100 \times 0.1^2 + 1 \times 0.1^2 = 1 + 0.01 = 1.01eΛ2=100×0.12+1×0.12=1+0.01=1.01
看!同样都是0.1米的误差,但X方向的误差"代价"更大,因为它更应该被精确测量。

📝 总结
符号含义通俗理解
∣ e ∣ |\mathbf{e}|e向量的范数误差的"总大小"
∣ e ∣ 2 |\mathbf{e}|^2e2范数的平方误差的"能量"
∣ e ∣ Λ 2 |\mathbf{e}|^2_{\boldsymbol{\Lambda}}eΛ2加权范数考虑权重的误差大小

记住:在优化问题中,我们无法直接比较向量,所以需要用范数把它们变成可以比较和累加的数字。这就像:

  • 你不能直接比较一个篮子里苹果和橘子的"总差异"
  • 但你可以用"总重量"或"总体积"来比较

双竖线 ||·|| 就是做这个转换的"量尺"!


行知SLAM
机器人定位与建图技术专家
博客主页 | 技术专栏

「技术之道,在于明理;工程之道,在于实践」


http://www.jsqmd.com/news/472817/

相关文章:

  • 甘肃2026上半年软考报名时间已出!
  • 院墙上的监控成摆设?避开这三个坑,不给骗子留机会!室外监控摄像头哪个品牌好
  • Boost源码分析: Serialization
  • 国产化解决方案!鼎讯信通 射频信号源模块 DXSL系列
  • 哺乳动物为什么不长绿毛
  • next-dbm:审批可控、部署高效,解锁数据构建更新新范式
  • 广西选物业律师实践经验分享,效果看得见!
  • 计算机毕业设计springboot基于Java的校园问题反馈系统 基于Spring Boot框架的高校师生诉求处理与服务平台的设计与实现 基于Java Web的校园意见收集与问题跟踪管理系统开发与应用
  • 鱼眼相机标定矫正详细步骤
  • 参观幼儿园前要做哪些准备?
  • 如何封装一个vue组件为hook函数
  • 皮皮宋渗透日记 09|业务逻辑漏洞全总结:登录 / 验证码 / 支付 / 找回密码 / 越权一网打尽
  • OpenClaw 使用指南:指令大集合
  • 数据结构:合并两个有序链表约瑟夫问题详解(C语言实现 + 图解思路)
  • 开源OpenClaw部署指南
  • openClaw实用Skill
  • master 节点 Java 环境安装操作总结
  • 【企业形象】优秀公司介绍PPT,远不止幻灯片!
  • 关于DeepSeek的详细介绍
  • OpenClaw数据安全深度分析:守护AI执行全流程,优选OPE本地部署
  • Flutter 三方库 dnsolve 的鸿蒙化适配指南 - 让网络寻址回归“高确定性”,打造鸿蒙应用专家级的 DNS 解析与全局网络调度底座
  • java深度学习【AI Infra】Pytorch ON Java 简介 学真算法 用真框架 做认真的人 掌握真本领
  • 【求助】穷学生想进linux do论坛
  • 奥尔特云智慧安保解决方案,安全运营“稳定器”
  • 714. 买卖股票的最佳时机含手续费
  • 现象级爆火:一只 “龙虾” 引发的全民狂欢
  • 2026年三防布行业TOP10厂商盘点:谁将引领市场新趋势?
  • Oracle 拒绝放权 MySQL,社区版发展何去何从?
  • pytorch使用笔记、hugging face等
  • 代码随想录算法训练营第三十八天|198.打家劫舍、213.打家劫舍II、337.打家劫舍III。