Lila Smith

Robot Pathfinding Through Gradient Ascent


May 2021



Motivation


This project was done for the class, Quantitative Engineering Analysis (QEA) 2, as a final. A NEATO robotic vacuum is supposed to navigate an obstacle course set up in a Gazebo simulation:


Responsive image

Layout of obstacle course.


Details


The first stage was to use gradient ascent to reach the Barrel, knowing the location of the NEATO, obstacles, and Barrel. We implemented an open-loop control algorithm, assigning various weights to the sources and sinks.


On my own, for the second stage, I used LIDAR onboard the NEATO to replace knowing the location of the obstacles. In order to distinguish lines and map where they were, I used a Random Sample Consensus (RANSAC) algorithm. RANSAC avoids the problems with PCA or linear regression because it works off of consensus: it can handle mixed data, such as multiple lines and random points.


Responsive image RANSAC sample.



NEATO completing the course.


Reflection


This project helped me better understand gradient ascent because it was, quite literally, a visualization of gradient ascent. This proved useful when I took Machine Learning with the vanishing gradient problem. It also allowed me to feel more comfortable using ROS and Gazebo.