哪些2D SLAM实现(最好包含在ROS中)可以与简单的距离传感器(例如IR或超声波测距仪)一起使用?

我有一个小型移动平台,配备了三个面向前方的超声波传感器(以45度定位,直线前进和-45度),以及6自由度加速度/重力和车轮编码器,我想用它来实现“玩具” SLAM实现。我不想在Kinect上浪费钱,更不用说在商业激光测距仪上浪费钱了,因此,不要求使用需要高密度激光测量的方法。

#1 楼

SLAM的实际实现方式并不关心您使用的是高保真激光测距仪还是更便宜的超声传感器。两者都提供范围测量,最大的区别是不确定性。当然,超声波传感器采用不同的原理工作,因此它的功能不止于此,但是两者都提供了距离测量功能,因此您可以在SLAM算法中的一种或多种之间进行切换。

最大的挑战可能是确定将构成地图的环境中的地标或特征。使用Kinect或扫地激光扫描仪,您可以相对轻松地挑选和跟踪特征。但是,只有3个超声波传感器的视场很宽并且会受到回声和其他复杂因素的影响,您将很难识别环境中的物体或特征。

#2 楼

使用具有DOF机制的单个超声波传感器,并尝试使用arduino板,
创建用于映射的节点,使用超声简单的arduino代码在gmapping节点代码中交换变量。一旦达到距离,便可以轻松发布这些网络变量,您可以根据需要使用它。

最困难的任务是在arduino代码中交换变量。您必须使用您的编程技能来交换这些变量。

我不确定“距离变量”的比率,这对于gmaaping是否足够。也许通过使用激光传感器的距离可变率更高。