如今,超声波传感器非常便宜,这使其成为许多业余机器人应用的流行选择,我想在机器人周围使用一堆传感器(例如10个),并使用算法来构建区域的粗略地图(例如机器人会探索它。)在此阶段,我对处理移动物体不感兴趣,只是精确定位静止的物体,而我将使用GPS进行定位。我意识到其他组件(例如激光扫描仪)将产生更加准确的结果,但是,这样的设备在天文学上也更加昂贵。

是否存在用于此目的的算法?

#1 楼

不管您使用什么传感器,算法本质上都是相同的。

克里斯谈到的真正问题是,即使使用非常好的传感器,SLAM也很难。

我认为GPS,车轮测距法和IMU甚至是尝试用超声波猛击的必要条件。

如果您只是在寻找便宜的定位技术,我建议您同时考虑一下基于视觉/ kinect的猛击方法。网络摄像头和kinect都很便宜,视觉冲击已经走了很长一段路。

只要您在室内,就传感器性能/成本而言,kinect几乎是圣杯。

以下是机器人上的Kinect实例以及大量数学运算:http://www.youtube.com/watch?v=9Y4RQVpp-BY

#2 楼

关于这个主题有整个文献领域。最一般的想法是同时定位和映射(SLAM),在这种情况下,机器人必须在将自己定位在地图中的同时构建地图。根据您希望地图的精确程度,您可以尝试创建一个占用网格图的简单问题,假设您知道机器人的位置。

一般来说,GPS太可怕了,因此,仅使用GPS作为主要位置信息源来生成占用栅格,就会生成漂亮的模糊地图。但是,可以将GPS与加速度,陀螺仪,指南针,照相机,车轮编码器和其他传感器集成在一起,以在世界范围内找到合适的位置。否则,您将需要研究一个简单的SLAM系统来解决您的问题。

一个很好的开源软件包g2o,用于GraphSLAM,它允许您放置GPS等约束以及墙的相对位置。它可能不完全合适,但是很笼统。

评论


$ \ begingroup $
另外一个想法是使用基本的回避行为来收集所有数据,以确保机器人不会撞到任何东西,然后使用后处理图形SLAM。这可以利用捕获的所有数据,而不是一个点的先前数据。您可能希望签出:openslam.org/ssa2d.html或robots.stanford.edu/papers/thrun.graphslam.html
$ \ endgroup $
–巴雷特·埃姆斯(Barrett Ames)
2012年10月25日20:08

#3 楼

要进行SLAM,您将需要相对良好的位置估计。

使用激光扫描仪的机器人可以仅使用里程表来完成,因为数据相对准确,并且可以使用扫描仪数据来帮助

超声波传感器非常模糊,通常方向模糊度超过20度,并且可以检测到大方向上的任何物体。

因此,它们在帮助本地化方面的帮助微不足道(在非常结构化的环境中除外)。

GPS / IMU组合可用于进行合理的本地化。当然,这取决于机器人的规模,如果是在室内,则GPS可能不可行。

如果您能够仔细控制车轮打滑,车轮里程计可以显着改善驾驶室的定位。短期(尽管最好使用绝对的本地化方法)。没有绝对参考(例如GPS),即使使用激光扫描仪,您也将需要能够解决“闭合环路”的问题。

结构化的环境可能对精度的要求较低。例如,在一个迷宫般的环境中,墙壁具有规则的正方形网格距离,在这里可以很容易地检测到网格单元各个方向上的墙壁。