我是否需要一个复杂的系统(陀螺仪,加速度计等)来检测机器人是否向前移动,还是可以简单地使用加速度计。

我正在构建一个学习走路的机器人,我需要检测位移以进行机器学习。我可以使用加速度计还是需要一个复杂/昂贵的内部导航系统?

#1 楼

对于简单的运动检测,您可以查看以下内容:LIS3DH,L3GD20。

如果您想查看更复杂的选项,则可以查看以下软件包:INEMO-M1。我正在3D运动跟踪应用程序中使用此程序包。它相对便宜,并且它的集成传感器融合提供了我所发现的最可靠的位移度量。 (最小化了加速度计的漂移,输出的平滑度等)。

最后,该零件上的跌倒检测和单击/双击识别功能
可以辅助行走应用:LIS302DL 。例如,自由落体检测(由于可以在任何轴上设置运动触发器,因此可能会略有误名)可以帮助检测腿部运动。点击/双击功能可以帮助检测腿是否与步行表面接触。

#2 楼

从理论上讲,您可以仅使用加速度计来确定运动,但它可能不够准确,无法实现目标。

加速度计的最大问题是随着时间的推移会发生漂移(即,加速度测量的误差会被积分两次),因此您的位置精度会随着时间的推移而显着下降。此问题的严重性取决于加速度计的质量和测量时间。

如果您不需要位置信息,而只想表明机器人已朝特定方向移动,则可以使用加速度计会做的工作。

否则,您可能希望将其他一些传感器与加速度计结合使用,在这种情况下,您可能需要一些SLAM技术。您还可以切换到另一种类型的系统(例如另一个答案中提到的外部运动捕获)。

评论


$ \ begingroup $
还请记住,倾斜也会改变加速度计的输出。例如,如果x向前并且z向上,则如果设备向前倾斜,则x加速度将增加,-z加速度将相应减小。
$ \ endgroup $
–ViennaMike
2012年11月28日19:35

$ \ begingroup $
@ViennaMike我可以使用ArduIMU并使用陀螺仪将错误降至最低
$ \ endgroup $
–乔丹
2012年11月28日23:07

#3 楼

仅使用加速度计就可以测量是否发生了移动,可以测量多少,什么不可以。您可能需要更好地指定应用程序,但这听起来应该使用外部跟踪系统(例如,基于摄像头)。如果您要寻找低成本的产品,还可以使用诸如超声波传感器之类的简单方法来获取机器人移动的距离。