ML & AI - Mini-Projects

2014-11-01 00:00:00 +0000

Assignment 1: Implement UKF filtering algorithm, analyze performance.

This assignment focused on the implementation and assessment of a filtering algorithm on a robot dataset. The goal was to implement the algorithm, and assess its performance.

  1. Design simulated controller to estimate the position changes of a wheeled mobile robot in response to commanded speed controls.
  2. Test simulated controller on robot dataset and compare to ground truth path.
  3. Design a motion model and measurement model appropriate for UKF filter.
  4. Compare the UKF filter performance to simulated controller and ground truth path.

1

Assignment 2: Implement search/navigation algorithm, analyze performance.

The focus of this assignment was on the implementation of an A* variant, able to generate 2­D paths that navigated between start and goal locations while avoiding obstacles, and a simple controller that enabled a wheeled mobile robot to drive the generated paths.

  1. Build a grid with a range of x:[−2,5], y :[−6,6]. Mark each cell that contains a landmark as occupied.
  2. Implement an “online” version of A*, for which the set of expanded nodes contains only the current cell in which the robot is located. Design an admissible heuristic.
  3. Plan path between a set of start and goal positions.
  4. Account for physical size of the robot when path planning by inflating size of detected obstacles. Plan path again.
  5. Design an inverse kinematic controller able to drive the path generated by A* implementation using the model from Assignment #1. Make this controller more realistic by considering current speed of robot and restricting maximum accelerations.
  6. Plan the paths while driving them.

2

Assignment 3: Implement machine learning algorithm, analyze performance.

This assignment focused on the implementation and assessment of a learning algorithm on a robot dataset (same as from Assignment #1). We had the choice of both what you want to learn and how to learn it. The goal was to build a training dataset, implement a learning algorithm, and assess its performance on the dataset.

  1. Build a training dataset for improving dead reckoning error.
  2. Code a learning algorithm, Locally Weighted Linear Regression.
  3. Apply your learning algorithm to your training dataset. Evaluate its performance.

3

Assignment 4: Apply partner algorithms (ANN) to your data, and your algorithms (LWLR) to partner data.

Switch datasets with a partner, assess the performance of each new dataset-­algorithm combination and understand the underlying algorithmic and dataset structures that accounted for any variations in performance. Whenever differences were observed, explain why and ground these explanations in the mathematics of the algorithms.

4

Github Link