Title: Automated Targeting Proximity Turret
1Automated Targeting Proximity Turret
- Group 17
- Group Members
- Hector Colon, Adam Horton, Kyle Steighner, and
Nicholas Yielding
2Goals 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.
3Project 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
4Hardware Specifications
5Specifications
- Weighs approx. 20 lbs.
- 17 inches tall
- Is able to determine the distance of targets 60
feet away - Is able to fire upon targets 30 feet away
- The battery lasts 5 hours on a full charge
- The battery is a commercial off the shelf (COTS)
12 volt battery
6Specifications
- Other sub-systems are powered by their own
internal batteries - The 12 volt lead acid battery is rechargeable and
has a capacity of 8000 mAh - The rangefinder has a range of 75 feet with an
accuracy of 3 mm - The microcontroller provides Pulse Width
Modulation (PWM) for 3 servo motors - The audible alarm is louder than 50 dB in sound
7Software Specifications
8Specifications
- Motion detection is able to detect motion as
little as 3 ft/s at 40 feet away - Turrets tracking system is able to follow targets
moving 5 ft/s at 30 feet away - Has automatic and manual controls
9Specifications
- 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
10Hardware Components
11Mechanical 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
12Airsoft Gun
- Airsoft Gun
- Crosman Mini Carbine with fully automatic
capability - Previous Gun
- UTG MP5 Jammed
- The turret base is designed to utilize either
gun, as well as - The primary focus will be with the airsoft guns
instead of paintball guns 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
13(No Transcript)
14Servo 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
15Rangefinder
- 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
16Rangefinder 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
17Computers and Webcams
- Computers
- The computers are COTS laptops/netbooks
- Wi-Fi network connection
- Webcams
- Using 3 COTS webcams
- 1-2 stationary to cover viewing angle
- Xbox Live Vision
- PS3 Eye
- 1 gun mounted camera for user vision
- Android Cell Phone IP Camera
18Audible Alarm
- AudioLarm II from Floyd Bell Incorporated
- group members experience with the alarm sensor
and the fact that it costs only 33 for a quality
alarm sound - 80 dB alarm
19Atmel 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 used the inexpensive
Arduino Uno
20Microcontroller 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
21(No Transcript)
22(No Transcript)
23(No Transcript)
24Power
- The webcams and rangefinder are powered by USB
connections from the laptop - The microcontroller PCB, servo motors, and alarm
are powered with an external battery - UB1280 lead acid battery
- 12 volts
- 8 amp hour
- 5 lbs.
25On-Board Software Components
26Software Overview
27Software Components - Onboard
- C 4.0
- Visual Studio 2010
- Aforge.NET Framework
- Arduino IDE
28Software Components
- Python 2.2
- Django
- MySQL
- Java 6.2 SDK
- Java Eclipse
29Source Control
- Apache Subversion
- TortoiseSVN
- WinMerge
30Motion Detection
- Reads each new frame and processes them through
filters - Black/White
- Pixelate
- Erosion
- Compare new frames to an updated background
frame - Blob detection to find areas with most difference
31Target Tracking
- Track largest target for each camera
- Prioritize target based on size
- Calculate target posisiton based on viewing angle
of camera
32Onboard Software
- Automatic and manual control
- Camera Selection
- Battery Monitor
33Microcontroller Communication
- Communication between motion tracking software
and microcontroller through 5 byte packets
Inbound Packet Structure
Outbound Packet Structure
34Off-Board Software Components
35Off-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.
36Server 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.
37Server Data Collection
- Data is collected over TCP and UDP Socket
connections between the Turret and Server using
serialized objects, and datagram packets - Data is sent over TCP/UDP as the following
- After turret connection with server (TCP)
- Turret, Field of Vision table data.
- Server downloads current gun-mounted snapshot for
initial setup. - Once a second throughout connection (UDP
Broadcast) - Updates on Turret Targets, and update the Turret
pan angle. - After engagement (TCP)
- Engagement History Data.
- Server downloads current gun-mounted snapshot for
image of target.
38Web-App Home Screen
- Main page including a grid of all connected
turrets, with latest engagement snapshot or
intial snapshot if no engagements
39Web-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.
40Web-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.
41Web-App Radar Watch
- Displays radar-like representation of the current
target acquisition of each turret that was
selected to view.
42Web-App Manual Control Page
- Displays video feed of gun-mounted camera,
current radar, and a java applet for taking
manual control of the turret.
43Web-App Manual Control Applet
ManualControlServer Thread 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
- Connects directly to turret.
- Maps keyboard controls to controlling pan, tilt,
alarm and firing. - Sends turret commands over socket connection to
turret software which relays the commands to the
turrets microcontroller. - Displays speeds, status, and number of shots
fired.
44Future Improvements
- Improve fastening of gun to mechanical base for
less sway - Decrease latency of updates for web-application
because of web-application and data collection
are separate. - Implement active readings from rangefinder for
determining distance to targets. - Allow for more configurable camera set-ups.
- Improve target acquisition from motion detection
to support tracking multiple targets. - Utilize PID control to smooth movements of the
turret.
45Administrative
46Budget
Component Price
Rangefinder 100
Rangefinder Control Board 150
Servo Motors 170
Audible Alarm 33
Arduino Uno 35
Test Webcam 6
PCB (2) 110
Base Materials 60
Airsoft Rifle 20
Battery 43
Total 727