Skip to content

andrewgunyan/ReflexAgentAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Overview

The project consists of a UI that displays the robot and world along with controls for recording data, moving the robot, and displaying an approximation of the robot's movement policy. Beyond the buttons on the UI the following controls are avaliable: a: toggles automatic agent movement based on the agent selected in the UI. Human input will be disabled when the robot is moving under agent direction. \ p: toggles the display of the agent policy based on the agent selecting in the UI Arrow keys:

  • up: move the robot forward
  • left: rotate counter clockwise
  • right: rotate clockwise
  • back: enters a trajectory of (0, 0) used for instructing the machine learning agent to stop in the goal region

right mouse click: in the world region will move the robot to that position as long as it would not result in the robot colliding with any walls in the environment. The UI is build with python3 on matplotlib 3.8.0 so it may be a tad slow at times. Beyond that the only packages needed are numpy, pickle, pandas and scikit-learn. Usage is as follows:

python main.py

The Robot

The robot is a simples circle robot that exists in a 2d world. It's actions are limited rotation and moving forward. It detects the world using a series of 16 distance sensors arranged in a circle around the robot at even intervals starting from the robot's right side. The objective is to manuever the robot to the goal position indicated by the green circle. Agents for the robot are contained under the agents directory and registered with the UI by agentregistry.py you shouldn't need to change anything in the file unless you want to add new agents or multiple different machine learning agents.

User Actions

For gathering data and exploring how the robot moves the robot will. We'll use the arrow keys to direct the robot around the world while we record each step. Steps occur when a key is pressed incrementing the records count. By default when the data records are saved they will be placed in the data folder named according to the time that the record was made. Saving a dataset does not clear the current data recording from the UI.

About

Simple Reflex Agent and Potential Fields Agent designed to navigate mazes with obstacles

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages