[OLPC New Zealand] [Testing] New prototype XO-1.75s in Auckland, New Zealand

Tom Parker tom at carrott.org
Wed Aug 24 06:48:41 EDT 2011


On Wed, 2011-08-24 at 07:38 +1000, James Cameron wrote:
> On Tue, Aug 23, 2011 at 10:39:38PM +1200, Tom Parker wrote:
> > Nice! I made a simple "position the turtle based on accelerometer x and
> > y" and found the sensor to be quite noisy. 
> 
> Could you quantify that please?
> 
> Normal shaking of hand, or the earth under you in your case, or nearby
> sound, may generate what appears to be noise.

I must say I hadn't thought about where the noise might be coming from,
I merely wanted to process it out. Is it really sensitive enough to pick
up normal sound (not just boom sounds!)?

Going back to what I was trying to do, I was trying to make a spirit
level, so I'm not interested in vibration. I'm interested in enough
averaging to smooth out the noise (whatever the source) while retaining
enough speed to such that the turtle moves smoothly.

I'm not really familiar enough with Turtle Blocks to know if the
performance I am seeing is because reading the sensor is slow or because
computing the average is. I had the blocks turned off because my program
was in the way of seeing what was happening and I did discover this
greatly speeds things up, but updates were still slow enough to make
finding the zero point difficult.

I suppose exposing the raw data is good for teaching about the
properties of the sensor and the real world (if it is indeed picking up
small vibrations). However I suspect many applications would like some
signal processing and a lot of those would like fast signal processing.
If the sensor is up to it but turtle blocks itself isn't, perhaps some
signal processing could be built in. Either as a separate "average n
values" block, or a property of the accelerometer block?

Then you can have a conversation about the sensor and signal processing
without having to introduce loops and boxes?

There might also be a use case for a "zero" transformation where you
declare the current orientation as zero and thereafter return the offset
from that. My vector math isn't quite good enough to work out how to do
that, never mind express it in Turtle Blocks. I say this because the
first thing I did was wonder why only one axis was near zero with the
laptop sitting "flat". I quickly realized the sensor is in the screen
and the screen was tilted backwards!

Can you make subroutines in turtle blocks? My program was a bit unwieldy
with just two loops in it. I guess I should look at the examples.

Also, we're more than 750km from Christchurch, I didn't feel any of the
big earthquakes, never mind the (still numerous) aftershocks.



More information about the OLPC-NZ mailing list