机器人自主移动的秘密,从SLAM技术说起(一)

  在机器人技术中,SLAM的地图构建通常指的是建立与环境几何一致的地图。

  一般算法中建立的拓扑地图只反映了环境中的各点连接关系,并不能构建几何一致的地图,因此,这些拓扑算法不能被用于SLAM。

  直接表征法类似卫星地图,它是直接使用传感器(一般是图像传感器)构建得到。这种方法的信息冗余度最大,对于数据存储是很大的挑战,同时,机器人要从中提取出有用的数据也要耗费一番周折,因此在实际应用中很少使用。

  特征点地图又是另一个极端, 虽然数据量少,但是它往往不能反应所在环境的一些必须的信息,比如环境中障碍物的位置 。vSLAM技术中,多采用这种地图来解决机器人定位问题。想让机器人进行自主避障和路径规划,还需要额外配置距离传感器,如激光雷达、超声波来完成。

  栅格地图,或者Occupancy Map(占据地图)恰好介于其中,一方面它能表示空间环境中的很多特征,机器人可以用它来进行路径规划,另一方面,它又不直接记录传感器的原始数据,相对实现了空间和时间消耗的最优。因此, 栅格地图是目前机器人所广泛应用的地图存储方式 。

  思岚科技的SLAMWARE系统内部也采用这种地图方式。

物联网

  当你打开手机中的导航软件,在选择前往目的地的最佳路线之前,首先要做的动作是什么呢?没错,就是 定位 。我们要先知道自己在地图中的位置,才可以进行后续的路径规划。

  在机器人实时定位问题中,由于通过机器人运动估计得到的机器人位置信息通常具有较大的误差,我们还需要使用测距单元得到的周围环境信息更正机器人的位置。

  目前,常见的测距单元包括激光测距、超声波测距以及图像测距三种。其中,凭借激光良好的指向性和高度聚焦性,激光雷达已经成为移动机器人的核心传感器,同时它也是目前最可靠、最稳定的定位技术。

  自1988年被提出以来,SLAM的理论研究发展十分迅速。在实际应用时,除配备激光雷达外,还需要机器人具有IMU(惯性测量单元)、里程计来为激光雷达提供辅助数据,这一过程的运算消耗是巨大的,传统上需要PC级别的处理器,这也成为限制SLAM广泛应用的瓶颈之一。

  那么,实现SLAM的过程中,都会遇到哪些坑呢?

 

  雷锋网原创文章,转载请注明来源出处