Robotically Actuated Prevention/Intervention Device Full of Innovative and Responsible Engineering...
-
date post
21-Dec-2015 -
Category
Documents
-
view
217 -
download
0
Transcript of Robotically Actuated Prevention/Intervention Device Full of Innovative and Responsible Engineering...
Robotically Actuated Prevention/Intervention Device Full of Innovative and Responsible Engineering
Critical Design ReviewFebruary 25, 2010
Riley PackEric Pahlke
Kelly ShusterGreg Stahl
RAPID FIRE
PROJECT OVERVIEW• The RAPID FIRE system will be able to recognize moving
targets in a room, choose the optimal target, and track it.
• 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
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
EXPANDABLE HARDWARE ARCHITECTURE
Power Supply
DSP PCB
Motor Controller PCB
Camera PCB
Data Connection Power Connection
Camera PCB
Camera PCB
Camera PCB
DSP PCB
Motors
Up to 4 Cameras per DSP
Up to 4 DSPs
Currently using 2 DSPs (8 total cameras)
CONTROL PROCESSOR
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
CONTROL PROCESSOR
• Receives (x,y) location of optimal target from DSP
• Communicates with DSP(s) via SPI
• Triggers PWMs attached to 2 H-Bridges
• Receives feedback from 2 Optical Encoders
• Uses negative feedback PI Controller to adjust position
• Horizontal and Azimuth positions each have their own PI Controller
CONTROL PROCESSOR
• Processor Selection
• TI Stellaris LM3S2965
• Specifications
• 50 MHz Maximum Clock Speed
• 6 PWM Channels
• 2 Quadrature Encoder Interfaces (QEI)
• Single-cycle multiply instruction and hardware divide
• Variety of common interface modules
CONTROL PROCESSOR
PlantController
Target Motor Position from DSP SPI Interface
Actual Motor Position fromOptical Motor Encoder
CONTROL PROCESSOR
KPs + KI
Target Position
Actual Position
J = 0.5*M*R2
T = 0.4689 Nm = 66.4 oz-in = 80% of Max Efficiency
b = 0.045 M = 2.3kg R = 4.5 in
CAMERA(S)
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
CAMERA(S)• Camera Selection
• Toshiba TCM8230MD from Sparkfun
• Specifications
• 15 or 30 FPS
• VGA or QVGA supported
• Digital Output (YUV422 or RGB 565)
• Auto Gain Control, Auto White Balance
http://www.sparkfun.com/commerce/product_info.php?products_id=8667
CAMERA(S)
Camera
FIFOFIFO to
USB Converter
8-bit Parallel Data
Glue LogicDCLK
VDHD
EnableAndWriteStrobes
Debug to PC
SDA
SCL
uC/DSP
8-bit Parallel Data to DSP
CAMERA(S) – TEST BOARD
• Almost Able to Take Sub-QCIF (128 x 96) Resolution Pictures
• USB Write Speed Too Slow
• Solution: Upgrade to Faster USB Chip
CAMERA(S) – REVISION 2
• Current Camera Status
• Ready to Order Camera Board Revision 2
• Updated USB-FIFO Chip to Allow for 8 MBytes/sec
• Changed to Asynchronous FIFO to Simplify DSP Interface
POWER
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
POWER• Power Supply
• 12V (Motors)• 5V (Optical Encoder & FIFO)
• Isolated Integrated DC-DC Module from TI• 3.3V (DSP I/O Voltage)
• Linear Regulators from TI• 3.3V (Primary I/O Voltage)• 2.8V (Camera I/O)• 1.5V (Camera Sensor)• 1.26V (DSP Core)
POWER
• ATX12V V2.2 550W Power Supply
• 12 V Line Rated to 2 x 16 A
• 3.3 V Line Rated to 25 A
• 5 V Line Rated to 25 A
DIGITAL SIGNAL PROCESSOR
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
DIGITAL SIGNAL PROCESSOR• Processes images from CMOS cameras to detect and
track moving targets• Subtraction for motion detection• Blob detection algorithm
• Replaced open source library with custom algorithm to make integration to DSP easier
• Communicates with the motor control processor• Sends debug data to PC using FIFO to USB
• USB is an easier debug port than an LCD
DIGITAL SIGNAL PROCESSOR• DSP Selection
• TI TMS320VC5501• Slightly lower performance than original selection, but QFP package greatly
reduces cost and risk. • Specifications
• 300 MHz, up to 600 MIPS• Hardware Memory Interface
• Used for SDRAM, FIFOs, FIFO to USB• Hardware I2C and SPI Controllers
• I2C used to control cameras and I/O expanders, and for boot loader• SPI used to transfer data to the motor controller
• Driver Library Available from TI
DIGITAL SIGNAL PROCESSOR PCB• Four layer board
• DSP• SDRAM• Hardware support for 4 cameras
• IO and I2C expanders allow multiple cameras to send data through the DSP’s External Memory Interface
• FIFO to USB converter (same as on camera boards) allows the DSP to send images and computation results to a PC
• Status: Schematic and Layout 100%, almost ready to order
DIGITAL SIGNAL PROCESSOR PCB
• Boot loader
• DSP has an I2C EEPROM boot mode
• Use an ATMEGA32 AVR to transfer code from RS-232 to I2C EEPROMs
• Isolation
• All signals from the DSP connecting off the board are isolated to protect the DSP (ISO7240 from TI)
• The 3.3V DC-DC converter for the DSP is isolated (DCR010503 from TI)
DIGITAL SIGNAL PROCESSOR PCB
Power5V from MC PCB
DSPUSB
Debug
I/O Expanders
To Camera
PCB
Memory BusI2C Power Connection
Isolators/ Level Shifters
Isolated 3.3V
DC-DC
1.26V VREG
I2C Switch
LEDs/ Debug
SDRAMAVR
Programming Port
EEPROMs
GPIOSPI
Data to MC PCB
RS232
DIGITAL SIGNAL PROCESSOR PCB LAYOUT
0 0
00
5
6
7
8
4
3
2
1
3
2
1
211 2
3
2
1
01
2
1
2
1
2
1
10
11
12
17
18
9
8
7
2
1
10
11
12
17
18
9
8
7
2
1
10
11
12
17
18
9
8
7
2
1
2
2
1
1
1
2
2
1
2
1
2
1
2
1
1
2
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
2
1
1
2
1
2
1 2
2 1
2
1
2 1
2 1
21
21
21
21
8 7 6 5 4 3 2 1
12
12
1 212
1 2
1 2 1 2
12
1
2
2
1
2
11
2
1
2
121 2
1
2
12
1
2
1 2
1 2
1 2
12
1 2
1 2
1
2
1
2
12
2 1
2
1
2
1
2
1
2 1
2
1
2 1
2 1
2 1
2 1
2 1
2 1
2 1
2 121
21
21
21
21
21
21
21
21
21
21
21
21
21
21
21
1 2
1 2
3 4
5 6
11
10
1
6
2
7
3
8
4
9
5
11
10
1
6
2
7
3
8
4
9
5
1
2
1
2
1
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
18
17
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
2
3
4
5
6
7
81
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
12
11
10
9
8
7
6
5
4
3
2
1
12
11
10
9
8
7
6
5
4
3
2
1
12
11
10
9
8
7
6
5
4
3
2
1
12
11
10
9
8
7
6
5
4
3
2
1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
5 13 15 17 2119 2927 3125 3323 35 37
3836343230282624222018161412108642
1 1193 7
1
32
1212 12
1
2
1
2
1 2
12
1
2
12
1
2
12
12
12
12
1
2
12
2
1
1
2 1
2
1 2 3
45
6
1
2
3
4
5
1
2
3 4
5
6
9 10 11 12 13 14 15 16
8 7 6 5 4 3 2 1
9 10 11 12 13 14 15 16
8 7 6 5 4 3 2 1
910111213141516
87654321
1
2
34
5
910111213141516
87654321
12345678
161514131211109
1234567891011
12
13
14
15
16
17
18
19
20
21
22
23 24 25 26 27 28 29 30 31 32 33
34
35
36
37
38
39
40
41
42
43
44
1
2
3
4
8
7
6
5
1
2
3
4
8
7
6
5
12345678910
20191817161514131211
1
2
3
4
8
7
6
5
1
2
3
4
8
7
6
5
910111213141516
87654321
2
1
1
2
1
2
1234
8765
6
5
4
32
1
1
2
1
2
7 6 5 4 2 13
12
5
4
3
2
1
1 2
21
1
1
2
2
1
0
4 3 2 1
9 10 11 12 13 14 15 16
8 7 6 5 4 3 2 1
1
2
3
1 2
1 2
U_DSP General
U_DSP Host Port
U_DSP Memory Control
U_DSP USB
U_Interface to Camera
U_Interface to Motor Control
U_IO Expanders
U_Programming and Debug
U_DSP Power
Cam0
Cam1
Cam2
Cam3
DSP
Boot loader
SDRAM
ISOLATORS
I/O ExpandersTo Cameras
To MCUSB
RS232
DIGITAL SIGNAL PROCESSOR PCB LAYOUT
DSP
Boot loader
SDRAM
ISOLATORS
I/O ExpandersTo Cameras
To MCUSB
RS232
MOTION DETECTION ALGORITHMSubtract Current Image From
Previous
Break Difference Image Into an n-by-n
Grid
Accumulate Location and Count of All
Pixels in Region with Difference Above
Threshold
RegionNorm > NORM_MIN?
Mark Region as Having
Motion
Checked Each Region?
No
Yes
No
Yes
Find Largest Connected Set
of Regions
Find Centroid of Regions in
Largest Set of Connected
Regions
Start
MOTORS/MECHANICAL
Power DSP(s)
Control Processor Motors
Camera Board(s) with FIFO
Digital ConnectionAnalog Connection
Power Connection
Mechanical
MOTORS/MECHANICAL
• Two rotating platforms have been 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
• Turntable Selection
• Shepherd 9548
• Purchased from Home Depot
• Specifications
• 500 lb Load Capacity
• 6 in. x 6 in. Size
MOTORS/MECHANICAL
• 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/products/ML-50.html
MOTORS/MECHANICAL
• Encoder Selection
• Avago AEDB-9140-F12
• Specifications
• Optical Encoder
• 256 Cycles/Revolution
• 1024 Signal Changes/Revolution
• Fits Motor Shaft
http://www.avagotech.com/docs/AV02-1584EN
MOTORS/MECHANICAL
• H-Bridge Selection
• Texas Instruments DRV8412
• 2 X 3A Full Bridge Continuous Output (2 X 6A peak)
or
• 1 X 6A Full Bridge Continuous Output (1 X 12A peak)
• Controlled With PWM up to 500kHz
• Self-Protection Circuits
CONTROL PROCESSOR/MECHANICAL INTERFACE
DSP
H-Bridge Motor
MechanicalInterface
EncoderRelative Angular Position Changes
Current
SDA
SCLuC
PWM Output
x2
DIVISION OF LABORTask Riley Pack Eric Pahlke Kelly Shuster Greg Stahl
Camera Board P S S S
DSP Board Hardware
S P S
DSP Software P S S
Motor Control Board
S P S
Motor Control Software
P S
Mechanical S P
Power S P
User Interface S S S P
P = Primary S = Secondary
MILESTONE 1
• Mechanical System Complete
• Control System Can Move Platform to Desired Position
• DSP Board Populated and Verified Functional
• Camera Board Populated
• Camera Board Sending Pictures to Computer
• Power Distribution Works with All Boards
MILESTONE 2
• Control System Tuned Correctly
• DSP Interfaced with One Camera
• DSP Running Correct Algorithms
• DSP Sending Targeting Positions to Control System
DESIGN EXPO
• Full System Operating Correctly with One or More Cameras
• Technical Manual
• User Manual