Wassim Tawil

TAs: William Dubel

Steven Pickles

Instructors: A. A Arroyo

E. M. Schwartz

 

 

 

 

 

 

 

University of Florida

Department of Electrical and Computer Engineering

EEL 5666

Intelligent Machines Design Laboratory

 

 

 

JAMESBOT

 

The Voice Controlled Spying Robot

 

 

 

 

 

 

 

 

 

 

 

Introduction

 

            Is there someone close to you that’s now trustworthy? Were you ever tempted to spy on them? Well, now you can with JamesBot. JamesBot is a voice controlled robot whose main function is to enter an unknown area, find a place to hide, and then transmit video and audio feedback. This would make a great toy for kids to play with around the house with or it can even be made into a security robot for outside use.

I’ve always been interested in spy stories and gadgets, and this is how the idea came about. I want a robot that can be controlled from distances and that can transmit information back wirelessly. It also has to be inconspicuous. This report will give a detailed explanation on the different features of JamesBot and the components used to make him work. I will start with a general description of the system, then the platform and actuation, and finally the sensors and behaviors.

 

 

 

 

 

 

 

 

 

 

Integrated System

           

            The most important part of any robot is the microcontroller; it is the brain of the robot, controlling all its behavior. This is why it’s important to choose one that will do the required task. I chose the Mavric-IIB board from bdmicro.com which supports the Atmega128 microprocessor. This is my first time working on robots and I wasn’t sure which board I would need, so the TAs recommended the Mavric-IIB. It has all the necessary components to build an autonomous robot and is programmable using C.

            JamesBot will need different kinds of sensors to accomplish his tasks successfully. These sensors will gather data and send it to the microcontroller, which it will use to output the next necessary behavior. For collision and obstacle avoidance, bump switches and IR sensors are needed. IRs will also be employed for wall following. Cds cells will be used to find the darkest area in a room. JamesBot will be voice controlled, so he will use a speech recognition circuit which will be interfaced to my board. Finally, I will have a wireless webcam for video and audio feedback which will not be connected to the microcontroller. It will use its built-in transmitter to send the video to the receiver, which in this case is my laptop. An LCD will also be used on the robot for feedback.  

 

Fig.1: Mavric-IIB board

 

 

 

 

 

 

 

 

 

 


Fig.2: Interfacing sensors to board

Mobile Platform        

 

JamesBot needs to enter a room and not get noticed. He also needs to be able to hide between furniture. For that I will try to make his platform as small as possible and try to fit all his components in an efficient way. I will use balsa wood which is supplied by the class to build the platform. I’m thinking of making a main body where all the electronics and the motors will be placed and then have an upper layer covering the body where the camera will be installed; it will be a very simple design. In the back I will place the wireless receiver and the speaker. It’s still early to predict how the robot will look like exactly because I don’t how big all the components are. As soon as I order them though, I will have a better idea.

 

Actuation

            The only parts needed for the actuation of JamesBot are motors, a motor driver, and wheels. I will use two independent DC gearhead motors with a 4mm shaft, 290 RPM and 43:1 gear ratio. I think that should be enough to push my robot and all of his electronics. To control the speed and direction of the motors I will need a motor driver. Since I need to control each wheel separately, a dual H-Bridge motor driver will be required. The one I’m using has dual channels, a range of 4.8v-12vdc, and a peak current of 2A. This driver is capable of rotating clockwise, counterclockwise, and breaking a wheel. It will connect directly to the motors and will get the necessary signals from the microprocessor. The wheels I’m using are 2.25"D x 0.5"W Neoprene Tires and are connected to the motors using a 4mm mounting hub. All these accessories used for actuation were purchased from lynxmotion.com.

 

                                

Fig.3: Dual H-Bridge motor driver

 

 

Sensors

Bump switches

            This is the least expensive and most basic sensor I’ll be using. I actually got them for free for IMDL lab, and they will only be used as backups for the IR sensors. They’ll be used to inform the microcontroller whenever the robot hits an obstacle. The bump switch is a digital sensor because it sends either a low or high voltage depending on the situation. It’s basically a pull-up resistor, and whenever the bump is hit, it causes the switch to close and make the input low. At all other times, the input stays high. On my robot, I will use two switches in the front, about 90 degrees apart, and two in the back. I will then place a circular piece of wood all around connecting the four switches. I included a figure below to give you an idea.

Oval: ROBOT

Oval: ROBOT
           

 

 

                        Fig.4: Bump switches

 

IR

            I will use the Sharp GP2D12 sensors as they seem to be the most popular and provide good distance measurement. On JamesBot, they will be used for obstacle avoidance and wall following. The sensor has an emitter which sends out an IR pulse and a receiver which records the reflected pulse. Depending on the received pulse, the sensor can approximate the distance of the obstacle. The distance is reported as an analog voltage with a range of 4’’ to 30’’. I’m thinking of using three of these sensors; one in the front and two on the sides. An image of the sensor is provided below.

        Fig.5: Sharp GP2D12

CDS cells

            My robot will need to go into a room and hide in the darkest area. To be able to accomplish this, he will be equipped with photoresistors. Photoresistors are a type of light sensor, and can be described as variable resistors. Whenever there is a change in the light level, the resistance is changed. The weaker the light reflected, the greater the resistance, and vice versa. When it’s connected to the microcontroller, the resistance will have to be converted to a voltage. This can be obtained by making a voltage divider circuit. An example can be seen below (acroname.com). If R1 is the photoresistor, then the voltage will increase with increasing light intensity.

 

                                                   

                                    Fig. 6: Voltage divider for Photoresistor

 

 

 

 

 

 

 

 

 

Voice Recognition

 

            The most useful feature of JamesBot is its voice recognition system. It will be used to guide the robot to a specified location, and also in case his position needs to be changed while he’s spying. I will be using the SR-07 Speech Recognition Kit from imageco.com. This kit has numerous features; it can handle twenty different words and can be programmed for either isolated or continuous speaking. It has non-volatile back up memory and can be easily interfaced to external circuits. When a trained word is recognized, the circuit outputs a digital number corresponding to this specific word. Since my robot will be controlled in places where I can’t see it, I need to still be able to transmit my voice commands. This will be arranged by using a pair of 2-way radios, and placing one of them on the robot. Below I provided the SR-07’s circuit.

                                                                                                 

Fig. 7: Speech Recognition circuit

 

Wireless camera

            Another addition to my robot will be a wireless camera. This is an important part since my robot’s main task is to spy. I will use the X10 Nightwatch camera which is equipped with special sensors to see in dim areas. Unlike my other sensors, this one will not be connected to the microcontroller. Instead it will send video and audio feedback using its built in transmitter directly to a receiver plugged into my laptop.

                                                  

                                                

                 

                      Fig. 8: X10 wireless camera

 

Behaviors

            JamesBot’s behaviors include:

·        Obstacle avoidance

·        Speech recognition

·        Wall following

·        Detecting dark area

·        Transmitting video and audio feedback

 

Ideally, this is what I’d like my robot to do. First I will guide him to whichever room or area I want him to spy using voice commands and a 2-way radio. Then, he will enter the room and begin wall following until he finds a place that’s dark enough to hide in. Once he finds his spot, he will stop and transmit video/audio feedback back to my laptop.