2012年02月 文档列表

如何购买缺失的乐高零件

有不少朋友曾经问我该买哪个版本的NXT,以及不够的零件怎么补,这里统一回答一下。

以很多人关注的大圆盘齿轮为例,我的9797套装里有这个零件,可以在下面这个页面查看9797的明细表:
http://peeron.com/inv/sets/9797

注意URL最后面的9797可以改成你所知的其他套装编号。在列表里可以看到大齿轮的编号是:48452cx1

如果你只打算买这一个零件,去淘宝搜这个型号就可以了。如果你想买一个其他套装带这个零件的,就点这个零件的链接进去。这时候就会显示哪些套装中包含这个大齿轮。

运动状态中的加速度传感器

之前对加速度传感器读数震荡早有耳闻,但是一直没有真正在电机启动状态下记录读数。今天春节的慵懒综合症差不多过去了,做了一个小实验,对加速度传感器做一个简单的评估。

实验条件是从上方吊起四轴飞行器,操作顺序为:
1. 接通电源,记录读数
2. 启动电机功率到40(80~100为起飞功率),飞行器无摆动
3. 停止电机
4. 启动电机功率到40,同时手动让飞行器做钟摆运动
5. 保持电机功率,用拉绳把飞行器倾斜30度左右

得到的记录数据如下:

传感器工作情况记录

传感器工作情况记录

图中的红色数据是加速度传感器计算出来的角度,黑色是平均滤波后的角度。横坐标是时间,50表示1秒。从图中得到以下结论:
1. 在电机未启动时,加速度传感器和陀螺仪传感器积分值较接近,数据抖动在1度到4度之间,因为是悬挂状态,所以可以认为数据是准确的;
2. 电机启动之后,在飞行器没有摆动的情况下,读数依然跳动的非常厉害(正负15度);
3. 在钟摆运动的情况下,由于数据抖动的原因,读数看上去和不动的时候居然没啥区别;
4. 在手动倾斜的情况下,可以看出传感器虽然读数跳动剧烈,但是总体趋势还是会偏移;

从钟摆运动的中段1500到2000之间取出数据放大,分别查看陀螺仪传感器读数和加速度传感器的读数:

钟摆运动下的陀螺仪传感器读数

钟摆运动下的陀螺仪传感器读数

钟摆运动下的加速度传感器读数

钟摆运动下的加速度传感器读数

果然如传闻所说,陀螺仪传感器还是比较给力的,至少数据图看上去还比较整齐;而加速度传感器基本处于暴走状态,必须要长时间的平均才能反映大致的倾角范围。

新来的朋友可能会有疑问,既然这样的话,为什么不直接抛弃加速度传感器,直接用陀螺仪来测量角度呢。其实主要原因在于陀螺仪测量角度是靠积分计算的,时间一长就会有误差的积累。最简单的验证就是把飞行器水平放到地上,你会发现积分出来的角度在几分钟之后非常缓慢的上升到几十度。所以需要在积分的过程中不断的掺入加速度传感器的读数,用来修正误差。

今天的实验是室内试验,只敢把电机功率调到40,在真正飞行状态下,误差会更大。不过有了数据,心里大概能踏实点儿了。接下来就是考虑如何减少加速度传感器的震动误差,可以考虑从结构上物理减震和从算法上调整计算参数。希望接下来好运吧! :)