RAPID FIRE Robotically Actuated Prevention/Intervention Device Full of Innovative and Responsible Engineering Preliminary Design Review January 26, 2010 Riley Pack Eric Pahlke Kelly Shuster Greg Stahl MISSION STATEMENT • The RAPID FIRE system will be able to recognize moving targets in a room, choose the optimal target, and track it. Optimal Targets PROJECT OBJECTIVES • Recognize one or more moving targets using digital cameras. • Choose the optimal target, track its movement, and fire a projectile (foam dart or disk) at it. • Be capable of fully autonomous operation. • Have a user interface that allows for control of modes, manual turret control, and image viewing. • Operate off of AC wall power. BLOCK DIAGRAM Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection CAMERA(S) Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection CAMERA(S) • Used to detect the state of the system’s surroundings • Resolution: QVGA (320 x 240) Monochrome • Goal: VGA (640 x 480) Color • Minimum 15 Frames Per Second (FPS) • Goal: 30 FPS • Parallel Interface to DSP • 60 Degree Azimuth Field of View (FOV) and 45 Degree Elevation FOV • Goal: 360 Degree Azimuth and 90 Degree Elevation CAMERA(S) • Camera to DSP Interface • Primary Solution • Write camera data to hardware FIFO using glue logic • Alternative Solution • Use small microcontroller to act as an intermediary between camera and DSP • Connect camera to microcontroller with 8-bit parallel data interface, clock, and sync signals • Write camera data from microcontroller to a dual-port hardware FIFO • Read camera data from FIFO onto DSP • Process and find/track target CAMERA(S) SDA Camera SCL uC/DSP Enable And Write Strobes Glue Logic 8-bit Parallel Data FIFO 8-bit Parallel Data to DSP DCLK VD HD FIFO to USB Converter Debug to PC CAMERA(S) • Tentative Camera Selection • Toshiba TCM8230MD from Sparkfun • Specifications • 15 or 30 FPS • VGA or QVGA supported • Digital Output (Y422 or RGB 565) • Auto Gain Control, Auto White Balance http://www.sparkfun.com/commerce/ product_info.php?products_id=8667 POWER Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection POWER • Powered from 120VAC wall outlet. • Use a COTS AC Adapter • DC-DC converters used to power motors and less sensitive components • Linear regulators used to power the DSP and other sensitive components • All connections to the DSP isolated (power and data) to protect the DSP • Motor power zone isolated to protect the digital components POWER • Power Rails • 12V (Motors) • 5V (Optical Encoder) • 3.3V (Primary I/O Voltage) • 2.8V (Camera I/O) • 1.8V (AVR32 Core) • 1.5V (Camera Sensor) • 1.2V (DSP Core) DIGITAL SIGNAL PROCESSOR Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection DIGITAL SIGNAL PROCESSOR • Processes images from CMOS cameras to detect and track moving targets • Subtraction for motion detection • Blob detection algorithms to find targets • OpenCV cvBlobsLib • Open Source Computer Vision Library • Communicates with the I/O and motor control processors DIGITAL SIGNAL PROCESSOR • Tentative DSP Selection • TI TMS320C6410 • Specifications • 400 MHz, up to 3200 MIPS • 8 Parallel Execution Engines • 6 ALUs and 2 Multipliers • Hardware Memory Interface • 2 Hardware I2C Controllers • Driver Library Available from TI http://focus.ti.com/lit/ds/symlink/tms32 0c6410.pdf HOST PROCESSORS Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection HOST PROCESSORS • Two microcontrollers to interface the DSP to the motors and the touchscreen • Motor Controller • Receive desired pointing position from DSP and control motors • Read output of optical encoder for feedback • Touchscreen Controller • Receive images from DSP and send to touchscreen • Receive and handle user input from touchscreen HOST PROCESSORS • Design Considerations • Use the same microcontroller part to maximize code reuse • Two microcontrollers allows for physical separation and easier task sharing HOST PROCESSORS • Tentative Processor Selection • Atmel AT32UC3A1256 • Specifications • 91 DMIPS at 66 MHz • 7 Channel PWM Controller • SPI, I2C, USART, other Hardware I/O Support • Driver Library Supplied by Atmel MOTORS/MECHANICAL Camera Board(s) with FIFO Touchscreen DSP I/O Processor Control Processor Motors/ Mechanical Power Digital Connection Analog Connection Power Connection MOTORS/MECHANICAL • Two rotating platforms will be created • One platform for azimuth, one for elevation • Rotation achieved using turntables (Lazy Susan) • DC motors used to rotate platforms • Controlled with H-Bridge with PWM control • Protection for deactivation feedback voltage from motor inductance • Digital optical encoder used for position detection MOTORS/MECHANICAL MOTORS/MECHANICAL • Tentative Turntable Selection • McMaster 6031K16 • Specifications • 200 lb Load Capacity • 3 in. x 3 in. Size • Galvanized Steel http://www.mcmaster.com/#6031k1 6/=5g021i MOTORS/MECHANICAL • Tentative Motor Selection • Robot MarketPlace ML-50 • Specifications • 120 RPM • 730 mA Nominal Current • 3.3 A Stall Current • 320 oz-in Stall Torque http://www.robotmarketplace.com/pr oducts/ML-50.html MOTORS/MECHANICAL • Tentative Encoder Selection • Avago AEDB-9140-F12 • Specifications • Optical Encoder • 256 Cycles/Revolution • 1024 Signal Changes/Revolution • Fits Motor Shaft http://www.avagotech.com/d ocs/AV02-1584EN CONTROL PROCESSOR/MECHANICAL INTERFACE SDA uC x2 SCL DSP PWM Output H-Bridge Relative Angular Position Changes Current Encoder Mechanical Interface Motor LOGISTICS DIVISION OF LABOR Task Riley Pack Eric Pahlke Kelly Shuster Greg Stahl Camera Board S P S S DSP Board Hardware S P S S DSP Software P S S Motor Control S P S S P Mechanical Power P LCD Control S Touchscreen P S User Interface P S P = Primary S P S S = Secondary P SCHEDULE RISKS • Camera • Risks • Unable to interface with chosen camera • Solutions • Use manual control of the platform • Mechanical • Risks • Inexperience in mechanical design • Manufacturing rotating platform • Solutions • Consulting with experts or scale back movement RISKS • DSP • Risks • DSP calculation ability • DSP layout mistakes • DSP board failure • Solutions • Scale back the amount of processing (less pictures) • Cry, make the best of the situation, look for more funding • Interface to computer and use processing on desktop RISKS • Control System • Risks • Unstable control system • Solutions • Create an extremely over damped system • System Integration • Risks • Subsystems do not work together • Solutions • Integrate as often as possible EXPENSES Sub-Section Processing Component Quantity Unit Cost Predicted Cost Bulk Cost Production Cost DSP Host Processor SDRAM DSP Board Control Board I/O Board 1 $26.00 2 $9.68 1 $9.24 1 $181.00 2 $33.00 2 $33.00 $26.00 $19.36 $9.24 $181.00 $66.00 $66.00 $17.25 $5.52 $5.89 $30.00 $10.00 $10.00 $17.25 $11.04 $5.89 $30.00 $20.00 $20.00 Motors Optical Encoder Turn Table Raw Materials 2 $26.95 2 $23.80 2 $1.98 1 $100.00 $53.90 $47.60 $3.96 $100.00 $10.00 $18.00 $1.00 $15.00 $20.00 $36.00 $2.00 $15.00 8 $9.95 10 $1.50 8 $6.50 1 $100.00 $79.60 $15.00 $52.00 $100.00 $6.00 $10.00 $3.70 $30.00 $48.00 $100.00 $29.60 $30.00 Mechanical Cameras Sparkfun CMOS Camera Hardware FIFO FTDI FIFO to USB Miscellaneous Total $819.66 $384.78 OTHER CONSIDERATIONS • Cost of the system would decrease if manufactured in large numbers • May change the environment that it is placed in • Mice may be chased away • Sustainable design • Parts are not specialized, easily replaced if specific part becomes obsolete • Platform is safe • All voltages are low (<20V) • Motors are not extremely powerful • Makes everyone’s life more fun Questions?