EEL 5666 Intelligent Machine Design Laboratory Professor Keith Doty. Project MINE SWEEPER. By Nick H. Nguyen

Similar documents
1. Learn about the 555 timer integrated circuit and applications 2. Apply the 555 timer to build an infrared (IR) transmitter and receiver

INFRARED PARTS MANUAL

Wireless Home Security System

Data Acquisition Module with I2C interface «I2C-FLEXEL» User s Guide

Ocean Controls RC Servo Motor Controller

If an occupancy of room is zero, i.e. room is empty then light source will be switched off automatically

STEPPER MOTOR SPEED AND POSITION CONTROL

Digital Single Axis Controller

Analog control unit for mobile robots

A Surveillance Robot with Climbing Capabilities for Home Security

Technical description MX-1 VB Edge

A+ Guide to Managing and Maintaining Your PC, 7e. Chapter 1 Introducing Hardware

Bluetooth HC-06 with serial port module Easy guide

SYSTEM 4C. C R H Electronics Design

Small 7-key User-definable Remote Control User s Guide

PICAXE COLOUR SENSOR. revolution. Overview: Contents (AXE045 Colour Sensor): Contents (AXE112S Starter Pack): General Operation:

Brake module AX5021. Documentation. Please read this document carefully before installing and commissioning the brake module!

Programming the VEX Robot

Final Design Report 19 April Project Name: utouch

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

A Guide to IR/PIR Sensor Set-Up and Testing

Zigbee-Based Wireless Distance Measuring Sensor System

RI-215A Operator s Manual. Part Number: RK Revision 0 Released: 10/3/05

IR-PRO IR-PRO. Operation Guide. Professional Infrared Code Capture System

revolution Contents: Introduction Power 28-pin Project Board with input/output cables

The $25 Son of a cheap timer This is not suitable for a beginner. You must have soldering skills in order to build this kit.

Using Arduino Microcontrollers to Sense DC Motor Speed and Position

Tutorial for Programming the LEGO MINDSTORMS NXT

UPS PIco. to be used with. Raspberry Pi B+, A+, B, and A. HAT Compliant. Raspberry Pi is a trademark of the Raspberry Pi Foundation

CHAPTER 11: Flip Flops

ServoPAL (#28824): Servo Pulser and Timer

PICNet 1. PICNet 1 PIC18 Network & SD/MMC Development Board. Features. Applications. Description

C8051F020 Utilization in an Embedded Digital Design Project Course. Daren R. Wilcox Southern Polytechnic State University Marietta, Georgia

1 de 13. Kit de 37 sensores compatibles con Arduino

EVAL-UFDC-1/UFDC-1M-16

irobot Create OPEN INTERFACE

Current Loop Application Note 1495

NOQ_NQ-9121 Z-Wave Data Logger for Gas Meters Firmware Version : 2.55

JNIOR. Overview. Get Connected. Get Results. JNIOR Model 310. JNIOR Model 312. JNIOR Model 314. JNIOR Model 410

Three Channel Optical Incremental Encoder Modules Technical Data

Circuit Board Sensor Products

FLEET MANAGEMENT & CAR SECURITY SYSTEM GPRS/GPS

2/26/2008. Sensors For Robotics. What is sensing? Why do robots need sensors? What is the angle of my arm? internal information

Parts of a Computer. Preparation. Objectives. Standards. Materials Micron Technology Foundation, Inc. All Rights Reserved

Programmable Single-/Dual-/Triple- Tone Gong SAE 800

TEECES DOME LIGHTING SYSTEMS

Technical data. General specifications. Indicators/operating means. 30 Hz Multiplex operation 30 Hz / n, n = number of sensors, n 5

Your EdVenture into Robotics You re a Programmer

An Introduction to MPLAB Integrated Development Environment

A 5 Degree Feedback Control Robotic Arm (Haptic Arm)

GLOLAB Universal Telephone Hold

Advanced Data Capture and Control Systems

Accurate Measurement of the Mains Electricity Frequency

FLYPORT Wi-Fi G

INTRODUCTION TO SERIAL ARM

The modular concept of the MPA-3 system is designed to enable easy accommodation to a huge variety of experimental requirements.

Your EdVenture into Robotics You re a Programmer

Servo Motors (SensorDAQ only) Evaluation copy. Vernier Digital Control Unit (DCU) LabQuest or LabPro power supply

Lab 3 Microcontroller programming Interfacing to Sensors and Actuators with irobot

Tire pressure monitoring

Pmod peripheral modules are powered by the host via the interface s power and ground pins.

0832 Dot Matrix Green Display Information Board User s Guide

Sensor-Based Robotic Model for Vehicle Accident Avoidance

Vision Engravers and Routers PRE-Installation Guide Vision Engraving & Routing Systems

GT Sensors Precision Gear Tooth and Encoder Sensors

with Electronic Assistant

- 35mA Standby, mA Speaking pre-defined phrases with up to 1925 total characters.

SVC400P/SVC800P. 4/8 Camera Live Tracking Vehicle DVR Installation Manual. Version 1.0

Crazy Alarm Clock L A K S H M I M E Y Y A P P A N J A M E S K A Y E W I L L I A M D I E H L C O N G C H E N

Digital Systems Based on Principles and Applications of Electrical Engineering/Rizzoni (McGraw Hill

AC-115 Compact Networked Single Door Controller. Installation and User Manual

DC Motor with Shaft Encoder

LDG DTS-4/4R Desktop Coaxial Switch / Remote

Lab Experiment 1: The LPC 2148 Education Board

Optimize your simple machines... Modicon M218 Selection Guide

Monitoring of Intravenous Drip Rate

MARS-ALE Application Note. RS-232 Computer Control Interface for LDG Electronics DTS-4/DTS-6 Desktop Coaxial Switches. Version 1.

Microcontroller Programming Beginning with Arduino. Charlie Mooney

Building Robots with NXT and LEJOS. Introduc<on. What is the NXT Robot Michael Wooldridge liv.ac.uk)

Manual for Fire Suppression & Methane Detection System

Your EdVenture into Robotics You re a Controller

SYSTEM 45. C R H Electronics Design

DS1307ZN. 64 x 8 Serial Real-Time Clock

User Manual CN2HK LIMITED. Complete Wireless Home Alarm Security System (CK-8806) ENG. Please read this manual before operating this product.

RC2200DK Demonstration Kit User Manual

EvB 5.1 v5 User s Guide

Servo Info and Centering

PolyBot Board. User's Guide V1.11 9/20/08

The Basics of Robot Mazes Teacher Notes

ECE 495 Project 3: Shocker Actuator Subsystem and Website Design. Group 1: One Awesome Engineering

Radio sensor powered by a mini solar cell the EnOcean STM 110 now functions with even less light

User Guide Reflow Toaster Oven Controller

Controlling a Mobile Robot with a Personal Digital Assistant

Microtronics technologies Mobile:

ENERGY HARVESTED ELECTRONIC SHELF LABEL

Short Range Wireless Switch System Handheld 8 Installation and Operations Guide

How To Use A Watt Saver On A Microcontroller (Watt Saver) On A Cell Phone Or Mp3 Player

Arduino Lesson 13. DC Motors. Created by Simon Monk

Software Manual RS232 Laser Merge Module. Document # SU Rev A

Arduino Lesson 16. Stepper Motors

Transcription:

EEL 5666 Intelligent Machine Design Laboratory Professor Keith Doty Project MINE SWEEPER By Nick H. Nguyen Electrical and Computer Engineering Department University of Florida

TABLE OF CONTENTS Table of Contents...2 Abstract.3 Introduction 4 Specifications 4 Integrated System..5 Mobile Platform.5 Actuation 5 Sensors..6 Behaviors 6 Experimental Layout 7 Cost Estimate.8 Conclusion..8 Documentation 9 Index 10 2

Abstract The Mine Sweeper is a mine deactivating robot. It is supported to handle the job by itself without remote controlling. The robot is supposed to detect and deactivate four IR mines at four corners of the mine field; avoid four red mines and one magnetic mine, then return to its starting location by following a flash light. The mine field is 5 x6 3/4 flat white surface. A 5 white wall surround the playing surface. There are four fixed mines that can be recognized by 6 red square painted around the mine and they are located half way from a corner to the center of the mine field. Also there is one random magnetic mine. The IR transmitters will be located 3 above the playing surface. A Motorola 68HC11 EVBU board with E9 version MCU and Novasoft ME11 expansion board is the robot s integrated system. The M68HC11-E9 is a 8-bit MCU which has many advanced features for this project. A Talrik Junior (TJ) platform, which is produced by Novasoft, is suitable for this project because of its round shape (6 1/2 inches in diameter) and light weight. The sensory system includes some different types of sensors, such as: Bumper sensor, IR sensor, Magnetic Field sensor, and Photodiode. 3

Introduction Today, there are millions of acres of mine fields around the world, and thousands of innocent people are killed and injured every year. To minimize human loss, an autonomous machine can be designed to deactivate the mine fields by itself. The robot can be intelligent enough to handle the job without remote control from a human. This project is not the first attempt in this field; however, my primary goal is designing an inexpensive, efficiency, and reliable robot, which can deactivate a mine field in the shortest time and consume the least energy. My robot will use a Motorola 68HC11-E9 microcontroller. A TJ platform is suitable for this project. There are six integrated behaviors that use 4 types of sensors. The robot will look for IR light, which is emitted from one of four mines on four corners, and deactivate the mine. It will also know how to avoid magnetic mines and some other obstacles. Specifications System: self operating IR detector range: 10 feet Magnetic sensor sensitivity: 5 to 8 from a 1 diameter coil (5.5 khz) Red Color Detector Response Time: less than 100 s (14 khz) Operating Time: 20 minutes (estimated at full charged) Size: 7 in diameter; 6 in height Power Supply: 2 packs of 6-AA NiCd batteries Require: a PC (DOS and IC) with a serial port, and a RS232 serial cable Detect red and white color using photodiodes 4

Integrated System The Mine Sweeper uses a Motorola M68HC11-E9 EVBU micro controller board which is easy to program and the price is low. Also, it can do many different functions, such as: Real Time Interrupt (RTI), Input Compare (IC), Output Compare (OC), Pulse Accumulator (PA), and Analog to Digital Converter (A/D). A ME11 expansion board (produced by Novasoft) is added to the EVBU. The ME11 is designed especially for robotic applications. Its features include:. 32Kbytes of RAM.. 8 bits of digital output capable of driving a total of 75ma continuous current.. A single output can drive as much as 35ma of continuous current.. 4 digital input and 4 digital output enables controlled by the R/W line and E-clock of the MC68HC11 processor.. An H-bridge motor driver with thermal shutoff that can drive two small DC motors with maximum sustained current of 1A through each motor.. A stable, crystal-driven 40Khz clock to modulate IR and sonar.. A 16 pin DIP socket for mounting resistors or other discrete components in series with the digital outputs.. A 60-pin header providing direct mating to a connector added to the EVBU board. Mobile Platform A TJ platform, which is produced by Novasoft, is used for this project because of it s small shape and light weight. Those reasons will help the robot avoid obstacles easier and save energy. The platform was modified to fix the EVBU board. So, it still looks compact even with EVBU and ME11 boards on. Actuation 1. Battery Power: two 6-AA NiCd battery packs (7.2 V). LM2930 regulated the voltage down to 5 V to supply to MCU and ICs. 2. Motor: Two Aristo MS410 servos are controlled by SN754410NE (1A max). 5

Sensors The Mine Sweeper employs 4 types of sensors: 1) IR sensors (proximity and long-range) 2) Bump switches 3) Magnetic field sensor 4) Photodiodes (red color and flash light detection) Three hacked Sharp GP1U58Y infrared sensors are used as the IR proximity detector and IR long-range detector. The IR proximity detector receives IR which reflects from objects in its path and IR long-range detector (beacon detector) looks for IR from the mines. The analog output is about 1.5 V - 2.5 V. The processor A/D converter provides digital outputs in the range 86 to 131 (about 5.5 bits of precision.) Bump switches detect anything else that IR proximity detector can not see, or in case the robot backs up into the wall. The digital outputs are 0 (normally open) and 255 (close when hitting a obstacle.) IMT magnetic field detector will help the robot avoid the magnetic mines in its path. Taking the advance of LED array to decide the threshold. Burr-Brown OPT101 built-in amplifier photodiode is a little clear plastic 8-pin DIP. One photodiode is used as a red color detector to prevent from running into fixed mines. Another will be used as a flash light detector to go back to it starting location. The digital outputs is in the range 1 to 218 (about 7.5 bits of precision.) Behaviors The Mine Sweeper knows to go straight, turn around (180 0 or 360 0 ) to look for IR or flash light, backup and go around when detect a fixed or magnetic mine. An IR emitter is assumed to be turned off when the robot detects the white area at the corner. 6

System Diagram Inputs E0 E1 E2 E3 E4 E6 E7 E8 68HC11-E9 & ME11 Outputs motor motor wheels Photodiode IR Sensor EMF Detector Bump Swicth 7

Program Structure Start Move to center no IR Sensor yes Forwarding to IR Deactivate IR Emitters no Avoid EMF Mine Fixed Mines yes yes Magnetic Field no Avoid Fixed Mines 8

Experimental Layout The robot will start from the middle of one of the sides of the mine field. It has to detect and turn off all 4 emitters at 4 corners. Only one corner will be turned on at a time. After completing the mission, the robot will look for a flash light signal and go back to its starting location. Besides the IR mines, 5 other mines are also on the field. Four of them are at fixed locations, and the magnetic mine is at random location. 6.8 FEET 5 INCHES Fixed Mine 5 FEET Playing Surface Fig. 1: Mine Field Lay Out IR Emitter Cost Estimate 1. Servo Kit: (MIL lab).$40.00 2. Sensor Kit: (MIL lab) $25.00 3. Novasoft ME11 Kit: (MIL lab).$53.00 4. Motorola EVBU M68HC11 - E9 board (68.00 + tax).. $72.20 5. 3 Photodiodes (estimated). $12.00 6. Magnetic sensor (estimated). $10.00 7. Miscellany (estimated).. $37.80 8. Total (estimated).....$250.00 9

Conclusion Mine sweeper is supported to perform object avoidance behavior, detecting IR, turning off IR emitter, and finding the way back to its starting location. Replacing the traditional CdS sensor with Photodiode (built-in amplifier) improves the red and white color detection rate and flashing light. The two little light bulbs that required 1.2V and 220mA each drain lots of current. So, I have to use another battery pack to prevent some crazy behaviors. 10

Documentation F.G. Martin, The 6.270 Robots Builder s Guide, 1992. Motorola, MC68HC11 EVBU User s Manual, 1992. Assembly Manual, Mekatronix ME11 Expansion Board for the MC68HC11 EVBU, 1997 Keith L. Doty, Talrik Junior Assembly Manual, 1996 11

APPENDIXES 12

/* Rudimentary obstacle avoidance using 2 front mounted IR sensors. and when detecting a red line. Find IR at corners By Nick Nguyen 6 Oct 1997 */ void stop_go() motor(right_motor,stop); motor(left_motor,stop); void go_forward() motor(right_motor,norm_speed); motor(left_motor,norm_speed-15.5); void go_forward_right() motor(left_motor,norm_speed); motor(right_motor,stop); void go_forward_left() motor(right_motor,norm_speed-15.0); motor(left_motor,stop); void go_fast() motor(right_motor,fast_speed); motor(left_motor,fast_speed-20.0); void go_back() motor(right_motor,-1.0*slow_speed/2.0); motor(left_motor,(-1.0*slow_speed/2.0)-4.0); void go_back_left() motor(left_motor,-1.0*slow_speed); motor(right_motor,stop); void go_back_right() motor(right_motor,-1.0*slow_speed); motor(left_motor,stop); 13

void go_around_right() motor(right_motor,(-1.0*slow_speed)+5.0); motor(left_motor,slow_speed-4.0); void go_around_left() motor(right_motor,slow_speed-5.0); motor(left_motor,(-1.0*slow_speed)+5.0); void wait(int milli_seconds) long timer_a; timer_a = mseconds() + (long)milli_seconds; while(timer_a > mseconds()) defer(); void read_sensors() while(1) IR_LEFT=analog(6); IR_RIGHT=analog(7); TOUCH=peek(0x1000)&0x03; LEFT=analog(1); RIGHT=analog(0); CENTER=analog(2); MAGNET=analog(4); BEACON=analog(3); LIGHT=analog(5); defer(); void avoid_obstacles() while (1) if ((IR_LEFT > THRESHOLD2 && IR_RIGHT <= THRESHOLD1) (LEFT > 65 && RIGHT < 55)) go_back_right(); sleep(.2); else if ((IR_RIGHT > THRESHOLD1 && IR_LEFT <= THRESHOLD2) (LEFT < 50 && RIGHT > 50)) go_back_left(); sleep(.2); 14

else if ((IR_LEFT > THRESHOLD2 && IR_RIGHT > THRESHOLD1) (MAGNET > 40)) go_around_left(); sleep(.3); else if (TOUCH == FRONT) go_back_left(); sleep(.25); go_forward(); else if (TOUCH == REAR) go_fast(); sleep(1.5); /* else if (CENTER > THRESHOLD3) stop_go(); */ else go_forward(); defer(); void find_ir() while (1) if (start==0) go_forward(); sleep(3.5); stop_go(); start=1; if (round < 4) if (IR_LEFT >= 89 && IR_RIGHT <= 89 && search_ir==1) go_around_left(); else if (IR_LEFT <= 89 && IR_RIGHT >= 89 && search_ir==1) go_around_left(); else if (BEACON >= 90) go_forward(); search_ir=0; wait(300); else if (BEACON <= 87 && permit==0) search_ir=1; else if (CENTER > 60) search_ir=0; permit=1; round++; go_around_left(); sleep(3.5); go_forward(); 15

sleep(2.0); wait(400); permit=0; else go_around_left(); /* if round */ defer(); void find_lite() while (1) if (round >= 4) if (round == 4) go_around_left(); sleep(1.0); go_forward(); wait(300); round++; if (LIGHT > 40 && round > 4) go_forward(); else if (LIGHT < 40 && round > 4) go_around_left(); wait(300); go_forward(); sleep(1.5); defer(); int start=0; int round=0; int permit=0; int search_ir=1; int LEFT, RIGHT, CENTER, IR_LEFT, IR_RIGHT, BEACON, LIGHT, MAGNET, TOUCH; int FRONT=1; int REAR=2; int THRESHOLD1=120; int THRESHOLD2=125; int THRESHOLD3=20; int LEFT_MOTOR=0; int RIGHT_MOTOR=1; float SLOW_SPEED=20.0; float NORM_SPEED=50.0; float FAST_SPEED=100.0; 16

float STOP=0.0; void main() poke(0x7000,0x03); start_process(read_sensors()); start_process(find_ir()); start_process(avoid_obstacles()); /* start_process(find_lite()); */ 17