COL778 - Principles of Autonomous System

This repository ccontains assignments, lecture notes, books and other resources for the course COL778/864 offered by Prof. Rohan Paul in the semester 2302 at IITD. The course deals with the algorithmic aspects of intelligent robotics and more generally autonomous systems.

Topic wise resources

  1. State Representation :

    • Read about homogenous transforms here.
    • Read about Camera Calibration here
  2. Bayes Filtering Algorithm :

    • Read Bishop Chapter 8 to learn about Graphical Models

    • Can be broken down into two steps

      • Action update step $p(x_t | z_1,....z_{t-1}, u_1,....u_t)$
        $p(x_t | z_1,....z_{t-1}, u_1,....u_t) = \int_{x_{t-1}}p(x_t | z_1,....z_{t-1}, u_1,....u_t, x_{t-1})p(x_{t-1} | z_1,....z_{t-1},u_1,....u_t)dx_{t-1}$
        Now, $p(x_t | z_1,....z_{t-1}, u_1,....u_t, x_{t-1}) = p(x_t | x_{t-1}, u_t)$ and $p(x_{t-1} | z_1,....z_{t-1},u_1,....u_t) = Bel(x_{t-1})$ $\therefore p(x_t | z_1,....z_{t-1}, u_1,....u_t) = \int_{x_{t-1}}p(x_t | x_{t-1}, u_t)Bel(x_{t-1})dx_{t-1}$
        or, $\overline{Bel}(X_t) = \int_{x_{t-1}}p(x_t | x_{t-1}, u_t)Bel(x_{t-1})dx_{t-1}$
      • Measurement update step $p(x_t | z_1,....z_{t}, u_1,....u_t)$
        $p(x_t | z_1,....z_{t}, u_1,....u_t) = \eta * p(z_t | x_t,z_1,....z_{t-1}, u_1,....u_t) * p(x_t |z_1,....z_{t-1}, u_1,....u_t)$

        Now, $p(z_t | x_t,z_1,....z_{t-1}, u_1,....u_t) = p(z_t | x_t)$
        $\therefore Bel(x_t) = \eta * p(z_t | x_t) * \overline{Bel}(x_t)$

  3. State Estimation using Kalman Filters :

    • Read about Conditioned Joint Gaussian PDFs here.

    • Calculation of co-variance matrix $\sum_{X_tX_{t+1}}$ used in derivation of the action update equations

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[(X_{t+1} - \mu_{X_{t+1}})(X_t - \mu_{X_t})^T]$

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[(X_{t+1} - A_t\mu_t - B_t\mu_t)(X_t - \mu_t)^T]$

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[(A_tX_t - A_t\mu_t + \epsilon_t)(X_t - \mu_t)^T]$

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[(A_tX_t - A_t\mu_t + \epsilon_t)(X_t^T - \mu_t^T)]$

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[A_tX_tX_t^T - A_t\mu_tX_t^T + \epsilon_tX_t - A_tX_t\mu_t^T + A_t\mu_t\mu_t^T - \epsilon_t\mu_t^T]$

      Since $\epsilon_t$ is an independent zero-mean random variable, all terms with $\epsilon_t$ go to 0

      $\sum_{X_{t+1}X_t}$ = $\mathbb{E}[A_tX_tX_t^T - 2 * A_t\mu_tX_t^T + A_t\mu_t\mu_t^T]$

      $\sum_{X_{t+1}X_t}$ = $A_t\mathbb{E}[X_tX_t^T] - A_t\mu_t\mu_t^T$

      $\sum_{X_{t+1}X_t}$ = $A_t(\mathbb{E}[X_tX_t^T] - \mathbb{E}[X_t]\mathbb{E}[X_t]^T)$

      $\sum_{X_{t+1}X_t}$ = $A_t\sum_{t|0:t}$

  4. MDPs :

    • Read about Prioritized Value Iteration here.
    • Read about Forward Search for MPDs here.