收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

机器人、无人车、无人机、AR都离不开它,什么东西这么管用?

[复制链接]
$ t, z5 \+ g0 G9 |/ L3 p6 T
, @# \0 k& Y C0 V/ p

作者:

; j6 n) Q# I# r4 Z$ R# y+ A
$ Y. {9 t$ ?& \& l2 G+ A
. u% o6 M" W1 v' t. \

当你身处一个陌生的地方,要准确找到目的地和路线,十有八九会打开手机上的地图 app,然后定位、输入目的地、规划路线、导航。

1 ?; ]4 i& ]0 N
! H" j X( v& K8 b5 ]2 f0 c5 ?4 p
8 W: p9 X% |/ \

机器人也一样。当它们身处未知环境时,一样要通过以上步骤才能做出正确的运动。只不过,机器人靠的不是手机地图 app,而是 SLAM 技术。

/ v% w' Z& L1 t) G/ w
- C- S+ V6 H8 k1 @, }( m
5 [0 H/ X# d5 u) w+ I* z, Q) [# b

SLAM 全称 Simultaneous Localization and Mapping,中文名曰「同步定位与地图构建」,主要用于解决机器人在未知环境运动时的定位和地图构建问题。这更像一个概念,而不是某种算法。它本身包含许多步骤,其中的每一个步骤均可以使用不同的算法实现。

" B, ?: ]/ w# U6 c
6 g, W1 Z6 P B2 I* M
' ^( H" t& M. _6 A0 t/ o

机器人、无人车、无人机、AR,无所不能的 SLAM

! L' [/ x! g( q2 F7 h+ ]% o5 ~
5 n/ H! n$ v/ [0 ^* u
$ K2 R- |& ^! N/ Y" U* P0 N7 d3 A- M

两年前,SLAM 最流行的应用场景还只是我们家里的扫地机器人。近几年,随着无人机、无人驾驶、服务机器人、仓储机器人以及 AR 的兴起,SLAM 作为其中核心技术的一种,正变得越来越重要。

* h2 E6 [0 J9 G
$ R3 Q3 ^- g3 H
5 |7 a0 Q- g. N0 k3 `6 c1 U
. c/ e2 p' E+ r
5 b" X# c2 f, s6 F
9 V" k @$ B" }0 X: P

曾引用 SLAM 技术发烧友 Guang Ling 的话,来强调 SLAM 技术的重要性:雷锋网过去一篇文章

) J% b5 H3 R& {: [1 B( U6 E" [$ I, E9 y
: E+ P$ p9 M- _, v: k" {6 `
3 \% r3 t7 a; y

一个机器人也好,无人汽车也好,其中最核心,最根本的问题有四个,定位技术、 跟踪技术、 路径规划技术(Path Planning), 还有就是控制技术(Controlling)。

+ x5 D- b/ B6 M1 r$ [
9 w, P+ n2 \! G% X
# k3 w0 y c( \6 [. b

而这四个问题中的前三个,SLAM 都扮演了最核心的功能。打个比方,若是手机离开了 wifi 和数据网络,就像无人车和机器人,离开了 SLAM 一样。

6 A2 x4 N: a' u' H& s) E
+ T* p% [; ]: N: I
( g+ s7 f. \6 O4 G! M' ?0 w0 J

也许有读者好奇,为什么无人车也非常依赖 SLAM?因为无人车被看作移动机器人的一种,也需要首先解决定位、避障和导航的问题。目前用在无人驾驶汽车上的 SLAM 主要是基于激光雷达传感器,后面会详细提到。

0 u! h/ K4 W# I3 J" f
( d. D$ U& I4 G# K8 R7 D' D* ^4 B. P% `
9 q3 P' E& D1 z# Q# b
' Y7 n! S- g( V% J
- ?7 q Q2 o$ N8 a; f! {* g# ^! m
5 e" v; C1 G5 ?, M! m/ D. j) I

天上飞的的无人机同样需要 SLAM 来「添翼」。SLAM 能让无人机知道障碍物在哪里,进而实现自动避障的功能。

* R. Z; w5 ^8 ]( y4 j- B
' b$ ^( |3 [, J. P( B9 N# d5 S% d
3 i& Q/ |+ r/ c4 p

香港科技大学助理研究员徐枭涵曾在知乎上如此形容 SLAM 对无人机的重要性:

& @5 x u) G8 \
2 Q; K6 J1 _- B2 @+ i
# J1 v: e f C& n: m2 o G4 l

所有的关于无人机的梦想都建立在 SLAM 之上,这是无人机能飞(具有定位,姿态确定以后)的时代以后,无人机最核心的技术。也是现代无人机和玩具的区别。

' [4 M* p' P( h
; z, ^" @7 i. {- @
; q: B+ v! L# \
% v+ |7 W( J2 f `( b7 B$ V3 }' N$ D: B
/ f7 x3 p, f; O) B I& ?
- v: {# G2 X5 a- t( Z# [

无人车、无人机,都可以算作机器人的一种,依赖 SLAM 很好理解。但与机器人没什么关系的 AR 设备,其实也是 SLAM 的一个重要应用。

: s( H% Z; M/ y
- r6 D: Z! p9 B+ _6 k5 V% w. e
5 _2 x/ a& y" i) g! U4 }$ f3 ?) y

如果没有 SLAM 加持,所有头戴眼镜就只是一个近眼投影设备。有了 SLAM,AR 眼镜才能知道自己的空间坐标和相对于室内各种障碍物的位置,同时识别出各种室内摆件的形状。这是 AR 设备人机交互的基础。

% _6 ^( r4 h' m0 w7 g* X
2 n: [' Z$ b9 C8 R
% w# C; S' G; K! r6 R3 u: S; e2 F
7 f( r1 O2 f8 z7 Q; F4 W
$ U. i# j; O6 F4 X5 J8 P$ ~
0 x5 w3 u+ I/ w$ A p7 m

由于 AR 是将虚拟图像叠加在真实物体上,所以 SLAM 的应用讲究局部精度,要求避免出现漂移、抖动的现象,虚拟与真实才能完美地融合在一起。另外,AR 对帧率、硬件体积、计算量、功率、成本等问题都更敏感。

: G+ ~& J- n9 f# {, i* B5 g) O
. I8 a# [. @( W4 ]; V, N! I. W
: ~9 i+ b9 @, {. J! l* P

激光雷达、单目、双目、RGBD,SLAM 传感器的分类

4 r# J) }- h* q# r# x: E
- l5 r; Z; r S- v! I/ ~
1 x% D3 k5 s4 _9 L" Z

实现 SLAM 的第一步,是选择传感器的形式和安装方式。传感器分为激光雷达和视觉两大类,视觉下面又分三小方向。

8 r2 M& {( w' A d3 C9 S# X
- c. w4 \/ X7 G7 p, s7 R7 r) v2 K# o
$ ]7 ?" V6 N# O! j" @

激光雷达

& f" m5 R# X* x; h$ D; E& y
% d' a' n% r6 ^* G
; y: F0 E7 a$ w) H2 B; D* _. J) V

激光雷达能以很高精度测出机器人周围障碍点的角度和距离,而且速度快,计算量也不大,容易做成实时 SLAM。激光雷达一般用于扫描一个平面内的障碍物,适用于适用于平面运动的机器人(如无人车、扫地机器人)。

# `" F( z% F e# t
% t: y. X( \! s8 T2 W2 H3 u
/ r% g, v7 z. a1 A- b

许多行业分析师认为,激光雷达是实现全自动驾驶的关键传感器,其产品被以 Google、百度为代表的企业认可。

9 f, V; Z: E* |
0 h* K! e2 T f6 L
: T6 Y n3 ~7 I' W9 A( X3 q
6 h7 {7 v: A. g T( N
4 ~' k* a# U* z9 D
: G- I' H; k5 z, E" a2 l* X7 E

不过,激光雷达制造成本高,价格十分昂贵,比如 Google 无人车目前使用的激光传感器单个定制成本在 8 万美元左右,百度采购一台激光雷达也要 70 万人民币。

5 a7 T0 B7 c" y" c
% r1 D6 R. w2 h! N% k; m0 C2 _) O
& k% t/ ~! p: D

成本已然成为激光雷达普及最大的拦路虎。2016 年 8 月福特和百度一起投资了激光雷达厂商 Velodyne LiDAR 1.5 亿美元,目的就是帮助 Velodyne 降低激光传感器的成本。Velodyne 希望将激光雷达的价格降到 300 到 500 美元之间,以满足大众汽车市场。

$ v, Q: f7 u7 O$ l
& q4 {1 m$ D" N6 R
. Z, W0 z# L+ p y/ X6 u

视觉 SLAM

' [; L5 n$ K+ X: `* s9 p
# s5 o: b' z% u
& f! f# G& o% `9 n s- ~+ _- H6 ?

视觉 SLAM 是 21 世纪 SLAM 研究热点之一。CPU、GPU 处理速度的增长和硬件的提高,让许多以前被认为无法实时化的视觉算法,得以在 10 Hz 以上的速度运行。

3 `9 {, A# B9 g) [! P' H/ G
; x: _1 U T/ r* S) A/ p
8 B% I6 ~" N! u: L

按照摄像头的数量和种类分,视觉 SLAM 分 3 个子方向:单目、双目(或多目)、RGBD。此外,还有鱼眼、全景等特殊摄像头,但是都属于少数。

: v; }4 H7 C4 S- o: b: V2 [* }$ w
4 \1 V8 r8 h. b0 H5 {
4 E1 f# I6 b* p$ [9 {

单目相机 SLAM 只需要一个普通的 2D 摄像头,成本优势大。但普通 2D 摄像头没法获取深度信息,它捕获的仅仅是一张 2D 图像。深度信息缺失有什么影响?引用:知乎用户「半闲居士」的一个回答

5 J# V9 R2 P; C
! Q3 r0 i. P, v
7 A$ T G* K# k6 t6 E+ v |5 ~

没有距离信息,我们不知道一个东西的远近——所以也不知道它的大小。它可能是一个近处但很小的东西,也可能是一个远处但很大的东西。只有一张图像时,你没法知道物体的实际大小(Scale)。

5 ~) f/ U" O" K% G T. S+ j
4 C& K Z$ ^- V) @
. g' O) h* c; Y7 U+ I/ J2 u
m: s' b, C2 r l& R0 x( ?, w' F
# B3 ]. A' A) ^) D1 m6 i/ R! c) ^
9 o O& x- k9 M1 K$ }8 l! C% l- ?

另一方面,单目相机也无法依靠一张图像获得图像中物体离自己的相对距离。

! F$ m2 u* x) q$ ~" G8 C
' f, i$ \: ~) {* A$ R
. y9 E- x) a2 R r2 {/ Y

但这两个问题都有对应的解决办法。比如,通过借助 GPU 和 IMU(Inertial Measurement Unit,惯性测量器件)确定物体的大小,依靠运动中的三角测量,来求解相机运动并估计像素的空间位置。

2 h! k# a6 B1 h: O6 B: B$ J
8 U/ v- ~- p/ {
* ?+ Q# L1 ^' ^( \/ `8 B3 s

双目 SLAM 消除了单目的很多麻烦。双目视觉和人眼类似,通过左右眼图像的差异来计算距离——也就是所谓的立体视觉(Stereo)。

8 \# c0 n$ |$ Y% c& H
0 b3 q( E- y# Q: u
8 S5 [6 I$ G( K! u

但双目 SLAM 的计算量非常大,通常需要用到可编程门阵列 FPGA。而且其其深度量程也受双目的基线与分辨率限制。

" g/ l0 E1 Z8 i9 y% z4 E- d+ i5 o
& z: J0 b- T. M, n' O
% q9 H3 H# C; m0 s$ Q" o5 m$ `

RGBD SLAM 的传感器是深度摄像头,能直接记录深度信息。深度摄像头通过把光投射到物体表面,再测量反射的信息来计算距离,具体原理有两种:结构光或 Time-of-Flight。它比传统相机能够提供更丰富的信息,也不必像单目或双目那样费时费力地计算深度。Kinect 就是一种比较常见的深度摄像头。不过,现在多数 RGBD 相机还存在测量范围窄、噪声大、视野小等诸多问题。

( r3 z- @ J9 \7 }# E: D
6 `0 N2 t& I6 m: h7 u' Y9 F
& j" a( s% A% H( T) ^1 |+ K" ?
% g2 U ?/ G( M
$ `* ?' |" R; h/ X, Z$ [+ U: ^
1 b9 D$ C' N, x/ x K$ A( j6 B& T

总的来说,SLAM 的实现方法多种多样,应用场景也不断打开。但「由于产品和硬件高度差异化,而 SLAM 相关技术的整合和优化又很复杂,导致算法和软件高度碎片化,所以市场上目前还没有一套通用普适的解决方案,在短时间内也不会有」。

( w# m+ y3 ~# v l7 i" k$ \
; O6 U. q3 \: p: j
' ]$ G' E+ u" @4 B$ A7 X. `6 a

OD

& w; S; B; o- E9 H1 ~3 G- ^
5 L0 @9 V e9 A
$ O/ |7 s3 h6 f3 \; ]# `
举报/反馈
; [/ O7 |$ K6 b0 b9 C
8 C2 i2 T+ \1 \* I Q+ S9 _" I( B5 N2 X {- ^7 l, Y) } i 4 r; s) \4 N- I, j( C. Z p3 r, G 6 Y6 G$ H. N+ t! d5 f7 @. R8 M ; A2 k6 U9 m/ L( \# N0 L5 f
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
葛宝淼
活跃在2026-4-15
快速回复 返回顶部 返回列表