VIEWS: 0 PAGES: 44 POSTED ON: 11/5/2012
Autonomous Parking System ECE 345 Senior Design Project Project #24 Prof. Swenson TA: Han Seok Kim Johnson Liu Fumie Saito Xiaozhou Zhu Pioneer 2 This robot is used in our experiment. It comes from a lot of features. Using Visual C++, we are able to take pictures and control movement of the robot. Agenda Introduction and Relevence Hardware Image Processing Planar Homography Algorithm Robot Motion Error Analysis / Improvements Questions What We Are Doing? Use GPS to guide the robot to the vicinity of the parking space. Use vision based control (image processing) to detect the parking sign. Use planar homography algorithm to maneuver the robot into the parking space. Why Is This Important? Assists people with disabilities to guide their vehicles. Allows robot to autonomously explore bio- hazardous environments. GPS GPS is a satellite based navigation. Without any other device, it produces about 15 meters error. In our project, GPS is used to guide the robot to the unknown parking space. Garmin 12XL is chosen because it has a serial port and is easy to connect to DGPS. NMEA(National Marine Electronics Association) It is used in world wide. Defines electrical signal requirements, data transmission protocol and time, and specific sentence formats. Use a 4800 baud serial data bus. We used following sentences. GPGGA(Global Positioning System Fix Data) PGRME(Garmin Estimated Error Information non- standard) Example Sentence of GPGGA GPGGA,042246,4006.708,N,08813.869,W… GPGGA – Global Positioning System Fixed Data 042246 – Global Time 4006.708 N – North Latitude 08813.869 W – West Longitude Example Sentence of PGRME PGRME,6.4,M,14.2,M,6.4,M,… PGRME – Garmin Estimated Error Information non-standard 6.4,M – Estimated horizontal position error (m) 14.2,M – Estimated vertical position error (m) 6.4,M – Estimated position error (m) Longitude and Latitude From GPS Coordinate From GPS 1 Latitude(4006.xxxx) 0.5 0.62 0.64 0.66 0.68 0.7 0.72 Lontitude(08813.xxxx) Estimated Error From GPS Estimated Error 20 Latitude(m) 15 10 5 0 0 2 4 6 8 10 Longitude(m) DGPS DGPS, Differential Global Positioning System, improves the accuracy of the GPS system. DGPS is able to increase the accuracy by using a GPS receiver at a known location. In our experiment, we used the DGPS to guide the robot to the vicinity of the parking space. GBR23 is the one we used in our experiment. Longitude and Latitude With DGPS Coordinate with DGPS Latitude(08813.xxxx) 1 0.5 0.72 0.74 0.76 0.78 0.8 0.82 0.84 0.86 0.88 Longtitude(4006.xxxx) Estimated Error With DGPS Estimated Error With DGPS Latitude (m) 8 6 4 2 0 0 2 4 6 Logitude (m) Switch Circuit GPS only has one input and one output. So, we have to divide signal in two ways, GPS to DGPS We used 555 Timer IC and 4 to 1 MUX to build a switch Circuit. Schematic of Switch Circuit Ground 1 8 Vcc 7 2 13k ohms IC 555 6 3 Vcc 4 5 150 k ohms 10uF S1 S0 DGPS PC 4 to 1 GPS MUX Signal between GPS and PC Image Processing—Goals Isolate the parking pattern. Image Processing—Goals Find 4 corners on the parking pattern needed to compute R and T matrices. Image Processing--Stages Monochrome Filter Median Filter Group Pixels Find Largest Group Find Corners Image Processing— Monochrome Filter Keeps only the pixels in the capture image with R< 25, G< 25, and B < 25 (black pixels). Before After Image Processing— Monochrome Filter Advantage Isolate the desired pattern from (most) background object. Disadvantage Cannot filter out all undesired background objects. Image Processing—Median Filter Reduce some noise in the image. Before After Image Processing—Median Filter Advantage Reduces noise—increases signal to noise ratio. Disadvantage Decreases resolution. Image Processing—Group Pixels Recognizes adjacent pixels as objects. Before After Image Processing—Group Pixels Advantage Recognizes objects in the image. Disadvantage Cannot distinguish two overlapping objects. Image Processing—Find Largest Object Keeps the largest object grouped—The largest object should be the parking pattern. Before After Image Processing—Find Corners Find the coordinates of the 4 corners by applying a mask. (needed to compute R and T matrices). Mask Image Image Processing—Find Corners Corner pixels overlap with mask by 1 pixel. Image Processing—Find Corners Internal pixels overlap with mask by more than 1 pixel. Image Processing—Find Corners Limitations The image must have solid interior. Image Processing—Example 1 Image Processing—Example 2 Planar Homography—Coordinate Transformation z 0 y T y0 z z0 T y cos cos cos sin sin sin cos cos cos sin sin cos R sin cos cos cos sin sin cos sin cos cos sin sin cos sin sin sin cos Planar Homography—Finding Transformation Matrix H Transformation From One Coordinate System to Another Satisfies the Equation X 2 RX 1 T Simple Substitution Using Results in 1 X 2 ( R TN T ) X 1 or X 2 HX 1 d Where R = rotational transformation Where T = translational transformation Where N = Normal vector to the image plane Planar Homography—Finding Transformation Matrix H Multiplying the equation by the skew-symmetric matrix (cross-product) will result in the familiar linear algebra form of x 2 Hx 1 0 ˆ Mathematical manipulations using the Kronecker product will result in T a H S 0 Where a T x1 x 2 ˆ And H S is the stacked H matrix This is identical to x 2 Hx 1 0 ˆ Planar Homography—Finding Transformation Matrix H To find a unique solution to H, 4 Point Homography must be used, thus T H S 0 Where a , a , a , a 1 2 3 4 T 129 Where H S 9 Solving the Null Space of will get H T Planar Homography—Finding R and T Once we have the correct H , we can use Singular Value Decomposition (SVD) to decompose into the R and T matrices. There are 4 solutions to R and T matrices… eliminate based on positive depth constraint Using the general equations of R and T to solve for the angle( )between the two coordinate planes and the distance( L) between the robot and object. Robot Motion z z 1 0 0 R 0 cos sin y y 0 sin cos z T y0 0 z T y0 z0 y z0 y Robot Motion z To prevent the robot from crashing into the parking sign, the robot y is stopped when the image covers a certain fraction of the total camera screen. Errors Accuracy is a must in vision. A few pixels off in one direction or another will result in error. For this reason, high resolution cameras are needed. (320*243 pixels) 2 frames of reference are needed for this project. More frames = more sources of error Symmetry and 3D reconstruction will only use 1 frame, which eliminates error. Improvements We were not able to connect the GPS to the serial port on the robot. The robot cannot locate and move to its parking space. We cannot command the robot to rotate or translate at constant velocities. Cost Analysis Category Cost $ 1 Pioneer 2 $10,000 2 GPS 12XL $200 3 GBR 23 $200 4 Mount for GBR 23 $23.50 5 Integrated Circuits $0.95 6 Resistors & Capacitors $1.99 Subtotal $10,426.35 7 Labor $37,500 Grand Total $47,926.35 Questions?