定位导航机器人如何设计_机器人自主定位导航技术规范

hacker|
134

文章导读:

哪位大神能提供一个室内机器人精确定位的方案

室内机器人精确定位方案,这个需要看一下具体的定位精度,米级定位精度的话可以优先考虑蓝牙室内定位方案,如果对定位精度有要求,需要厘米级定位精度的话,就可以考虑UWB室内定位方案。

蓝牙定位:蓝牙定位基于RSSI(Received Signal Strength Indication,信号场强指示)定位原理。蓝牙室内技术是利用在室内安装的若干个蓝牙局域网接入点,把网络维持成基于多用户的基础网络连接模式,并保证蓝牙局域网接入点始终是这个微微网的主设备,然后通过测量信号强度获得用户的位置信息。根据定位端的不同,蓝牙定位方式分为网络侧定位和终端侧定位。

UWB定位:超宽带(UWB)定位技术是一种全新的、与传统通信定位技术有极大差异的新技术。它利用事先布置好的已知位置的锚节点和桥节点,与新加入的盲节点进行通讯,并利用TDOA定位算法,通过测量出不同基站与移动终端的传输时延差来进行定位。

蓝牙定位与UWB定位对比:

首先是工程师最为关注的定位精度问题:目前蓝牙室内定位方案能够实现米级的定位精度;UWB定位已经能够实现厘米级高精度定位。

定位硬件:顾名思义,蓝牙室内定位方案的实现必然是建立在蓝牙室内定位产品的基础上,主要定位硬件包括蓝牙网关、蓝牙Beacon、手环、手表等蓝牙标签以及智能手机、无线局域网及后端数据服务器等。UWB定位硬件产品主要包括定位引擎服务器、智能终端、POE交换机、UWB基站、UWB标签、UWB模块、软件接口等。

应用领域:蓝牙定位主要应用于对人、物定位精度要求一般的室内定位,用于在一定空间范围内获取人或物的大致位置信息;UWB定位则主要应用于室内高精度定位,用于在一定空间范围内获取人或物的精确位置信息。

定位环境搭建:蓝牙定位布局相对简单,只要注意间隔范围就可以了,UWB定位布局相比蓝牙定位要复杂一些,因为涉及到UWB基站的安装。

最后,小编将SKYLAB室内定位工程师总结的各个领域室内定位解决方案选择要点告诉大家:室内定位从用途方向可以划分消费类和工业类。消费类主要实现室内人员引导、消费推送、安全监控、智能家居等商业应用。工业类主要实现消防安全、人员监控、设备引导、财产安全、智能工厂等应用。有些是侧重于单纯的室内定位,而有些则更侧重于导航功能、历史轨迹、电子围栏等功能,因此需要有针对性选择方案。单纯的室内定位、导航,对定位精度要求不高,可以优先选择蓝牙定位方案,侧重历史轨迹、电子围栏这些功能则可以优先考虑UWB定位方案;希望能够帮助到各位有室内定位方案需求的客户们。

如何设计一款基于ROS的移动机器人

最近几年各种移动机器人开始涌现出来,不论是轮式的还是履带式的,如何让移动机器人移动都是最核心的工作。要让机器人实现环境感知、机械臂控制、导航规划等一系列功能,就需要操作系统的支持,而ROS就是最重要的软件平台之一,它在科研领域已经有广泛的应用。

不过有关ROS的书籍并不多,国内可供的学习社区就更少了。本期硬创公开课就带大家了解一下如何利用ROS来设计移动机器人。

分享嘉宾李金榜:EAI科技创始人兼CEO,毕业于北京理工大学,硕士学位。 曾在网易、雪球、腾讯技术部有多年linux底层技术研发经验。2015年联合创立EAI科技,负责SLAM算法研发及相关定位导航软件产品开发。EAI科技,专注机器人移动,提供消费级高性能激光雷达、slam算法和机器人移动平台。

移动机器人的三个部分

所谓的智能移动, 是指机器人能根据周围的环境变化,自主地规划路线、避障,到达目标地。

机器人是模拟人的各种行为,想象一下,人走动需要哪些器官的配合? 首先用眼睛观察周围环境,然后用脑去分析如何走才能到达目标地,接着用腿走过去, 周而复始,直到到达目标地址为至。机器人如果要实现智能移动,也需要眼、脑和腿这三部分的紧密配合。

“腿”是机器人移动的基础。机器人的“腿”不局限于类人或类动物的腿,也可以是轮子、履带等,能让机器人移动起来的部件,都可以笼统地称为“腿”。

类人的腿式优点是:既可以在复杂路况(比如爬楼梯)下移动、也可以更形象地模仿人的动作(比如跳舞),缺点是:结构和控制单元比较复杂、造价高、移动慢等。

所以大部分移动的机器人都是轮式机器人,其优势在于轮子设计简单、成本低、移动快。而轮式的也分为多种: 两轮平衡车、三轮、四轮和多轮等等。目前最经济实用的是两个主动轮+一个万向轮。

眼睛

机器人的眼睛其实就是一个传感器。它的作用是观察周围的环境,适合做机器人眼睛的有激光雷达、视觉(深度相机、单双相机)、辅助(超声波测距、红外测距)等。

“脑”

机器人的大脑就负责接收“眼睛”传输的数据,实时计算出路线,指挥腿去移动。

其实就是要把看到的东西转换为数据语言。针对如何描述数据,如何实现处理逻辑等一系列问题。 ROS系统给我们提供一个很好的开发框架。

ROS简介

ROS是建立在linux之上的操作系统。它的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人而建立项目,主要可以提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。

ROS是基于一种图状架构,从而不同节点的进程能接受、发布、聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu操作系统。

有人问ROS能否装到虚拟机里,一般来说是可以的,但是我们建议装个双系统,用Ubuntu专门跑ROS。

实际上,ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途,而高层的用户提供的包则使用很多种不同的许可证。

用ROS实现机器人的移动

对于二维空间,使用线速度 + 角速度可以实现轮式机器的随意移动。

线速度:描述机器人前后移动的速度大小

角速度:描述机器人转动的角速度大小

所以控制机器人移动主要是要把线速度角速度转换为左右轮的速度大小,然后,通过轮子直径和轮间距,可以把线速度和角速度转化为左轮和右轮的速度大小。

这里有一个关键问题就是编码器的选择和pid的调速。

编码器的选择:一般编码器和轮子是在一个轴上,目前来说,速度在0.7m/s以下的话,编码器选600键到1200键之间都ok。不过需要注意的是,编码器最好用双线的,A、B两线输出,A向和B向输出相差90度,这样可以防抖动。防抖动就是可以在之后里程计算时可以更准确。

左轮和右轮的速度大小的控制,通过轮子编码器反馈,通过PID实时调整电机的PMW来实现。实时计算出小车的里程计(odom),得到小车移动位置的变化。

计算车的位置变化是通过编码器来计算的,如果轮子打滑等情况,那么计算的变化和实际的变化可能不同。要解决这个问题,其实是看那个问题更严重。要走5米只走了4.9米重要,还是要走180度只走了179度重要。

其实角度的不精确对小车的影响更大。一般来说,小车的直线距离精确度可以控制在厘米范围内,在角度方面可以控制精准度在1%~2%。因为角度是比较重要的参数,所以很多人就用陀螺仪来进行矫正。

所以有时候大家问小车精度有多高?其实现在这样已经精度比较高了,难免打滑等问题,不可能做到百分之百的精准。

小车在距离和角度方面做到现在这样对于自建地图导航已经是可以接受的,要提高更高的精度可能就要其他设备辅助,比如激光雷达来进行辅助,激光雷达可以进行二次检测进行纠正。

激光雷达数据的存储格式,它首先会有一个大小范围,如果超出范围是无效的。还有就是有几个采样点,这样就可以激光雷达可以告诉你隔多少度有一个采样点。

另外最后那个Intensities是告诉大家数据的准确率,因为激光雷达也是取最高点的数据,是有一定的准确率的。上面的ppt其实就是用激光雷达扫了一个墙的形状。

激光雷达扫出一个静态形状其实没有意义,雷达建图的意义其实在于建立房间的地图。

如何绘制地图?

第一步是收集眼睛数据:

针对激光雷达,ROS在sensor_msgs 包中定义了专用了数据结构来存储激光消息的相关信息,成为LaserScan。

它指定了激光的有效范围、扫描点采样的角度及每个角度的测量值。激光雷达360度实时扫描,能实时测出障碍物的距离、形状和实时变化。

第二步就是把眼睛看到的数据转化为地图:

ROS的gmapping把激光雷达的/scan数据转换为栅格map数据,其中黑色代表障碍物、白色代表空白区域,可以顺利通行、灰色 :未知领域。随着机器人的移动,激光雷达可以在多个不同方位观测同一个位置是否有障碍物,如果存在障碍物的阈值超过设置值是,就标定此处是存在障碍物;否则标定不存在障碍物。 把障碍物、空白区域和未知领域的尺寸用不同灰度表示出来,就是栅格地图。便于下一步定位和导航。

有时候会出现很直的墙,机器人却无法直着行走,这时的问题可能就是机器人的轮子出现打滑等其他问题,而走歪了,这时绘制出的地图也可能是歪的。这种情况可以通过加一个陀螺仪来避免这个情况。因为激光雷达的特性,有时候遇到黑色或镜面会导致测距不准。

目前的解决方法就是不用激光雷达,或者用激光雷达和超声波进行辅助处理。

ROS的地图是分多层的,我可以在不同高度放多台激光雷达来一起叠加,共同绘制一张地图。地图绘制结束之后,就可以进行定位和导航等工作。

如何定位和导航?

定位:其实是概率性的定位,而不是100%的精度。根据激光雷达扫描周围障碍物的形状,与地图的形状做匹配,判断机器人所在位置的概率

机器人的定位是否成功,与地图特征有很大关系,如果区域特征明显,那么机器人就很容易判断自己的位置。如果出现难以定位的问题,可能需要人给指定初始位置,或者加led来进行位置识别,或者其他的定位设备来协助定位。

目前的视觉通过色彩或者光的技术越来越多。

导航:全局路径规划+局部调整(动态避障)

导航其实就是全局定位,首先根据现有地图进行规划,但是在运行过程中会进行局部的路线规划。但是总体还是根据全局路径来走。

导航中工作量还很大,比如扫地机的路径规划和服务机器人的路径规划是不一样的,扫地机器人可能要全覆盖的有墙角的地图,而服务机器人主要围绕指定的路径或者最短路径来进行规划,这部分是ROS工作量最大的一块。

路径规划根据不同应用场景变化比较大,但是ROS提供基础的路径规划的开发包,在这个基础上我们会做自己的路径规划。

机器人描述和坐标系变换

在导航时,哪些区域可以通过,取决于机器人形状等信息,ROS通过URDF(UnifiedRobot Description Format) 就是描述机器人硬件尺寸布局,比如轮子的位置、底盘大小、激光雷达安装位置,这些都会影响到坐标系的转换。

坐标系遵循的前提是每个帧只能有一个父帧,再往上进行一些眼神或者关联。

激光雷达的安装位置直接影响/scan输出数据。所以激光雷达和机器人的相对位置是需要做坐标变换,才能把激光雷达的数据转化为机器人视角的数据。

ROS的坐标系,最终归结为三个标准框架,可以简化许多常见的机器人问题:

1)全局准确,但局部不连续的帧(’map”)

2)全局不准确,但局部光滑框架(’odom”)

3)机器人自身框架(’base_link”)

多种传感器(像激光雷达、深度摄像头和陀螺仪加速度计等)都可以计算base_link和odom的坐标关系,但由于“每个帧只能有一个父帧”,所以只能有一个节点(比如 robot_pose_ekf 融合多传感器)发布base_link和odom的坐标关系。

Base link自身的坐标系,因为不同元件装在机器人上不同位置,都要对应到base link的坐标系中,因为所有的传感器都是要通过机器人的视角来“看”。

有些朋友问我,激光雷达在建地图的时候,小车移动后地图就乱了,这是因为小车的底盘坐标系和激光雷达的坐标系没有标定准确。

map和odom之间的关联

因为小车移动需要一个局部联系,比如小车在向前走,不停的累加,这是里程计的作用,map起到全局的、不连续的作用,经过激光雷达和map对应。

如果要学习ROS的话,坐标系的变化是重要的点。坐标系的变换还有一个点,就是每个帧都只有一个父帧,有时候两个坐标都和它有关联的话,就是A和B关联,B再和C关联,而不是B/C都和A关联。

三个坐标帧的父子关系如下:

map – odom – base_link

其实, map和odom都应该和base_link关联,但为了遵守“每个帧只能有一个父帧”的原则,根据map和base_link 以及 odom-base_link的关系,计算出map与odom的坐标关系并发布。

odom-base_link的坐标关系是由里程计节点计算并发布的。

map - base_link的坐标关系是由定位节点计算出来,但并不发布,而是利用接收odom-base_link的坐标关系,计算出map-odom的坐标关系,然后发布。

只有里程计的时候,没有激光雷达,也可以跑,但是要先根据预设地图进行简单避障。

精彩问答

Q:还有ROS的实时性有什么改进进展吗 ?

A:实时改进要看ROS2.0的设计,其实ROS2.0的进展网上有公开。但是实际上他的进展离实际应用还有一定距离,至少今年下半年还达不到稳定,不过可以去研究下他的代码,他对内存管理,线程管理,在实时性上有了很大改善。

Q:vSLAM对内存和CPU要求颇高。实际工程中,李老师使用的是什么硬件配置?可以做多大的地图呢?

A:确实如此,目前来说我们还是使用激光雷达和传感器辅助来进行,这个和地图大小没有太大关系,主要是与地形障碍物复杂程度有关。

室内机器人怎么定位

机器人的室内定位技术

我们经常会在路上听到或看到有关导航和定位的信息,但什么是“室内定位”

呢?在一些GPS无法工作的环境(如建筑物内部)中,你将用什么工具来寻找路线呢?如果遭受灾难袭击或者被困在某处时,救援人员如何发现你呢?家用机器人室内如何导航呢?

新的技术为室内定位提供可能

5年或者10年以前,业界就已经意识到GPS存在缺陷,例如它无法在室内正常工作(在这种环境中,GPS定位很慢甚至不可能,而且不够准确)。E911政策要求移动运营商定位用户手机必须达到一定的精度。这些运营商是第一个遇到这些问题的人。

GPS逐渐演化为辅助全球定位系统(A-GPS),它使用设备的GPS芯片和移动电话网络(cellular network)来实现定位。然而,由于运营商的网络费用问题,A-GPS还没有被商业LBS服务所使用。因此,Wi-Fi地理定位就成了一项替代技术。在存在Wi-Fi 接入点的地方,Wi-Fi的定位精度可达20米。正如我们在“签到(check-in)”中看到的一样,Wi-Fi还无法准确地显示用户签到地点的准确位置。蓝牙则是一种微观层次上的技术,许多建筑物内都正在使用这项技术,因此具有蓝牙功能的手机可以利用这一服务。“全球定位系统 —— Wi-Fi ——蓝牙——射频识别技术”串起了定位技术发展的主线,设备需要尽量接近于Wi-Fi接入点或者蓝牙节点,设备中的传感器、陀螺仪、罗盘、加速计等都可以为导航和追踪提供“辅助”数据。

国际室内定位技术的发展

Skyhook 和Navizon都是Wi-Fi定位的领军企业。接下来,他们正在准备融入更为广阔的定位技术和服务,即不断地与GPS芯片制造商或者原始设备制造商(OEM)进行合作,例如苹果公司(Skyhook已嵌入到iPhone中)。移动运营商也已经意识到Wi-Fi定位将极大地缩短首次定位时间(TTFF),仅使用GPS的话,首次定位时间可能会大于1分钟;使用A-GPS,首次定位时间可缩短到12秒;如果使用Wi-Fi,这一时间仅为2秒。因此,对于iPhone手机用户而言,70%的定位服务都是通过Wi-Fi定位来实现的,而并非GPS。

Rosum公司是由一些GPS架构师创办的,他们深知GPS无法在室内正常工作,因此希望找到一种替代方案。该方案利用数字式电视基站技术实现定位,通过为电视信号嵌入时间码,从而获取用户的位置信息。在过去的几年里,Rosum公司一直在致力于生产一种小到可以嵌入设备的芯片。该芯片对于手机而言还是显得有些大,不过将其电视芯片嵌入笔记本电脑中已经不成问题。

实现机器人无人机自主定位需要采用哪些设备呢?

自主定位导航是机器人实现智能化的前提之一,是赋予机器人感知和行动能力的关键因素。如果说机器人不会自主定位导航,不能对周围环境进行分析、判断和选择,规划路径,那么,这个机器人离智能还有一大截的差距。那么,在现有SLAM技术中,机器人常用的定位导航技术有哪些呢?

视觉定位导航

视觉定位导航主要借助视觉传感器完成,机器人借助单目、双目摄像头、深度摄像机、视频信号数字化设备或基于DSP的快速信号处理器等其他外部设备获取图像,然后对周围的环境进行光学处理,将采集到的图像信息进行压缩,反馈到由神经网络和统计学方法构成的学习子系统,然后由子系统将采集到的图像信息与机器人的实际位置联系起来,完成定位。

优点:

· 应用领域广泛,主要应用于无人机、手术器械、交通运输、农业生产等领域;

缺点:

· 图像处理量巨大,一般计算机无法完成运算,实时性较差;

· 受光线条件限制较大,无法在黑暗环境中工作;

超声波定位导航

超声波定位导航的工作原理是由超声波传感器发射探头发射出超声波,超声波在介质中遇到障碍物而返回接收装置。通过接收自身发射的超声波反射信号,根据超声波发出及回波接收时间差及传播速度,计算出传播距离S,就能得到障碍物到机器人的距离,即有公式:S=Tv/2 式中,T—超声波发射和接收的时间差;v—超声波在介质中传播的波速。

优点:

· 成本低廉;

· 可以识别红外传感器识别不了的物体,比如玻璃、镜子、黑体等障碍物;

缺点:

· 容易受天气、周围环境(镜面反射或者有限的波束角)等以及障碍物阴影,表 面粗糙等外界环境的影响;

· 由于超声波在空气中的传播距离比较短,所以适用范围较小,测距距离较短。

· 采集速度慢,导航精度差;

红外线定位导航

红外线定位导航的原理是红外线IR标识发射调制的红外射线,通过安装在室内的光学传感器接收进行定位。

优点:

· 远距离测量,在无反光板和反射率低的情况下能测量较远的距离;

· 有同步输入端,可多个传感器同步测量;

· 测量范围广,响应时间短;

缺点:

· 检测的最小距离太大;

· 红外线测距仪受环境的干扰较大,对于近似黑体、透明的物体无法检测距离,只适合短距离传播;

· 有其他遮挡物的时候无法正常工作,需要每个房间、走廊安装接收天线,铺设导轨,造价比较高;

iBeacon定位导航

iBeacon是一项低耗能蓝牙技术,工作原理类似之前的蓝牙技术,由Beacon发射信号,蓝牙设备定位接受,反馈信号。当用户进入、退出或者在区域内徘徊时,Beacon的广播有能力进行传播,可计算用户和Beacon的距离(可通过RSSI计算)。通过三个iBeacon设备,即可对其进行定位。

优点:

· 定位精度比传统的GPS高,可从一米到几十米;

· 功耗小、时延低、成本低、传输距离远;

缺点:

· 受环境干扰大,信号射频不太稳定;

· 安装、开发和维护方面均存在需要克服的难点,使用时保证设备信号不被遮挡;

灯塔定位导航

灯塔定位导航技术在扫地机器人领域使用的比较多。导航盒发射出三个不同角度的信号,能够模拟GPS卫星三点定位技术,让其精准定位起始位置和目前自身所在坐标,导航盒如同灯塔,其作用为发射信号,引导机器人进行移动和工作。

优点:

· 引擎稳定性高,路径规划可自动设置

缺点:

· 灯塔定位没有地图,容易丢失导航;

· 需要充电桩或者其他辅助装备;

· 精度不高;

激光定位导航

激光定位导航的原理和超声、红外线的原理类似,主要是发射出一个激光信号,根据收到从物体反射回来的信号的时间差来计算这段距离,然后根据发射激光的角度来确定物体和发射器的角度,从而得出物体与发射器的相对位置。

优点:

· 是目前最稳定、最可靠、最高性能的定位导航方法;

· 连续使用寿命长,后期改造成本低;

缺点:

·工业领域的激光雷达成本比较昂贵;

在激光测距中,激光雷达凭借良好的指向性和高度聚焦性,使得激光雷达+SLAM技术相结合的激光SLAM成为主流定位导航方式。SLAMTEC—思岚科技的自主定位导航技术采用的就是激光+SLAM技术。

RPLIDAR A2采用三角测距原理,配合自主研发的SLAMWARE核心算法,让机器人实现自主定位导航与路径规划。主要应用于服务机器人导航与定位、需要长时间连续工作的服务机器人、工业领域、环境扫描与3D重建等领域。

RPLIDAR T1采用的是时间飞行法(TOF)中的脉冲测距法,以满足高速度和远距离的测距要求。主要应用在工业AGV、服务机器人或轻量级无人驾驶产品中。

SLAM简介

SLAM(及时定位与地图构建)技术是机器人在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。并且,在实时定位中由于通过机器人运动估计得到的位置信息通常具有较大的误差,一般需要使用测距单元探测的周围环境信息来更正位置。

由于应用场景的不同,SLAM技术分为VSLAM、Wifi-SLAM和Lidar SLAM。Lidar SLAM是目前实现机器人同步定位于地图构建最稳定、可靠和高性能的SLAM方式。

4条大神的评论

  • avatar
    访客 2022-07-09 下午 12:30:01

    臂控制、导航规划等一系列功能,就需要操作系统的支持,而ROS就是最重要的软件平台之一,它在科研领域已经有广泛的应用。不过有关ROS的书籍并不多,国内可供的学习社区就更少了。本期硬创公开课就带大家了解一下如何利用ROS来设计移

  • avatar
    访客 2022-07-09 下午 02:49:40

    硬件产品主要包括定位引擎服务器、智能终端、POE交换机、UWB基站、UWB标签、UWB模块、软件接口等。应用领域:蓝牙定位主要应用于对人、物定位精度要求一般的室内定位,用于在一定空间范围内获取人或物的大致位置信息;UWB定位则主要应用于室内高精度定位,用于在一定空间

  • avatar
    访客 2022-07-09 下午 07:39:14

    域:蓝牙定位主要应用于对人、物定位精度要求一般的室内定位,用于在一定空间范围内获取人或物的大致位置信息;UWB定位则主要应用于室内高精度定位,用于在一定空间范围内获取人或物的精确位

  • avatar
    访客 2022-07-09 下午 06:32:37

    。编码器的选择:一般编码器和轮子是在一个轴上,目前来说,速度在0.7m/s以下的话,编码器选600键到1200键之间都ok。不过需要注意的是,编码器最好用双线的,A、B两线输出,A向和B向输出相

发表评论