A compilation of concepts I want to remember...

Navigation
 » Home
 » About Me
 » Github

Autonomous Intelligent Systems #1: Robot Mapping

01 Jun 2019 » ais

Documenting a self-study exercise of working through the Robot Mapping course offered by the Autonomous Intelligent Systems lab at the University of Freiburg.

  1. Autonomous Intelligent Systems #1: Robot Mapping
  2. Autonomous Intelligent Systems #2: Robot Mapping
  3. Autonomous Intelligent Systems #3: Robot Mapping

The course uses Matlab but as an extra personal challenge I am porting the code to work with Python3 as I proceed forward.

GitHub

Before attempting the problem set (sheets) complete the slides+recording on the following topics.

  1. Course Introduction
  2. Introduction to Robot Mapping
  3. Homogeneous Coordinates

Sheet 1

Exercise 1: Skipping as just an intro to Octave.

Exercise 2: Implement an odometry model.

Run main.py which should generate an image for each time step. The figures will be saved to the /plots directory. Next, from the /plots directory run the following command to generate a video from the images.

$ avconv -r 10 -start_number 0 -i 'odom_%d.png' -b 500000  odom.mp4

The output should represent a stream of a robot in motion with the visualization of the landmarks that the robot is sensing at each time step.

Exercise 3:

3.a

v2t() and t2v() are defined here.

Chaining transformations is the result of applying the dot operator to each transformation matrix in order. An example of a composition can found here.

3.b Given two robot poses \(x_1\), and \(x_2\) how do you get the relative transformation from \(x_1\)to \(x_2\)?
3.c Given a robot pose and observation z of a landmark relative to \(x_t\) compute the location of the landmark.

We can complete the exercise by converting the robot pose to a homogeneous transformation using the v2t() function and taking the dot product with the homogeneous representation of observation \(z\). Note that if we were given the location of the landmark in the world frame, we would need the inverse of the transformed pose \(x_t\), to map the landmark location to a coordinate in the pose frame.