激光雷达SLAM算法
机器人研究的问题包含许许多多的领域,我们常见的几个研究的问题包括:建图(Mapping)、定位(Localization)和路径规划(Path Planning),如果机器人带有机械臂,那么运动规划(Motion Planning)也是重要的一个环节,SLAM需要机器人在未知的环境中逐步建立起地图,然后根据地区确定自身位置,从而进一步定位。
ROS系统通常由大量节点组成,其中任何一个节点均可以通过发布/订阅的方式与其他节点进行通信。举例来说,机器人上的一个位置传感器如雷达单元就可以作为ROS的一个节点,雷达单元可以以信息流的方式发布雷达获得的信息,发布的信息可以被其他节点如导航单元、路径规划单元获得。
ROS的通信机制:
ROS(机器人操作系统)中SLAM的一些功能包,也就是一些常用的SLAM算法,例如Gmapping、Karto、Hector、Cartographer等算法。我们不会去关注算法背后的数学原理,而是更注重工程实现上的方法,告诉你SLAM算法包是如何工作的,怎样快速的搭建起SLAM算法。
地图 : ROS中的地图很好理解,就是一张普通的灰度图像,通常为pgm格式。这张图像上的黑色像素表示障碍游举物,白色像素表示可行区域,灰色是未探索的区域
地图在ROS中是以Topic的形式维护和呈现的,这个Topic名称就叫做 /map ,由于 /map 中实际上存储的是一张图片,为了减少不必要的开销,这个Topic往往采用锁存(latched)的方式来发布。念磨猛地图如果没有更新,就维持着上次发布的内容不变,此时如果有新的订阅者订阅消息,这时只会收到一个 /map 的消息,也就是上次发布的消息;只有地图更新了(比如SLAM又建出来新的地图),这时 /map 才会发布新的内容。 这种方式非常适合变动较慢、相对固定的数据(例如地图),然后只发布一次,相比于同样的消息不定的发布,锁存的方式既可以减少通信中对带宽的占用,也可以减少消息资源维护的开销。
Gmapping ,Gmapping算法是目前基于激光雷达和里程计方案里面比较可靠和成熟的一个算法,它基于粒子滤波,采用RBPF的方法效果稳定,许多基于ROS的机器人都跑的是gmapping_slam。
gmapping的作用是根据激光雷达和里程计(Odometry)的信息,对环境地图进行构建,并且对自身状态进仔桥行估计。因此它得输入应当包括激光雷达和里程计的数据,而输出应当有自身位置和地图。
论文支撑:R-LINS: A Robocentric Lidar-Inertial State Estimator for Robust and Efficient Navigation
6轴 IMU:高频,聚焦自身运动,不采集外界环境数据
3D LiDAR:低频,聚焦车体运动,采集外界环境数据
R-LINS使用以上两种传感器来估计机器人的运动姿态, 对于任一传感器而言,单独的依靠自己的数据是很难实现地图构建的, 比如纯雷达模型使用的传感器是激光雷达,可以很好的探测到外界的环境信息。但是,同样的,也会受到这些信息的干扰,再长时间的运算中会产生一定的累计误差。为了防止这种误差干扰到后续的地图构建中,需要使用另一种传感器来矫正机器人自身的位姿信息, 即IMU传感器,IMU传感器由于是自身运动估计的传感器,所以,采集的都是自身运动的姿态信息。可以很好的矫正激光雷达里程计的位姿信息。所以,通常使用激光雷达和惯导来进行数据融合,实现姿态信息的矫正。
一共分为三大块:
slam算法是什么?
SLAM是Simultaneous local来自ization and mapping缩写,意为“同步定位与建图”,主要用于解决机器人在未知环境运动时的定位与地图构建问题。
Simult提要密过液第客先aneous Localization and M360问答apping (SLAM)原本是Robotics领域用来做机器人定位的,最早的胶令起快蛋左却SLAM算法其实是没有用视觉camera的(Robotics领域一般用Laser Range Finder来做SLAM)。
SLAM对实时性要求比较高,而要做到比较精确、稳定、可靠、适合多种场景的方案一般计算量相对较大,目前移动式设备的计算能整木司脱下乱班考力还不足够支撑这么大的计算量,为了达到实时性能,往往需要在精确度和稳定性上做些牺牲病花料变。
因此在具体的应用中,往往需要根据移动设备所具有的传感器组合、计算能力、用户场景等,选择和深度定制合适的SLAM算法。比如,无人驾驶汽车和手机端AR类应用的SLAM算法就非常不同。
SLAM的典型应用领域
机器布此细持家决人定位导航领域:地图建模。SLAM可以辅助机器人执行路径规划、自主探索、导航等任务。国内的科沃斯、塔米以及最新面世的岚豹扫地机器人都可以通过用SLAM算法结合激光雷达或者摄像头的方法,让扫地机高效绘制室内地图,智能分析和规划扫地环境,从而成功让自己步入了智能导航的阵列。
VR/AR方面:辅助增后探坐全汽八足罗散强视觉效果。SLAM技术能够构建视觉效果更为真实的地图,从而针对当前视角渲染虚拟物体的叠加效果,使之更真实没有违和感。VR/AR代表性产品中微软Hololens、谷歌ProjectTango以及MagicLeap都应用了SLAM作为视觉增强手段。
无人机领域:地图建模。SLAM可以快速构建局部3D地图,并与地理信息系统(GIS)、视觉对象识别技术相结合,可以辅助无人机识别路障并自动避障规划路径,曾经刷爆美国朋友圈的Hovercamera无人机,就应用到了SLAM技术。
无人驾驶领域:视觉里程计。SLAM技术可以提供视觉里程计功能,并与GPS等其他定位方式相融合,从而满足无人驾驶精准定位的需求。例如,应用了基于激光雷达技术G界oogle无人驾驶车以及牛津大学MobileRoboticsGroup11年改装的无人驾驶汽车野猫(Wildcat)均已成功路测。
以上内容参考:slam路径规划算法 - CSDN
有人用过SLAMTEC的激光雷达吗?技术成熟吗?
我用过SLAMTEC的RPLIDAR A2,应用于服务机器人上并不差于进口的,它可快速获得环境轮廓信息,
配合他们的SLAMWARE使用,可以帮助机器人实现自主构建地图、实时路径规划与自动避开障碍物。