270 likes | 601 Views
Capstone Spring 2009 Preliminary Design Review. Cole Bendixen Electrical and Computer Engineering Erich Hanke Electrical Engineering. Erik Larson Electrical Engineering Quang Than Electrical Engineering. HAMSter. HAMSter Project Overview. Mobile Servo Powered Cart
E N D
Capstone Spring 2009Preliminary Design Review Cole Bendixen Electrical and Computer Engineering Erich Hanke Electrical Engineering Erik Larson Electrical Engineering Quang Than Electrical Engineering HAMSter
HAMSter Project Overview • Mobile Servo Powered Cart • Stereo-Vision Obstacle Detection • Autonomous Navigation • FPGA Hardware / Software Control • IR Sensor “Failsafe” Collision Avoidance
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.
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
Sensor Interrupt Levels Highest Priority IR Proximity Sensor Polled 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 Green = Hardware Implementation Blue = Software Implementation Yellow = Hardware/Software interface Mobile Cart
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 Camera Two d1 d2
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 Opto-Isolator GPS 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.
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