Autonomous
Vehicles

Obstacle Avoidance

Description:
Implements a local obstacle avoidance planner to navigate around obstacles percieved by LIDAR. Accounts for kinematic and dynamic constraints of the vehicle. Greedy planner weights different paths based on curvature, distance to obstructions, and clearance from obstacles.

Software:
obstacle_avoidance.cc
obstacle_avoidance.h

Project Materials:
Obstacle Avoidance Project Report
Kinematic Derivations


Particle Filter Localization

Description:
Implements mobile robot localization in a mapped environment by fusing Wheel Odometry and LIDAR scans. Tracks robot state using particle filter algorithm, implementing robust observation likelihood to increase robustness against unmapped obstacles.

Software:
particle_filter_main.cc
particle_filter.cc
particle_filter.h

Project Materials:
Particle Filter Project Report

LIDAR Odometry and Scan Matching

Description:
Implements Correlative Scan Matching algorithm for use as a LIDAR SLAM fronted. Demonstration aligns successive scans to show local performance. Not a full SLAM implementation, intended to pair with a NLLS solver to solve full pose graph.

Software:
slam_main.cc
slam.cc
slam.h

Project Materials:
Scan Matching Project Report
Short Form Essays on Responsible Robotics

Autonomous Navigation

Description:
Building on the previous work, an A* global planner is implemeted and interfaced with the Particle Filter and Obstacle Avoidance, resulting in full autonomous navigation. The robot can navigate to a desired pose within the building, replanning on the fly if the initial path is deemed infeasible.

Software:
navigation_main.cc
navigation.cc
navigation.h

Project Materials:
Autonomous Navigation Project Report

Final Project

Description:
For the final course project, we fuse the previous LIDAR odometry implementation with wheel odometry through an Extended Kalman Filter to improve the proposal distribution of the particle filter. This results in significantly improved localization performance, even in the presence of poorly tuned wheel odometry.

Software:
particle_filter_main.cc
particle_filter.cc
particle_filter.h

Project Materials:
Project Proposal Presentation
Final Project Report
Debugging Sensor Fusion