15-494 Cognitive Robotics Final Project

Exploration Algorithm

Akshina Gupta

Approach:

An exploration algorithm is often a poorly defined task. We have an abstract notion of wanting our agent to find everything it needs to but often struggle with formalizing the goals we want it to achieve. For this project, there were 3 abstract goals that the exploration algorithm considered and formalized into heuristics. We theorized that a good explorer wants to explore as much interesting area as possible as quickly as possible. This gives it a few factors that it must consider. How interesting is the area it plans to go to? How inefficient is the task of going to that location? How much information does it stand to gain from going there? These are all factors that must be weighed when deciding on where the robot might want to go to. We measure these for the purpose of our algorithm by using proximity to known objects, proximity to the current location, and size of unexplored area respectively. This allows us to have a heuristic by which we can evaluate each location. This algorithm is a then a greedy approach where it examines unknown areas in cozmo's nav_memory_map and weighs them according to said heuristics.


Material:
Powerpoint Slides
Video

Source Code:
State Machine Program

Images: