Hi Arthur, I've just subscribed to the e-puck-user mailing list in order to answer your question. 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 limitations. Hope I've answered your questions. regards alvaro 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. :-) Sincerly Arthur Peters _______________________________________________ E-puck-user mailing list E-puck-user@gna.org https://mail.gna.org/listinfo/e-puck-user
_______________________________________________ E-puck-user mailing list E-puck-user@gna.org https://mail.gna.org/listinfo/e-puck-user