与使用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。由于它在很大程度上取决于机器人的机械设计,因此无法准确估算。如果它们都像斯诺克球一样完全坚固,则可以期望很高的加速度。如果他们有某种灵活的外壳,那么这将大大降低加速度。但是,问题是,您真的需要知道撞击过程中加速度的实际值吗?