MinuteMachine. Devin Holland April 21, 2014

Similar documents
Beethoven Bot. Oliver Chang. University of Florida. Department of Electrical and Computer Engineering. EEL 4665-IMDL-Final Report

Author: Seth Reed Lakritz

(Skip to step 11 if you are already familiar with connecting to the Tribot)

Final Report. PIBot(Pill Informer robot) EEL 5666: Intelligent Machines Design Laboratory Student Name: Duckki Lee

EEL 5666C INTELLIGENCE MACHINE DESIGN LABORATORY. Final Report. Spring 2005 Clifford Pannella Robot: Dice

Receiver Description and Installation

6.111 Final Project Proposal Kelly Snyder and Rebecca Greene. Abstract

dynamic perception Motion Control for Photographers and Filmmakers DIGITAL NMX CONTROLLER

1ms Column Parallel Vision System and It's Application of High Speed Target Tracking

Spring 2011 Microprocessors B Course Project (30% of your course Grade)

Koolio: An Autonomous Refrigerator Robot

Color Programmable Control Board

Embedded Systems Lab. Dynamic Traffic and Street Lights Controller with Non-Motorized User Detection

RADSAT (Reconnaissance And Demolition Super Attack Tank)

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

Session 1 Introduction to Data Acquisition and Real-Time Control

OWNER S MANUAL MOTORIZED 7 WIDE TFT LCD COLOR MONITOR CNT-701

Bird-Inspired Robot with Visual Feedback and Navigated from the Computer

Digital Strobe Tuner. w/ On stage Display

LED SPOT HEAD USERS GUIDE

UBC Thunderbots 2009 Team Description Paper. Alim Jiwa, Amanda Li, Amir Bahador Moosavi zadeh, Howard Hu, George Stelle, Byron Knoll, Kevin Baillie,

Escort Bot for the visually challenged

Shane Tornifoglio Page 1 of 6. Weekly Report 6 2/29/10

Gazer VI700A-SYNC2 and VI700W- SYNC2 INSTALLATION MANUAL

Digital (5hz to 500 Khz) Frequency-Meter

Outback STX. User Guide Supplement. Parts List. STX Terminal Overview

Team One Paper. Final Paper. Overall Strategy

ARCAM ALPHA 5 CD PLAYER SERVICE MANUAL

QTI Line Follower AppKit for the Boe-Bot (#28108)

Smart Traffic Control System Using Image Processing

LED SPOT HEAD USERS GUIDE

ZOOM LED Spot. Market leading colour control and future proofed functionality with simplicity of use Designed and built in the UK

ALO 030 MKII. 30 Watt DMX LED scanner. User manual

Endurance Robotics PT-3

Recording to Tape (Analogue or Digital)...10

Senior Design Project: Blind Transmitter

Design of Vision Embedded Platform with AVR

Preliminary Design Report. Remote Fencing Scoreboard Gator FenceBox

APPLICATION NOTE 4312 Getting Started with DeepCover Secure Microcontroller (MAXQ1850) EV KIT and the CrossWorks Compiler for the MAXQ30

CHAPTER 16 UNIVERSITY OF NORTH CAROLINA AT CHAPEL HILL

Installation / Set-up of Autoread Camera System to DS1000/DS1200 Inserters

MCR3 POWER EQUIPMENT. Microprocessor Controlled Constant Current Regulator. Compliance with Standards. Uses. Features

when it comes to quality! BMR GmbH 1

Gazer VI700A-SYNC/IN and VI700W- SYNC/IN INSTALLATION MANUAL

XTAL Bank DDS Version 0.02 Sept Preliminary, highly likely to contain numerous errors

ECE 480. Pre-Proposal 1/27/2014 Ballistic Chronograph

Computer Systems Architecture

Frequently Asked Questions (FAQs)

LEGO MINDSTORMS PROGRAMMING CAMP. Robotics Programming 101 Camp Curriculum

Senior Design Project A FEW PROJECT IDEAS

Chapter 5 Flip-Flops and Related Devices

Transmitter Interface Program

September 17, Dr. Andrew Rawicz School of Engineering Science Simon Fraser University Burnaby, British Columbia V5A 1S6

Be sure to run the vehicle engine while using this unit to avoid battery exhaustion.

Intelligent Machines Design Laboratory EEL5666 Summer 2002 Final Report Thursday, August 8, 2002 Cyrus Harrison

TELSTRA GO SMART REPEATER - MOBILE 3G / 4G / 4GX TECHNICIAN/INSTALLER GUIDE

SAPLING WIRED SYSTEM

SRV02-Series. Ball & Beam. User Manual

SPECIFICATION NO Model 207 Automatic GTAW Welding System

A Real Time Hi Speed Tracker for Chain Snatcher

UNIT V 8051 Microcontroller based Systems Design

Parade Application. Overview

CCTV BASICS YOUR GUIDE TO CCTV SECURITY SURVEILLANCE

Torsional vibration analysis in ArtemiS SUITE 1

Field Service Procedure Replacement PCU Kit, ST24

There are many ham radio related activities

AXE101 PICAXE-08M2 Cyberpet Kit

Multipurpose Robot. Himanshu Gupta 1, Mohammad Shahid 2

SPECIFICATION NO NOTE

Embedded System Training Module ABLab Solutions

Experiment # 4 Counters and Logic Analyzer

SATELLITE TV OPERATION / TECHNICAL MANUAL. Eagle II Controller

3950 NW 120 th Ave, Coral Springs, FL TEL FAX RGBv2 NTV-KIT885.

SWITCH: Microcontroller Touch-switch Design & Test (Part 2)

MACH3 LaserAce Installation Manual Revision 1. MACH3 LaserAce Installation Manual

In total 2 project plans are submitted. Deadline for Plan 1 is on at 23:59. The plan must contain the following information:

A. All equipment and materials used shall be standard components that are regularly manufactured and used in the manufacturer s system.

LED BEAM HEAD USERS GUIDE

LED BEAM HEAD USERS GUIDE

Quick Start Guide Camera Slot Dual UHF Receiver

Summer Grocery Shopping Assistant for the Visually Impaired(Grozi) Joo Byoung (Ave) Park Client: National Federation of the Blind.

The software concept. Try yourself and experience how your processes are significantly simplified. You need. weqube.

Topic: Instructional David G. Thomas December 23, 2015

Laboratory 8. Digital Circuits - Counter and LED Display

MATLAB & Image Processing (Summer Training Program) 4 Weeks/ 30 Days

Introduction. Table of Contents

Variable Frequency Drive (VFD) Control Lab

Classroom Setup... 2 PC... 2 Document Camera... 3 DVD... 4 Auxiliary... 5

BSL MAGIC ZOOM 7 USERS GUIDE

RF Mogul. Quick Start. Model: SDC1. Satellite Dish Controller

SRV02-Series. Rotary Pendulum. User Manual

IoT Toolbox Mobile Application User Manual

G ARD SECURITY SYSTEM Product Listing 2007

Real-time Chatter Compensation based on Embedded Sensing Device in Machine tools

Fully ly Automaticti. Motorised Satellite t TV System. User s manual REV

Automotive 72 Exterior Smart Lighting Kit

SATELLITE TV OPERATION / TECHNICAL MANUAL. Eagle II Controller

MyFlyDream TeleFlyPro V1.04

WASH MOVING HEAD M7W15RGBW USER MANUAL. For safety, please read this user manual carefully before initial use.

Configuring the Stack ST8961 VS Module when used in conjunction with a Stack ST81xx series display.

Transcription:

MinuteMachine Devin Holland April 21, 2014 University of Florida Department of Electrical and Computer Engineering EEL4665C - IMDL Spring 2014 Instructors: A. Antonio Arroyo, Eric M. Schwartz TAs: Joshua Weaver, Andy Gray, Nicholas Cox, Daniel Frank

Table of Contents Abstract... 3 Executive Summary...3 Introduction...5 Integrated System...6 Mobile Platform...7 Actuation...7 Sensors...8 ---- Special Sensor...8 Behaviors...9 Audio to Serial PCB & Results...10 Conclusion...12 Documentation...12 Appendices...12

Abstract Robotics exist to improve humanity by taking over the repetitive, uncomfortable, and dangerous aspects of our lives. One of the most confrontationally dangerous situations to be in is where the danger comes from humans themselves. I am modeling my robot with the duties of an urban police officer or soldier. I want my robot to be able to provide a protected environment by emulating the duties of law enforcement. By watching out for situations in progress it will be able to interfere and prevent any unnecessary harm to the victim. When the MinuteMachine identifies unregistered weaponry in the form of a concentric color pattern it will lock on to the offending weaponry and fire. Executive Summary MinuteMachine is an autonomous robot created to navigate a typical hallway that you might find in an office environment. The main objective while navigating an area is to autonomously identify concentric colored targets and shoot them. One of the goals for this project was to build a platform that is completely self contained, requiring no external signals for any system. This was achieved by integrating an off the shelf Android device to handle the vision system. Locomotion is provided by a unique drive system. A single motor in the rear of the robot provides all the power. This single motor is attached to a single wheel that can pivot 180* to enable turning in place. In addition a pitman arm is used to drive another steering mechanism in the front. MinuteMachine was designed this way to gain the ability to strafe at an angle towards a target. Figure 1: MinuteMachine's dual steering capabilities Two bump sensors and two IR sensors were placed on the front for obstacle avoidance. Concealed inside the MinuteMachine can pivot the two IR sensors synchronously to maximize the sphere of detection for any obstacles or walls. Inside and out of view resides everything

required to get the MinuteMachine powered and running. Included is the 12v lipo battery, motor controller, 5v regulator and my power and signal distribution PCB, my audio to serial PCB, microcontroller, 3 servos, LCD display and system buttons. On top of the main platform resides a pan & tilt rig containing a Samsung S4 (Android device) and dart launching device When MinuteMachine is first turned on, the voltage from the 12v lipo battery is split between a motor controller and a 5v regulator that powers the microcontroller and 10 additional devices. The LCD will immediately prompt the user to select a mode from a list after a short bootup sequence. The modes include a 'Full Mode' to launch the main program, a 'Turrent Mode' to isolate the targeting system, and a 'Calibration Mode' to set two custom threshold values for obstacle avoidance. In 'Full Mode' the MinuteMachine will use the microcontroller to navigate an area, this mode relies on an interrupt that automatically receives coordinates from the android device. When a set of coordinates dependant on the center of mass for both colors passes a series of filters built into the Android itself passes, the data is passed using USART over the audio jack to the microcontroller. When a positive match has been detected, MinuteMachine will stop and look at the specified coordinates and initiate 'Target Mode'. If within the next five seconds another set of coordinates are captured and within the tolerances for the center of the screen a firing sequence begins. The launcher motor will power up and a single dart will be fed into it. MinuteMachine will continue to fire at the target until it disappears and will resume navigating the area.

Introduction The goal for this robot is to detect a disturbance and neutralize the situation. To detect a disturbance the robot will scan for a certain color pattern to attempt to find unregistered weaponry and shoot at it. Afterwards the robot will resume patrolling. I've always wanted to build robotics that would integrate into our everyday lives and help us in some way. For this project I wanted to do something ambitious. I wanted to learn how to use a sensor that has previously been out of my reach, I wanted a vision system. Also I wanted to recycle old smart phones and use them to their full potential. After learning about a vision library called OpenCV that could be installed on my android I was set. I Learned how to write Android apps and how to incorporate OpenCV into it. This report will cover the construction and go over some details of the MinuteMachine. The machine will operate in one of two user selected modes: 'Full Mode' and 'Turret Mode'. In Turret Mode the MinuteMachine will remain stationary and scan for any unregistered weaponry. In Full Mode the MinuteMachine will navigate an area and flip to Turret Mode if a target is spotted.

Integrated System The final architecture of MinuteMachine can be seen in Figure-2. The secondary systems are controlled by an ATxmega128A1U microprocessor. The ATxmega will be connected through USART over the audio jack to an onboard Android mobile that will handle the visual processing. The ATxmega controls all functions with the Android acting like a sensor which only provides data. The block diagram in Figure-2 below shows all the components and ties between them. 12v Lipo Motor Controller Drive Motor Launch Motor ATxmega128A1U 5v Regulator Power Distribution PCB 4 momentary push buttons Audio to Serial PCB 6 Servos IR Sensors LCD Android (Audio Jack) (Figure-2) MinuteMachine system block diagram

Mobile Platform The vehicle of MinuteMachine is a unique reverse powered tricycle. This design was chosen over others because it'll give all the benefits of a steering and tank tread design, combined it will provide a variety of driving capabilities. One main benefit of this design is the ability to strafe towards a target. Designed to drive over indoor surfaces and among multiple objects, the drive system is housed and protected inside the frame which provided a low profile to roll over tile and smooth carpeting. Actuation MinuteMachine uses a HG16 Copal motor and one Hitec HS-422 servo to power and steer the rear drive system respectively, the single rear wheel will be able to rotate 180 to provide pivoting and minor course corrections. Another Hitec servo controls the front steering which provides major course corrections and interesting maneuvers. The firing mechanism will be mounted on a pan & tilt system powered by another 2 Hitec servos. The brushed motors use two counter spinning drums that are spun up to their maximum speed. A foam dart is fed in between the two drums using a mini servo. The turret relies on gravity to reload the turret after the mini servo returns to the docked position. Lastly the sweeping IR sensors are allowed to pivot only when a Hitec servo pulls a string inside the chassis which rotates a large wooden disk. Both the IR sensor and the wooden disk are fixed to a 1.5" 4-40 screw. When returning to the front the disks use a set of springs to pick up the slack in the line.

Sensors MinuteMachine's two important senses are infrared distance measuring and an onboard vision system. To visually scan its surroundings the robot will use the onboard camera built into the Android. Then by using OpenCV to detect color blobs it will send filtered data to the microcontroller to decide what to do. A custom app was needed to collect and process the information from the Android and communicate with the microcontroller. The robot will also use IR light to detect the world around it, and if they were to fail bump switches would let the robot know it encountered something solid. Special Sensor The special sensor used on MinuteMachine is a camera which is incorporated in an Android device. The live feed will be analyzed frame after frame by a software library known as OpenCV. This OpenCV library can be used on many different platforms including Android. To use It I have written an app in Eclipse and could possibly distribute it throughout the world in the app store. The inspiration to use an onboard camera came from the desire to learn how to use one. Having the skill to work with discarded old smart phones opens a plethora of avenues that I could go down that I couldn't before. The learning curve however is very steep and I have spent most of my time slugging through debugging errors. However I successfully managed to learn everything I needed to see and transmit the sensor data. My app can calculate the X & Y coordinates of the center weight of two separate colors. When the app first boots it scans it's environment for a predetermined set of colors, an example of this can be seen in Figure-2. To reduce the number of false positives, the colors will need to follow a pattern, sharing the same center weight as seen in Figure-2(Bottom). Once the colors have been detected the coordinates are sent via USART over the audio jack. The coordinates will be centered on by the pan/tilt system and shot at by an onboard Nerf gun.

(Figure-2 ) Left: Before OpenCV Right: After OpenCV) Bottom: Matching center weights signified by circles Orange Blue To gather sensor data the Android mobile will be brought to different lighting conditions across campus to see if it can still detect the predicted colors. Both indoor lighting of the New Engineering building, the IMDL lab and my home, followed by general outdoor lighting will be tested. Behaviors MinuteMachine's default behavior is to avoid obstacles while patrolling. In this default behavior it will observe it's surroundings. If at any time it detects a solid color which will represent a weapon it will switch into a second mode that will target the object and fire a dart.

Audio to serial PCB & Results One of the most difficult things that I encountered with the android was how to send over the data to the microcontroller. At first a Bluetooth module was going to be used but due to cascading errors and an approaching deadline it was tossed for a more reliable method. Utilizing various online sources I was able to get a program working that would send strings of data over the audio jack using USART protocols. However, the signal straight from the Android was weak and negative as seen in Figure-3a. (Figure-3a ) Serial data from Android Using the circuit schematic as seen in Figure-4 I was able to greatly amplify the data signal (Figure-4 ) Serial data circuit

However the signal was active high as seen in Figure-3b. So an inverter was added to the output to make the data signal compatible with the microcontroller as seen in Figure-3c. With a working circuit I soldered it together and gave it one final test as seen in Figure-5. (Figure-3b (Left) 3c (Right) Serial data circuit output (Figure-5 (Below)) Finalized circuit.

Conclusion I have learned a lot from building MinuteMachine. I designed it so I could always come back and repurpose it. Taking advantage of the T-Tek to design all the parts I needed in a computer was a fantastic tool that I never had access to. The ability to design anything I could come up with was invaluable. Later on in the semester I tried to make some simple parts by hand and even my best work was shadowed by a the same time spent on a computer. With all the experience I got from working at the IMDL, my next design will be more maintenance friendly with less snaking wires because I now know how to plan ahead. Before the IMDL, I had never worked with Androids or OpenCV. In order for me to finish my robot I had to learn how to program in both of their native languages; Java and C++. This was a major accomplishment for me when I got everything to cooperate a few weeks before the end of the semester. I feel as if I have only scratched the surface of what I can do with OpenCV and will continue to upgrade the software of MinuteMachine. Documentation ATxmega128A1U datasheet: http://www.atmel.com/images/atmel-8331-8-and-16-bit- AVR-Microcontroller-XMEGA-AU_Manual.pdf Android Serial over Audio resource: http://robotseverywhere.com/re_wiki/index.php?title=serial_on_android_using_the_audio_port ANT 100 Motor controller: http://www.robotmarketplace.com/products/lb-ant100-2.html Samsung S4 User Manual: http://cache.vzw.com/multimedia/mim/sam_galaxy_s4/samsung_galaxy_s_4_um.pdf OpenCV Resource: http://opencv.org/ Sharp IR Rangefinders: http://www.sharpsma.com/webfm_send/1489 Appendices MinuteMachine is open-source and everything can be found at: https://sites.google.com/site/minutemachineimdl/