updated on 20-04-2009
Sense of Touch

Some senses for Rino

Sense of Sight

This sense could be used to avoid obstacles or to detect a target. In explorer competitions there are some white painted boxes, someone just as an obstacle, other with a light or sound source, they are the targets to find.

In this front view there are most of the sensors: US range finders, IR distance measuring sensors, mechanical bumpers, CDS photoresistors. All of them are replicated on three sides with an angle of 45° to expand the visibility range.

Sharp GP2D120 infrared module can measure accurately enough the distance of an object in 4-30cm range.

CDS photoresistor installed on SRF08 module

The use of sensors with different technologies improves the ability to detect odd obstacles too. Each technology has its own pros and cons.

SRF08 module contains a complete circuit that takes care of all the procedures needed to measure distance in 3cm-6m range using time-of-fly of ultra sonic waves.

Ultrasonic sight
This is the same sense used by bats to see, waiting for the echo of ultrasonic waves reflected by objects.

Three SRF08 ultra sonic range finders are driven through the I2C bus. Using a protocol similar to the one used to read and write a 24CLxxx eeprom, it can be programmed and read. Using ultrasonic waves at 40KHz a good range of measurement is achieved but with a large beam width. This is useful to detect obstacles with a limited number of sensors but not to map the object in its exact coordinates. Something better can be obtained with 200KHz ultrasonic sensors but at a higher price. Several different mathematical and statistical methods to decrease uncertainty are described by Johann Borenstein, a pioneer and a guru of robot navigation; for example “The Virtual Force Field (VFF) and the Vector Field Histogram (VFH) Methods”. A good and practical approach to navigation problems with several different solutions is also available in course notes of Carleton University, school of computer science, in particular in chapter six.

Infrared sight

Three Sharp GP2D120 analog distance measuring sensors are located underneath the sonars.  This kind of sensor uses an array of receivers to compute the angle of the infrared beam after the reflection on the object. The internal circuit returns out a voltage proportional to the distance with a transfer function specified in the data sheet. They are cheaper and smaller than US sensors, allowing the use of more elements. The measuring range is not very large, there are different models for different ranges.  The GP2D120 is the best for this application because it starts from 4cm allowing the detection also of very close objects. The measuring spot is very small, that’s good to map the object precisely but there is the risk to miss a thin obstacle. It works fine with mat surfaces, with glossy objects can happen that the IR beam is reflected geometrically with the same but opposite angle of incidence not returning to the receiver. In my home I have a cylindrical umbrella stand, something similar to a big metallic glazed can. With Sharp sensors only, the robot is not able at all to avoid it, that’s a “stealth” obstacle. Furthermore, IR sensors can go blind or return false measurements, if an intense light (even in visible range) hits them directly.

The analog output of the sensors is read through three ports of the MAX127 ADC to I2C chip, allowing the use of the same bus used for SRF08 sensors.

Visible light sight

Another target of an explorer competition is a light source. The goal, and relative score, is considered achieved when the robot stops for some seconds at a distance less then 20cm from the source, lighting up a green LED. This task requires to measure the distance from the object and to detect the light, when the intensity is greater than a threshold and the distance is less then 20cm the robot starts the “job done” procedure.

The SRF08 module hosts also a CDS photoresistors that measures the ambient light intensity and puts this value in a register readable through the I2C bus in the same way for the distance values.