automated targeting proximity turret group 17 group members: hector colon, adam horton, kyle...

49
Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

Upload: todd-austen-hudson

Post on 25-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

Automated Targeting Proximity Turret

Group 17

Group Members:Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

Page 2: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Goals and Objectives

Turret acknowledges that an intruder has entered the field of view

Turret warns the intruder to leave the area by an audible alarm once a certain perimeter distance has been reached

If the intruder reaches a closer perimeter distance instead of leaving, the turret will fire upon them

While all of these processes are going on, the turret continuously tracks the intruder

Provide persistant engagement history on an off-board server and allow manual control of the turret.

Page 3: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Project Overview

1 Micro-Controller 3 Servos 1 Audio Alarm

On-board Laptop Web-Cameras Range Finder

Off-board Server Wireless Connection from

On-board laptops Serves web-application to

end-user

Turret

Tilt Servo Trigger ServoPan Servo

Off-boardServer

On-boardPC

Microcontroller

Perimeter Webcamera 2

Perimeter Webcamera 1

Gun-mounted Webcamera

Range Finder

UserWeb Browser

USB

USB USB

USB

Serial

DigitalAnalog

Digital

Wireless

Wireless

Wireless

Audible AlarmDigital

Page 4: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Hardware Requirements and Specifications

Page 5: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Requirements and Specifications

Does not weigh more than 20 lbs. Is between 1 and 3 feet tall Is able to determine the distance of targets 60 feet away Is able to fire upon targets 30 feet away The battery lasts at least one hour on a full charge The battery is a commercial off the shelf (COTS) 12 volt

battery

Page 6: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Requirements and Specifications

Other sub-systems are powered by their own internal batteries

The 12 volt lead acid battery is rechargeable and has a capacity of at least 5000 mAh

The rangefinder has a range of 75 feet with an accuracy of ± 6 inches

The microcontroller provides Pulse Width Modulation (PWM) for 3 servo motors

The audible alarm is louder than 50 dB in sound

Page 7: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Software Requirements and Specifications

Page 8: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Requirements and Specifications

Motion detection is able to detect motion of at least 3 ft/s at 30 feet away

Turrets tracking system is able to follow targets moving 10 ft/s at 30 feet away

Target tracking system is able to track 4 or more targets at the same time

Page 9: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Requirements and Specifications

Engagement history database is able to store and display at least 100 prior engagements

The web applications work on all modern browsers such as Firefox, Google Chrome, etc

Manual control of the web application does not have more than 1 second of latency between receiving a command and executing it

Page 10: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Hardware Components

Page 11: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Mechanical Base

First, we wanted to create a base from aluminum, but the cost and equipment needed was too high

Refabricating would become even more costly if it became necessary from a redesign.

Moved towards a wood or plastic design Decided wood is the best option. This is due to:

Lowest price, easily acquired Sturdy enough for our required accuracy Lightweight for low strain on motor Design can be easily modified if necessary

Page 12: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Paintball / Airsoft Gun

Airsoft Gun: Crosman Mini Carbine with semi-auto and fully automatic

capability

Paintball Gun: Spyder Shutter with semi auto capability only

The turret base is designed to utilize either gun The primary focus will be with the airsoft gun due to:

Lighter weight Ammo capacity is higher and does not require a hopper on top

or extra weight from CO2 canister

Has the option of being fully automatic

Page 13: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Page 14: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Servo Motors

HS-485HB (Trigger Motor) from www.servocity.com 83.3 oz-in of torque, 90 degree

rotation 6V power, 180mA current draw

HS-5745MG Digital ¼ Scale (Pan / Tilt Motors) from www.servocity.com 250 oz-in of torque, 180 degree

rotation 6V power, 840mA current draw

1.2231 N-m which when expressed in oz-in is 173.206 oz-in

Page 15: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Rangefinder

Fluke 411D laser 100ft range, continuous

measurement, accuracy of plus or minus 3mm, small size, and light weight

LIDAR, IR, and others either too expensive or not long enough range

Allows perimeter to be established

Page 16: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Rangefinder Control

LR3 interface board allows computer control and communication with the 411D rangefinder

Solders into the inside of the 411D in place of the LCD and control panel

Enables continuous measurement mode

Page 17: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Computers and Webcams

Computers The computers are COTS laptops/netbooks Wi-Fi network connection

Webcams Using 3 COTS webcams 2-3 stationary to cover 180 degrees viewing angle 1 gun mounted camera for user vision

Page 18: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Audible Alarm

AudioLarm II from Floyd Bell Incorporated group members experience with the alarm sensor and the fact that it

costs only $25 for a quality alarm sound 90 dB alarm

Page 19: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Microcontroller

Has 3 PWM outputs for servo motors Has analog input for voltage sensing Has digital outputs to also fit warning alarm Communicates with the computer via serial connection Is inexpensive and easy to interface with using a high

level language

Page 20: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Atmel 328

Inexpensive, 8 bit microcontroller Has 6 PWM lines 14 digital I/O lines 6 Analog in lines Serial communication lines over two of the digital pins Programmable over serial using the Arduino bootloader Programmable in Wire, which is similar to C For pre-testing purposes, we can use the inexpensive

Arduino Uno

Page 21: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Microcontroller PCB Requirements

Has power line at 5 volts, 1 amp max for board power Has separate power line at 6 volts, 5 amp max to power

the servos Both power lines run off of the same battery Has voltage sensing circuit to estimate battery charge Has serial connection to computer Has break out connections for servos and alarm

Page 22: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Page 23: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Page 24: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Page 25: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Power

The webcams and rangefinder will be powered by USB connections from the laptop

The microcontroller PCB, servo motors, and alarm will be powered with an external battery UB1280 lead acid battery

12 volts 8 amp hour 5 lbs.

Page 26: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

On-Board Software Components

Page 27: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Software Overview

Page 28: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Software Components - Onboard

C# 4.0 Visual Studio 2010 Aforge.NET Framework

Page 29: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Software Components

Python 2.2 Django MySQL Java 6.2 SDK Java Eclipse Adobe Flash

Page 30: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Source Control

Apache Subversion TortoiseSVN WinMerge

Page 31: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Motion Detection

Compare new frames to an updated ‘initial frame’ Track multiple targets Prioritize targets based on threat

Page 32: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Target Tracking

Page 33: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Target Class

TargetID : int Target() : voidangleLocation : int getAngleLocation() : intpitchLocation : int setAngleLocation(int) : voiddistance : int getPitchLocation() : inttimeAcquired : int setPitchLocation(int) : voidtimeReleased : int getDistance() : intshotsFired : int setDistance(int) : voidactive : boolean getTimeAquired() : int  getTimeReleased() : int  getShotsFired() : int  shotFired() : void  release() : void

Keeps track of a Target Time, Location Shots fired

Page 34: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Manual ControlManualControlServer :: Thread

+ ROTATE_CMD : String + ManualControlServer()+ PITCH_CMD : String + run() : void+ SIREN_CMD : String - calcTargetPitch(offset : Integer) : Integer+ SILENCE_CMD : String - calcTargetAngle(offset : Integer) : Integer+ FIRE_CMD : String - setAngle(angle : Integer) : void+ SET_ROTATE_CMD : String - setPitch(pitch : Integer) : void+ SET_PITCH_CMD : String - soundSiren() : void+ UP : Integer - silenceSiren() : void+ DOWN : Integer - fire() : void+ LEFT : Integer - validate(String passcode) : Boolean+ RIGHT : Integer - processCmds() : void+ ON : Integer - terminateControl() : void+ OFF : Integer  - PASSCODE : String  - name : String  - port : Integer  - turretController : TurretController  - socket : Socket  - targetAngle : Integer  - targetPitch : Integer  - rotatingRight : Boolean  - rotatingLeft : Boolean  - pitchingUp : Boolean  - pitchingDown : Boolean  

Converts received manual control commands into turret control Movement Fire Alarm

Page 35: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Microcontroller Communication

Communication between motion tracking software and microcontroller through 5 byte packets

Inbound Packet Structure

Outbound Packet Structure

Packet Type ID Parameter Parameter Parameter Parameter

Pan Angle(High Byte)

Pan Angle(Low Byte)

Tilt Angle(High Byte)

Tilt Angle(Low Byte) Status Byte

Page 36: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Off-Board Software Components

Page 37: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Off-board Server

Python based Web-application using Django framework. Supports multiple turrets connected to a single server. Web-application Provides:

Engagement History Radar-like representation of current target acquisition Manual control of turrets with video feed.

Data collection from turrets to persist data on server database.

Page 38: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Server Database

Turrets Table Contains data on each turret

Field of Vision Contains information

regarding the cameras attached to each turret

Turret Targets Contains the current

potential targets the turret has identified

Engagement History Contains the targets fired

warned or fired upon.

Page 39: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Server Data Collection

Data will be collected over TCP Socket connections between the Turret and Server using serialized objects.

Data will be sent as the following: After turret connection with server:

Turret, Field of Vision table data and initial camera view of the turret. Once a second throughout connection:

Updates on Turret Targets, and update the Turret pan angle. After engagement:

Insert into Engagement History with snapshot of target.

Page 40: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Home Screen

Main page including a grid of all connected turrets, with latest engagement snapshot or intial snapshot if no engagements

Page 41: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Engagement History

Lists all the engagements on the left, selecting an engagement will load the details, radar representation and camera snapshot of the engagement.

Page 42: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Turrets Page

Displays a grid of all connected turrets and their initial snapshot. Provides access to filtered engagement history list, radar watch page and manual control page.

Page 43: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Radar Watch

Displays radar-like representation of the current target acquisition of each turret that was selected to view.

Page 44: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Manual Control Page

Displays video feed of gun-mounted camera, current radar, and a java applet for taking manual control of the turret.

Page 45: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Web-App: Manual Control Applet

Connects directly to turret. Receives turret pan angle

and turret targets for a faster response radar.

Maps keyboard/mouse controls to controlling pan, tilt, alarm and firing.

Sends turret commands over socket connection to turret software which relays the commands to the turret’s microcontroller.

ManualControlServer :: Thread+ ROTATE_CMD : String + ManualControlServer()+ PITCH_CMD : String + run() : void+ SIREN_CMD : String - calcTargetPitch(offset : Integer) : Integer+ SILENCE_CMD : String - calcTargetAngle(offset : Integer) : Integer+ FIRE_CMD : String - setAngle(angle : Integer) : void+ SET_ROTATE_CMD : String - setPitch(pitch : Integer) : void+ SET_PITCH_CMD : String - soundSiren() : void+ UP : Integer - silenceSiren() : void+ DOWN : Integer - fire() : void+ LEFT : Integer - validate(String passcode) : Boolean+ RIGHT : Integer - processCmds() : void+ ON : Integer - terminateControl() : void+ OFF : Integer  - PASSCODE : String  - name : String  - port : Integer  - turretController : TurretController  - socket : Socket  - targetAngle : Integer  - targetPitch : Integer  - rotatingRight : Boolean  - rotatingLeft : Boolean  - pitchingUp : Boolean  - pitchingDown : Boolean  

Page 46: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Potential Problems

Rangefinder malfunctioning Securely fastening of gun to mechanical base Latency of updates for web-application because of web-

application and data collection are seperate. Keeping a sufficiently high fps to track target

Page 47: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Administrative

Page 48: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Project Status

Page 49: Automated Targeting Proximity Turret Group 17 Group Members: Hector Colon, Adam Horton, Kyle Steighner, and Nicholas Yielding

University of Central Florida

Budget

Component Price

Rangefinder $100

Rangefinder Control Board $150

Servo Motors $170

Audible Alarm $25 (Projected)

Arduino Uno $35

Test Webcam $6

PCB $100 (Projected)

Base Materials $58

Battery $50

Total $694