环境感知方式
机器人获取环境信息的方式是多种多样的,常用的几个我们将它分为以下几类:
- 激光雷达,包括2D和3D雷达。
- 纯视觉,包括单目相机和双目相机
- 视觉加深度感知,包括红外结构光相机和TOF相机等。
以上的方法都有各自的优缺点,在复杂环境下通常我们需要其中的组合融合方式来提高系统的鲁棒性。
2D激光雷达数学模型
二维激光雷达是由一束在平面上旋转的激光束和一个测量反射光的飞行时间的接收器组成的。对于每个激光方向,传感器记录一个距离,计算为飞行时间的一半乘以光速。结果是距离 d i d_{i} di 的大小为n的向量,每个向量都与方位方位 α i α_{i} αi 相关联:[ d 1 d_{1} d1, d 2 d_{2} d2, d 3 d_{3} d3…… d n d_{n} dn]。
上图中,一个2D激光雷达对每1度进行距离测量,从−135°到+135°进行扫描(由于自身遮挡问题,使得扫描时需要设置死区),则由270个距离d和角度值α构成完整的激光扫描。而d和α值能够直观的在极坐标中表示,而在笛卡尔坐标系中则需要转换: π i S = [ x i S , y i S ] ⊤ \boldsymbol{\pi}_{i}^{S}=\left[x_{i}^{S}, y_{i}^{S}\right]^{\top} πiS=[xiS,yiS]⊤。
[ α i d i ] = polar 2 ( π S ) ≜ [ arctan ( y S , x S ) ( y S ) 2 + ( x S ) 2 ] \left[\begin{array}{c} \alpha_{i} \\ d_{i} \end{array}\right]=\operatorname{polar}_{2}\left(\boldsymbol{\pi}^{S}\right) \triangleq\left[\begin{array}{c} \arctan \left(y^{S}, x^{S}\right) \\ \sqrt{\left(y^{S}\right)^{2}+\left(x^{S}\right)^{2}} \end{array}\right] [αidi]=polar2(πS)≜[arctan(yS,xS)(yS)2+(xS)2]
其中我们定义:
- ∗ S \boldsymbol{*}^{S} ∗S在传感器框架中
通过传感器位姿(p,θ)在全局坐标系中表示,得到完整的观测模型:
[ α i d i ] = polar 2 ( R { θ } ( π − p ) ) \left[\begin{array}{c} \alpha_{i} \\ d_{i} \end{array}\right]=\operatorname{polar}_{2}(\mathbf{R}\{\theta\}(\boldsymbol{\pi}-\mathbf{p})) [αidi]=polar2(R{
θ}(π−