Automatic Parking System by 9Vge6qg

VIEWS: 0 PAGES: 44

									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   129



   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?

								
To top