Final Presentation

advertisement
Computer Vision:
Parallelize or Paralyze
Team Purple Threads
CSE Capstone 2012
April 2012
Abstract
•
•
•
•
•
•
•
•
Purple Threads
Project Description
Motivation
System Overview
First Steps
Target Drone Platform
Turret System
Final Status
Purple Threads
Top Row: Duc Tran, Aviral Shrivastava(Sponsor), Gabriel Silva
Bottom Row: Nicholas Moulin, Craig Hartmann, Anthony Russo, Nadim Hoque
Project Description
• This project is a real world system of
robots that visually demonstrates the
benefits of parallelization for computer
vision applications
Motivation
• Computer vision systems have a wide
variety of applications, but are very
processor intensive
• Parallelization allows the
implementation of more advanced
computer vision techniques by
removing the bottleneck on the
processor
System Overview
• Project consists of two different robots
– Target Drone Platform
• Detect & track projectiles
• Avoid projectiles
– Turret System
• Detect & track the target
• Hit target with foam darts
First Steps
• Requirement Elicitation
– High Level
– Low Level
•
•
•
•
•
Hardware/Software Specification
Risk Management
Project Timeline
Budget
Configuring Development Environment
Target Drone Platform
• Hardware
– Traxxas Slash VXL*
– ArduPilot Mega w/ IMU Shield
– ION Intel Atom Motherboard*
– Microsoft Xbox 360 Kinect Sensor*
*Other names and brands may be claimed as the property of others
Target Drone Platform
• Software
– EMGU CV 2.3.0
• Open CV Wrapper (C#)
– ArduRover
• Code for ArduPilot
– Microsoft Robotics Developer Studio 4*
– Kinect for Windows SDK v1.0*
*Other names and brands may be claimed as the property of others
Target Drone Platform
• Implementation
– Assemble Target Drone
• Hardware Components
• Power System
– Setup Wireless Access to Drone
– Configure Drone Software Stack
– Implemented Platform Services through
RDS
Target Drone Platform
• Implementation
– Obtain RGB & Depth Image Data From
Kinect*
– Projectile Detection
• Color Threshold
– Projectile Tracking
– Collision Avoidance Algorithm
*Other names and brands may be claimed as the property of others
Target Drone Platform
• Setbacks
– Foam dart too small to track accurately
– Hardware too heavy for original shocks
– Depth frame coordinates are offset from
RGB frame coordinates with no translation
function
– Dr. Shrivastava crashed the car into a tree!
Turret System
• Hardware
– USB Missile Turret
– Microsoft Xbox360 Kinect Sensor*
– Arduino Uno
– Servos
• Software
– OpenCV 2.3.1
– Libfreenect
– Ubuntu 10.04*
*Other names and brands may be claimed as the property of others
Turret System
• Implementation
– Obtain RGB/Depth Images from Kinect*
Sensor
– Object Detection
• Color Threshold
• Cascade Classification
– C USB Turret Driver
– Program Arduino to Control Servos
– C NetDuino Driver
*Other names and brands may be claimed as the property of others
Turret System
• Implementation
– Equations Created to Track Target
• Depth Disparity to Depth(ft)
– d_feet = (disparity-824.8)/15.2
– d_feet = (0.1236*tan((disparity/2842.5)+1.1863))*3.2808399
• Pixels per Foot depending on Depth
– Pixels/Foot = -55.91836*log(d_feet)+177.49225974457
Turret System
• Setbacks
– Original turret configuration not precise
enough
– Unable to implement libfreenect driver on
PS3*
– Turret caught on fire
– Turret mounting unstable
*Other names and brands may be claimed as the property of others
Turret System
• Turret Tracking and Hitting a Moving
Car
• http://youtu.be/r7ccvPGcY8U
Turret System
• Effect of Parallelization on Turret
System
• http://youtu.be/D5yTRKgOykY
Final Status
Major Deliverables
Deadline
Status
Project Plan
9/26/2011
100%
Unparallelized
Turret System
1/31/2012
100%
Unparallelized
Target Drone
2/7/2012
100%
Parallelized
Robots
2/20/2012
50%
Benchmark
Results
2/28/2012
50%
Product
Documentation
3/15/2012
100%
Final Delivery of
System
3/15/2012
75%
Questions
Backup Slides
Turret System
• Implementation
– Equations To Track Target
• Horizontal Rotation
• Vertical Rotation
Download