Capstone Spring 2009 Preliminary Design Review HAMSter Cole Bendixen Erik Larson Electrical and Computer Engineering Electrical Engineering Erich Hanke Quang Than Electrical Engineering Electrical Engineering HAMSter Project Overview Mobile Servo Powered Cart Stereo-Vision Obstacle Detection Autonomous Navigation FPGA Hardware / Software Control IR Sensor “Failsafe” Collision Avoidance 2 HAMSter Purpose To create an autonomous platform that can be used as a mounting point for various sensors and monitors to test remote locations without human control. To advance hardware stereo-vision algorithms. Cart Control Systems GPS Used for long range directional control Polled GPS to periodically calculate a destination vector Hard coded destination RF Transceivers Beacon at destination point Medium/Short range destination proximity sensor Overrides GPS when active Implementation based on time Could be achieved through stereo vision Stereo Vision 2-NTSC cameras input 30fps image streams Image processing detects obstacles Use of parallax to determine distance IR Provides short range obstacle detection Highest sensor interrupt level – acts as failsafe to avoid collision 30 cm Sensor Interrupt Levels Highest Priority Polled IR Proximity Sensor GPS Frame Ready To Processes RF Beacon Detector Computer Stereo-Vision Lowest Priority Code Flow Diagram Software Processing Driver Interface Image Processing Wheel Translation Control Hardware Filter Servo Control Board Frame Grabber Mobile Cart Green = Hardware Implementation Blue = Software Implementation 10 Yellow = Hardware/Software interface Stereo Vision Based upon the phenomena of parallax, where an observation at two locations along a baseline of a common object appears to cause an offset of the object. This offset can be used to determine relative distance to the object. Camera One d1 Camera Two d2 11 Point Spread Function Simple PSF is applied to the image to enhance edges. Parameterized sweeper size and intensity. Post convolution threshold filter applied. HDL IMAGE CO-PROCESSOR PPC HARDCORE PROCESSOR PPC REG INTERFACE CONTROL REGISTERS IMAGE PROCESSING DATA BUILDER CONV IMAGE SRAM CONTROL DATA BREAKER DVI CONTROLLER DVI SIGNAL GENERATOR PLL RAM BLOCK PowerPC 440 1,100 DMIPS Up to 550MHz Out of Order Processing Branch Prediction 256MB DDR2 200MHz I/O Control Interrupt Enabled Inputs IR Sensors Object Array stored in Block RAM Polled Inputs GPS via COM0 Transceiver Outputs Servo Control Board via COM1 Path Determination Initial direction of destination is determined using the GPS/transceiver data. Objects are then realized in software. Movement vector is determined based on direction and relative position of objects. IR sensors are then used to update path model due to “invisible objects.” GPS Direction Determination Given our current position (in the grid coordinate system) from the GPS, we calculate our north/south and east/west displacement from the destination position and use that to calculate a destination direction vector. We then calculate the deviation of our current direction from the destination direction and rotate the robot the required amount to correct this difference. Transceiver Direction Determination The transceiver will determine a direction and distance of the destination transceiver. We then calculate the deviation of our current direction from the destination direction and rotate the robot the required amount to correct this difference, just as with GPS. Transceiver is necessary because the GPS is only accurate to ~3m. Object Realization To realize objects we will create a matrix representing the relative visible area in the direction of the destination. Object input in the form of a distance and deflection will then be used to populate this matrix with objects. Movement Vector Determination First we determine acceptable directions to travel based on object positions. We then evaluate a vector in each valid direction space. The length of movement vectors will place the robot just past the nearest object. We then compare the valid vectors and choose the one that places the robot closest to the destination. Instructions are then given to the servos to correct direction and move forward the determined distance. IR Recognition of 'Invisible' Objects IR interrupts cause immediate motion halt. Object is populated into matrix using IR sensor determined direction and distance. Path is then re-evaluated using updated object matrix. Motion continues. Power Systems Battery 1 Battery 2 FPGA GPS Opto-Isolator Servo-Control Board ADC Servo Motors Camera IR Sensor Goals CDR Robot that will move to a specified GPS location. Milestone1 Object recognition hardware completed. Milestone2 Robot that will move to a specified GPS location avoiding 'visible' objects. Expo Robot that will move to a destination object, via GPS and transceiver, and avoid objects using video imaging and IR sensors. Budget Item Name / Description Unit Price Xilinx ML507 Virtex 5-FX XC5VFX70T-2FF1136C $1,406.00 1 $1,406.00 DONATION Agilent 1692A Logic Analyzer Mictor Probe $1,150.00 1 $1,150.00 DONATION Servo-Continuous Rotation HSR-8498HB HMI Robot Servo CNT $79.99 8 $639.92 DONATION Servo- Positional HSR-8498HB HMI Robot Servo $59.99 2 $119.98 DONATION NiMH Battery Pack: Powerizer 7.2V 4200mAh with 12AWG wire $29.99 3 $89.97 $89.97 12 Channel Lassen IQ GPS Receiver with DGPS $59.95 1 $59.95 $59.95 Antenna GPS Ultra-Compact Embedded HFL for Lassen IQ $18.95 1 $18.95 $18.95 $9.95 6 $59.70 $59.70 CMOS Camera Module 640x480 --SEN-08773 $34.95 4 $139.80 $139.80 Linx Transceiver $17.15 2 $34.30 $34.30 $2.08 2 $4.16 $4.16 Cart Frame Aluminum / wheels / screws $80.00 1 $80.00 $80.00 Miscellaneous wires and parts $60.00 1 $60.00 $60.00 PCB Layout $33.00 3 $99.00 $99.00 $3,961.73 $645.83 Sharp GP2Y0A21YK0F Distance Sensor Transceiver Antenna Quantity Total $ Sub-Total After Donations Schedule Division Of Labor Erich H. Cole B. Quang T. Erik L. Hardware Cart Construction x Servos x x Servo Controller x x GPS x x Video Processing x Object Recognition x x x x IR Sensors x Transceiver Power System x x x x x Software Servo Control Code x GPS data processing x x x x Pathing code x IR interrupt processing x Transceiver data processing x Documentation Preliminary user's manual x Final Technical Documentation x x x x User's Manual x x x x RISKS ADC interface to the FPGA – Loading images into memory Wheels operating at same speeds Inaccurate calculation of cart speed to judge distance traveled Interfacing to the RF transceiver (signal magnitude not direction) Cart frame parasitic to GPS or RF signals