我以前从未使用过加速度计,但我知道它们带有I2C,SPI和模拟输出。如果我选择使用I2c或SPI设备,由于通讯时间,我会积累错误吗?

与使用I2C相比,对模拟信号的快速采样是否有可能使我获得更准确的推论位置? ?

对于


这是真的吗?在室内移动的机器人
在室外地形中移动的机器人可能会滑动和滚动下坡。

我也没有G感。我尝试着用拳头运行手机时快速移动手,发现读数达到20m / s2饱和。如果机器人被另一个发胖的机器人击中或被快走的人撞到,我能期待G的经历吗?

#1 楼

增加传感器的采样频率不会提高其准确性或精度。这是您通常无法更改的传感器功能。如果您尝试仅通过积分加速度来估计位置,则肯定会随着时间的流逝而累积误差,因为每个传感器都嘈杂。如果要使用加速度计来确定位置或速度,则应将其与其他一些实际测量位置(甚至精度较低)或速度的传感器组合。然后,您可以将这些不同的传感器信号与卡尔曼滤波器组合在一起,以合理估算出您的位置以及移动的速度。

考虑到G力,请考虑1 G为9.81 m / s ^ 2,这对于小型爱好型机器人(至少对于室内机器人)而言对我来说似乎很多。根据引擎的强大程度,户外可能会是另一回事。 20m / s ^ 2的饱和度就足够了。

#2 楼

考虑您的控制回路速度。典型的快速控制环路速度为1kHz。有些机器人使用的速度更快,有些机器人使用的速度更慢。通常,您的控制环速度要比您真正需要的速度高。

因此,每个控制框架的使用寿命为1000us。在此控制框架内,您需要:


对传感器进行采样
执行控制计算
将新的输出发送到电机

只要您能在规定的时间内轻松完成所有这些操作,就不会有任何问题。那么读取加速度计需要多长时间?如果是使用400kbps I2C的3轴设备,则可能需要大约160us的时间来读取数据。这样一来,您就需要840us的时间来执行计算和更新电动机。甚至8位PIC也可以解决这个问题。在撞击过程中,它们可能很高。例如,您认为破坏硬盘驱动器需要花费多少?大概不会那么多。好吧,我最近说过一个硬盘驱动器的额定最大加速为75G。因此,期望两个机器人碰撞产生至少几个G。由于它在很大程度上取决于机器人的机械设计,因此无法准确估算。如果它们都像斯诺克球一样完全坚固,则可以期望很高的加速度。如果他们有某种灵活的外壳,那么这将大大降低加速度。但是,问题是,您真的需要知道撞击过程中加速度的实际值吗?

#3 楼

根据您的问题,我认为您正在尝试从加速度计获得位置。看看您之前期望什么样的错误,然后可能会重新考虑。位置估计有很大的误差,主要是由于方向的不确定性。在船舶,飞机,火箭等中的应用使用非常昂贵的高精度导航级IMU。您的问题归结为延迟,并不是什么大问题。更相关的是其他传感器(例如陀螺仪)之间的同步。加速度计通常不用于位置估计(在某些情况下有帮助,但仅在短时间内有效),而是用于补偿方向估计中的陀螺仪漂移。您也可以直接使用它们来估计方向,但是动态加速度会干扰您的估计。