Answers:
无论使用哪种传感器,算法基本相同。
克里斯谈到的真正问题是,即使使用非常好的传感器,SLAM也很难。
我认为GPS,车轮里程计和IMU甚至是尝试用超声波猛击的必要条件。
如果您只是在寻找便宜的本地化产品,我建议您同时查看基于视觉/ kinect的猛击技术。网络摄像头和kinect都很便宜,视觉冲击已经走了很长一段路。
就传感器性能/成本而言,只要您在室内,kinect几乎就是圣杯。
这是机器人上的Kinect实例以及大量数学运算的示例:http : //www.youtube.com/watch?v= 9Y4RQVpp-BY
有关此主题的文献全都有。最普遍的想法是同时定位和映射(SLAM),即机器人必须在将自己定位在地图中的同时构建地图。根据您希望地图的精确度,您可以尝试创建一个占用网格图的简单问题,假设您知道机器人的位置。
通常,GPS太可怕了,因此仅将GPS用作主要位置源来生成占用栅格,就会生成漂亮的模糊地图。但是,可以将GPS与加速度,陀螺仪,指南针,照相机,车轮编码器和其他传感器集成在一起,以在世界范围内找到合适的位置。否则,您将需要研究一个简单的SLAM系统来解决您的问题。
一个很好的开源软件包g2o,用于所谓的GraphSLAM,允许您放置GPS等约束以及与墙的相对位置。它可能不完全合适,但是很笼统。
要进行SLAM,您需要相对良好的位置估计。
使用激光扫描仪的机器人可以仅使用里程计,因为数据相对准确,并且可以使用扫描仪数据来帮助在后续时间步中进行定位。
超声波传感器非常模糊,通常方向模糊度超过20度,任何方向上的东西都会被检测到。
因此,它们在帮助本地化方面的帮助微不足道(非常结构化的环境除外)。
GPS / IMU组合可用于获得合理的定位。当然,这取决于机器人的规模,如果在室内,GPS可能不实用。
如果您能够仔细控制车轮打滑,则车轮里程计可在短期内显着改善定位(尽管首选绝对定位方法)。如果没有绝对参考(例如GPS),即使使用激光扫描仪,您也将需要能够解决“闭环”问题。
结构化环境可能具有较低的精度要求。例如,在迷宫般的环境中,墙壁具有规则的正方形网格距离,在这里可以很容易地检测到网格单元每个方向上的墙壁。