University of Florida

Department of Electrical and Computer Engineering

EEL5666C

Intelligent Machines Design Laboratory

 

Sensor Report (07/07/05)

 

 

 

Bi-Mode

 

 

 

 

 

 

 

Joel Padilla

TAs: William Dubel

Steven Pickles

Instructor: A. Arroyo

E. Schwartz

 

 

 

Behaviors
Mode 1: PREY

            Object Avoidance (run away from chasing objects)

Mode 2: PREDATOR

            Heat signature tracking

 

Sensors
 

 

 
 

 

 

Figure 6: Sensors: A) Bump B) IfraRed C) PhotoReflector D) PyroElectric

 
 

 


Bump sensors

 

IR sensors

PhotoReflector sensors

PyroElectric sensor

 

Bump Sensors

Figure 7: Bump schematics and location on the robot

 

           

The bump switches are wired as depicted in the schematics of Figure 7. The circuit will be a pull-up switch, which yields an active low signal. The signal will go a digital I/O port in the Mavric-IIB board. A total of six bumpers will be positioned in a hex format around the robot, which allows for complete coverage of the perimeter.

To detect a collision, the software will detect if the signal is high (no collision) or low (a collision occurred because the switch is closed).

Figure 8: Switch Operational Data

 

 

IR Sensors

Figure 9: IR wiring schematics and IR location on platform

 

 

Figure 10: IR Theoretical Operation of Voltage vs. Distance

 

 

           

A total of five IR sensors will be located as depicted above. All of the IR will be GP2D12 with the exception of the very bottom sensor, a GP2Y0A02YK.  The wiring is basic, as shown in the schematics of Figure 9. The signal will go to an analog I/O port in the Mavric-IIB board. The output voltage follows the general characteristics of the chart above in Figure 10. The easy way to integrate the distance is to be in the environment of operation and measure a desired distance of operation by taking the voltage at the output. The following formula gives the ADC value corresponding to the distance (voltage) desired: (Vsignal*1000*1024)/(Vreference*1000) = ADC. Vsignal comes from the IR and is put in an A/D port. The Vref is the 5V reference of the A/D I will be using. This is the technique I will be using to adjust to the environments lighting, rather than creating a calibration routine in the robot. You can also read the following graphs of data for the GP2d12 that were take in different environments, and thus obtain the desired values. Notice how Figure 11 and 12 are very similar to Figure 10.

Figure 11: IR Data taken at Marston Library

 

 

Figure 12: IR Data taken at NEB

 

 

 

Figure 13: IR Data taken at a Swimming Pool

 

 

PhotoReflector

Figure 14: Photo’s Circuitry and Operational Truth Table

 

 

Two photo-reflectors will be mounted in the front of the robot. The choice to use two photo-reflectors is because sometimes when the robot roams around, black spot or lines can trigger the sensor. Thus, having two will guarantee functionality, especially in the floor of NEB building (where the “Media Demo” will take place). I selected this sensor because it is easy to debug, integrate, and flexibility. You can use this sensor to either detect an edge when the robot is on an elevated platform (table, second floor with stairs, etc.), or you can follow lines (with a pair or more) if you want to. However, under default settings, the sensor has to be very closed to the ground. Experimentation shows that the most ideal height is 0.75cm because it can detect the surface that is on regardless of questionable shades and decent luminescence of the environment. The only warning for this sensor is if the sensor is too close to the ground, the sensors malfunction by giving an erroneous output (does not detects the light surface – thinks it in on a dark spot or no surface). The signal will go a digital I/O port in the Mavric-IIB board. The signal will be a logic signal, which makes is ideal to integrate in our system, especially since it has an external LED that shows the status of the sensor (see Figure 11: Truth Table shows its general operation on a surface). It operates in a similar manner to a switch, but the wiring is simple (just ground and power the sensor, and take the signal to the board – Figure 11 shows the schematics that makes the sensor’s circuitry and the external wires that come out, which are the ones I am using to interface the sensor).

Figure 15: Photo-Reflector’s Operational Characteristic Data

 

 

PyroElectric Sensor

D

 

C

 

B

 

A

 

Figure 16: A) Front View w/o Cone   B) Back View = Pin Out

         C) Pyro’s Circuitry            D) Cone w/ Filtering Lens

 

 

            The interface is simple, as seen on the schematics. From the front view picture, motion is detected when there is horizontal movement by an object with a heat signature. The sensor comes equipped with a cone to place a Fresnel lens on it, providing a 30º

field of view (FOV). The lens filters several wavelengths and only allows wavelengths of 8-14 micrometers to pass into the sensor. The reason for this is that humans have an energy/heat radiation of about 10 micrometers. Thus allowing great human motion detection. The sensor has a steady state voltage of about 2.5V, meaning that the sensor will settle down to this voltage after a little while, regardless of the presence of a human. When there is motion in the right direction (when facing the front of the sensor), the output goes up. When there is motion in the left direction, the output goes down. The degree of the change of the voltage seems to depend on the speed of motion and relative proximity to the detector. For instance, if a human runs across the sensor, the voltage will go practically high or low, depending on the direction of motion. Normal waking pace produces about 1.3V and 3.6V, depending on the direction of motion. In my opinion, the sensor is not a great piece of equipment. It seems simple, but due to its inaccuracy and logistic design, it is very cumbersome to track a person. However, it is flawless when it comes to the detection of the presence of a person when the individual comes in the FOV of the sensor, even when the person is 3 meters away. From Figure 15A, you can see two parallel rectangles, this are the actual sensors in the sensor. The way they work is if the right sensor senses the proximity of a person, the sensor “heats up” due to the thermal radiation emitted by the individual and thus increases the output voltage above the steady state value of about 2.5V. But when the left sensor detects the “heat source” moving near by, the sensor decrease the output voltage below the steady state value. The inaccuracy for human tracking comes when the “heat source” is somewhat in the middle or goes across the middle. This is the hard part to code because of the erratic behavior of the sensor under these circumstances. For instance, sometimes the sensor changes voltage (lower to higher, or higher to lower) depending on the direction of motion, or it just plainly gives a higher, or just lower voltage at the output. This behavior is hard to predict, and thus provides problems when it comes to tracking a person.

 

 

 

RF Remote Control

 

Bi-Mode’s function is to provide the two behavior sides of the animal kingdom, prey and predator. To accomplish this task, the prey and predator were both separated into two different software algorithms. Each algorithm can be selected at the push of a single button from a RF remote control. The implications of this idea or concept, is the fact that you can literately create different behavior algorithms (or completely different robots) and put all your code in the robot and you just select which robot you want to be operational. My control remote is a 4 channel remote, in other words, I have 4 buttons. Thus, due to the way I have my code, I have the ability to have 5 different robots (a default algorithm that runs from startup, and 4 different algorithms/robots when I press the desired button/robot). In practice, you can have as many selectable robots as you have buttons in your control remote, plus the one default algorithm (if you want it to start with a robot at startup, this is optional). As far as I am concern, Bi-Mode is the first robot in the class history to have such capabilities. To deselect the current operational robot, all you have to do is press the same button you pressed to select it in the first place.

The way the remote works is by the push of one of its buttons (momentary relay), a 315Mhz signal is send out, as long as the button stays pressed. The way the receiver works is when the signal from the remote is received, the output goes high; otherwise the output is always low. The power supply to the receiver is a 5V input, while the remote has a 12V battery. The receiver has an antenna, and together with the remote signal strength, they are capable of working in a range of 200m. But such distance will never be required since you are usually using the remote nearby. Figure 17, below, shows the actual receiver and a similar remote that is in used with Bi-Mode.

 

Figure 17: RF Remote Control used in Bi-Mode