技术杂谈 之 室内导航
这两年AI很火热,各种无人驾驶、机器人、无人机层出不穷,新零售也是AI的一个很热的方向。AI与新零售的结合现在也有不少案例了,比如京东X无人超市、超嗨的智能购物车等等。在大型百货商场或者超市,有一个很典型的场景就是室内导航,比如查询一个你不知道具体位置的品牌店铺、寻找一个不知道摆放在哪的商品。本篇就粗略的介绍一下这种室内导航所涉及的技术。
背景
在说室内导航之前,先来聊聊室外导航技术那些事。室外的导航现在已经用的很广泛了,各种汽车导航、XX地图、位置共享服务等等。主要使用的技术就是GNSS,Global Navigation Satellite System,全球导航卫星系统。这种系统比较知名的就是,美国的GPS,俄罗斯的GLONASS,欧盟的GALILEO 以及 我们自己的 北斗,其他还有日本啊、印度啊之类的。那这么多的卫星跟定位有啥关系呢?
简单的来说,就是多个卫星同时向一个接收器发送信号,这个接收器通过计算接收信号的距离(算法有很多,比如通过接收的时间差来计算;或者信号角度计算)以及卫星的位置,来计算自己的位置。
但是这种定位方法常常受到一些障碍物的干扰,比如深山老林或者高耸林立的大厦,都可能阻挡信号或者使信号减弱。可想而知,如果想进行室内的导航,首先是信号强度不够,其次精度也无法达到米级别。
室内导航
定位技术
由于上面的背景,无法使用GNSS进行室内导航,大部分都采用了轻量级的导航技术,比如wifi、蓝牙等等。
- WIFI现在用的很广泛,家家户户都有,特点就是传播速度很快、保密性好、范围大约100米左右;
- 蓝牙也是一种无线传输方法,但是相比于wifi功耗要低、传输质量差一些、范围也只有10米左右,在智能手机之前的诺基亚时代,大家传输个小文件基本都用这个。
无论是WIFI还是蓝牙,他们定位的方式都差不多,最简单的就是三角定位,跟GNSS里面的卫星定位差不多。
这里当用户收到ABC三个信号后,根据信号的衰减程度估算与设备的距离;再加上设备本身的位置信息,就能估算出用户所在的位置了。由于信号容易收到干扰,因此估算也存在一定的误差。
其他的定位手段,可以参考下面的图片,图片来自知乎https://zhuanlan.zhihu.com/p/36370920
地图绘制
有了定位,还差一个最主要的组件——地图。跟室外不同的是,室内变化太快、并且有一定的私密性。室外可以开一个车大街小巷的街拍,但是室内就不同了。因此需要有一个专门的软件来做地图的绘制,绘画出当前楼层的主要店铺、位置、出入口、楼梯、窗户等等。这里有一个公司做了一款产品可以方便的画出场景图——http://sve.yongtoc.com/project/index.html。
路径规划
终于到了路径规划篇,按照我的理解室内导航技术可以用最简单的栅格方法,把场景描绘成一个平面图,每个放个有自己的地理位置坐标,这样路径规划的问题就是从一个点如何到达另一个点的问题了。比如游戏里面的自动寻路、仓库里面的配送机器人等等。其他场景的路径规划侧重的点则不太相同,比如扫地机器人、无人机避让等等,这里就不过多赘述了。
路径规划介绍一个最基本的A*算法,可以直接看下面这篇文章去理解算法的过程:
https://blog.csdn.net/hitwhylz/article/details/23089415
我这里也做了一个Demo
有兴趣的可以体验一下。