Skip to content

GPrathap/autonomous_mobile_robots

Repository files navigation

Autonomous Mobile Robots

Course Structure 👾

  • Section 0 👽

  • Section 1 (Control) 👽

    • Motion Control 📚
      • Kinematics of wheeled mobile robots: internal, external, direct, and inverse
        • Differential drive kinematics
        • Bicycle drive kinematics
        • Rear-wheel bicycle drive kinematics
        • Car(Ackermann) drive kinematics
      • Wheel kinematics constraints: rolling contact and lateral slippage
      • Wheeled Mobile System Control: pose and orientation
        • Control to reference pose
        • Control to reference pose via an intermediate point
        • Control to reference pose via an intermediate direction
        • Control by a straight line and a circular arc
        • Reference path control
      • Lateral control (Geometric controls)
        • The pure pursuit (or pure tracking controller)
        • Stanley controller
    • Dubins path planning 📚
  • Section 2 (Estimation) 👽

    • Bayesian Filter 📚

      • Basic of Probability
      • Probabilistic Generative Laws
      • Estimation from Measurements
      • Estimation from Measurements and Controls
    • Kalman filter 📚

      • Gaussian Distribution
      • One Dimensional Kalman Filter
      • Multivariate Density Function
      • Marginal Density Function
      • Multivariate Normal Function
      • Two Dimensional Gaussian
      • Multiple Random Variable
      • Multidimensional Kalman Filter
      • Sensor Fusion
      • Linearization, Taylor Series Expansion, Linear Systems
      • Extended Kalman Filter (EKF)
      • Comparison between KF and EKF
    • Particle Filter 📚

      • A Taxonomy of Particle Filter
      • Bayesian Filter
      • Monte Carlo Integration (MCI)
      • Particle Filter
      • Importance Sampling
      • Particle Filter Algorithm
    • Robot localization 📚

      • A Taxonomy of Localization Problems
      • Markov localization
      • Environment Sensing
      • Motion in the Environment
      • Localization in the Environment
      • EKF localization with known correspondence
      • Particle filter localization with known correspondence
    • Robot mapping 📚

      • Ray casting and ray tracing
      • Ray-casting algorithm
      • Winding number algorithm
      • TODO (more to come)
    • Robot simultaneous localization and mapping (SLAM) 📚

      • Introduction
      • TODO (more to come)
  • Section 3 (Perception) 👽

    • Line Extraction Techniques 📚
      • Hough Transformation
      • Split-and-Merge Algorithm
      • Line Regression Algorithm/li>
    • Similarity Measurements 📚
      • Edge Detection (based on derivative and gradient)
      • Corner Detection
      • The Laplace Operator
      • Laplacian of Gaussian (LoG)
      • Difference of Gaussian (DoG)
      • Gaussian and Laplacian Pyramids
      • Scale Invariant Feature Transform (SIFT)
        • Scale-space Extrema Detection
        • Keypoint Localization
        • Orientation Assignment
        • Keypoint Descriptor
    • Monocular Vision 📚

      • Pinhole Camera Model
      • Image Plane, Camera Plane, Projection Matrix
      • Projective transformation
      • Finding Projection Matrix using Direct Linear Transform (DLT)
      • Camera Calibration
    • Stereo Vision 📚

      • Simple Stereo, General Stereo
      • Some homogeneous properties
      • Epipolar Geometry
      • Essential matrix, Fundamental matrix
      • Camera Calibration
    • Depth Estimation
  • References [:books:]

    • Robert Grover Brown, Patrick YC Hwang, et al. Introduction to random signals and applied Kalman filtering, volume 3. Wiley New York, 1992.
    • Gregor Klancar, Andrej Zdesar, Saso Blazic, and Igor Skrjanc. Wheeled mobile robotics: from fundamentals towards autonomous systems. Butterworth-Heinemann, 2017.
    • Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. Introduction to autonomous mobile robots. MIT press, 2011.
    • Sebastian Thrun. Probabilistic robotics. Communications of the ACM, 45(3):52–57, 2002.
    • https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python