技术杂谈 之 室内导航

这两年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

有兴趣的可以体验一下。

参考

原文地址:https://www.cnblogs.com/xing901022/p/9259952.html

时间: 2024-10-10 04:17:51

技术杂谈 之 室内导航的相关文章

精准时间同步应用于物联网:室内导航

物联网(Internet of Things)基于计算机互联网,以传统电信网为信息承载体,利用传感器.射频识别(RFID)技术.全球定位系统.红外感应器.激光扫描器.气体感应器等各种装置与技术,让物体(商品)与网络相连,实时采集任何需要信息交换.定位.跟踪.监管.连接.互动的物体或过程的声.光.热.电.力学.化学.生物.位置等各种所需信息,试图构造一个万事万物相连的网络.在这个网络中,无需人为干预,物品(商品)之间能够自动识别与彼此 "交流",从而实现信息互联互通.全面共享.图1 当前

室内导航开发笔记

IndoorAtlas室内导航iOS版使用方法: 引入协议  IALocationManagerDelegate 实现方法 - (void)indoorLocationManager:(IALocationManager *)manager didUpdateLocations:(NSArray *)locations; - (void)indoorLocationManager:(IALocationManager *)manager didEnterRegion:(IARegion *)re

WebGIS开发技术杂谈

WebGIS项目的开发主要是B/S架构.最流行的是客户端javascript,服务器端java. 另外还有flex客户端. 客户端主要完成用户交互.向服务器端发送请求并传参以及组织显示服务器端返回的结果等.  服务器端则完成数据库增删查改.业务功能等. 服务器端最底层是数据层,完成对数据的增删查改.常用的数据库有oracle.mysql等.最基本的方法是, java语言使用jdbc,组织相应的sql语句实现数据库操作.   更便捷的方法是使用第三方框架,如hibernate. hibernate

RGB-D 室内导航 paper

摘要: 最近打算使用Kinect实现机器人的室内导航,收集了近年来的一些比较好的文章.<基于Kinect系统的场景建模与机器人自主导航>.<Mobile Robots Navigation in Indoor Environments Using Kinect>.<Using a Depth Camera for Indoor Robot Localization and Navigation>.<Depth Camera Based Indoor Mobile

为什么说slam技术不等于智能导航?

? ? ? ? 在机器人智能移动中,SLAM发挥了无可比拟的作用,SLAM (simultaneous localization and mapping),也称为CML (Concurrent Mapping and Localization), 主要帮助机器人进行即时定位与地图构建,或并发建图与定位.但SLAM技术并不等于智能导航.为什么这么说呢?原因如下: ? ? ? SLAM技术主要是解决机器人的地图构建与即时定位,而机器人进行智能导航主要解决的是机器人与环境的自主交互,尤其是点到点自主移

【VC++技术杂谈003】打印技术之打印机状态监控

在上一篇博文中我主要介绍了如何获取以及设置系统的默认打印机,本文将介绍如何对打印机状态进行实时监控,记录下所打印的文档.打印的份数以及打印时间等打印信息. 1.打印机虚脱机技术 在正式介绍如何对打印机状态进行实时监控之前,我们有必要先了解一下打印机虚脱机技术. 独占设备是指在一个程序(作业.用户)的整个运行期间独占设备,直到该程序(作业.用户)完成.系统的独占设备是有限的(比如,一台计算机只能够连接一台打印机),往往不能够满足多进程的要求,会引起大量进程由于等待某些独占设备而阻塞.另一方面,申请

UE4 Navmesh 室内导航设置

我用的UE版本是4.14.1   系统:win10 64 前不久给样板房里面做了一个扫地机器人,导航设置让我头大了很久,度娘也没有用,最后在谷哥上有所感悟,现在给出本人的设置过程和解决方案. 一开始拖了个NavMeshBoundsVolume到样板房里面,按键盘 p 查看可导航区域一看傻眼了,如下图 一看就傻眼了,绿色区域这么少几乎不可导航,想到<Unreal.Engine.4.AI.Programming>上好像有navmesh相关设置介绍,去看了也只是简单的 介绍,自己也设置了一下参数 选

基于WebGL(ThingJS)的平面图导航,室内导航,3D聚焦 (二)

前言 基于WebGL架构的3D可视化平台-平面图导航(一)中已经完成了iframe面板与我们的3D场景的简单交互,下面我们继续完善并给iframe页加上鼠标悬停事件让iframe页的img标签和我们场景中的obj一起动起来. 实现 第一步,还是使用之前的场景接着上次的继续,先编写iframe页.给每一个img标签都加上onmouseover.onmouseout 事件. <!DOCTYPE html> <html lang="en"> <head>

【VC++技术杂谈006】截取电脑桌面并将其保存为bmp图片

本文主要介绍如何截取电脑桌面并将其保存为bmp图片. 1. Bmp图像文件组成 Bmp是Windows操作系统中的标准图像文件格式. Bmp图像文件由四部分组成: (1)位图头文件数据结构,包含Bmp图像文件的类型.文件大小等信息. (2)位图信息数据结构,包含Bmp图像的宽.高.压缩类型等信息. (3)颜色表,该部分可选,有些位图需要,有些位图(如24位真彩色位图)不需要. (4)位图数据. 1.1位图头文件数据结构 位图头文件数据结构包含Bmp图像文件的类型.文件大小等信息,占用14个字节.