Hi Arthur,
I've just subscribed to the e-puck-user mailing list in order to answer your 
Hope you receive correctly this email.
So here it goes my answer:

You are correctly using the e-RandB.
The "e_randb_get_range" function returns an unsigned int value (16 bits).
However, the maximum returned value is 4096, due to the 12 bit converter
inside the e_RandB (16 bits are used because the I2C and UART communication are
done in 8 bits' blocks).

Therefore, 4096 value should be received at 0cm distance with full
emission and the emitter and receiver perfectly aligned.
Misalignments at so short distances will produce a high error on the
range reading (this could be the reason why you are reading 2000 and
4000 in some cases).
On the other hand, a 0 value will be received at the maximum distance
depending on the range of transmission selected.

Because the range of transmission is fully configurable and the
environment light conditions are different for every lab,
we decided to return an unsigned int value which should be modeled in
order to translate to distances for every application.
Moreover, take notice that you will not be able to obtain a highly
accurate range value, due to the sensors discretization and the board

Hope I've answered your questions.

Begin forwarded message:
Date: Wed, 07 Mar 2012 18:27:38 +0100
From: Arthur Peters<peters.art...@googlemail.com>
To: e-puck-user@gna.org
Subject: [E-puck-user] Correct use of E-Puck Range and Bearing Board

Hello guys,

I am using 2 E-Puck, both with the "Range and Bearing Board" extension.

I have problems interpreting the distance-value, i get from the board.
The manual says the function "e_randb_get_range" "Returns unsigned int:
Range to emitter". But when using it, for example with the code provided
in the GCtronic Wiki or the code provided at e-puck.org, the recieved
value starts at about 2000 at 1cm and decreses non-linear with
increasing distance. Still, on other measures i get values above 4000.
So i do not know how to work with the values as it would nice to have
the physical distance between the robots.

I am using two regular E-Puck, both with the Range and Bearing Board and
the E-Jumper on top. The switch on the RANDB (S1) is on default value
(all PINs on).

Maybe I am doing something wrong, but I hope you can help me. Also I
hope I am using this mailing list correctly. :-)


Arthur Peters

E-puck-user mailing list

E-puck-user mailing list

Reply via email to