CS-495: Capstone Project, Whitman College 2018
Camille Anderson, Richie Farman, Riley Worthington
This project implements a simulation of a two-dimensional landscape with obstacles, containing cat and mouse agents. The agents behave as follows:
- Have a goal
- Use RRT (Rapidly-exploring Random Tree) motion planning algorithm to find path to goal
- Attempt to capture mice
- Use Proportional Navigation to plot course to nearest mouse in their line of sight
Users have the ability to adjust the following parameters:
- Number and type of agents
- Starting and goal positions of agents
- Position and shape of obstacles
- Size of landscape (rectangle)
- Number of time steps to run
The simulation requires the python packages
pandas. These packages are all installable
Running the simulation
Using the command
python3 simulation.py will run a default simulation with two mice and one cat, in a pre-built test room containing two walls. The mice have goal position (0,0), defined as the top left corner of the grid. X coordinates increase to the right and Y coordinates increase down.
Start of simulation
After one time step, mouse planning has occurred
The pink lines display the trees generated by the mice, and the green lines show their selected path to the goal.
Machine Learning in the Simulation
This project contains a machine learning class that is integrated throughout the program. The ML object is designed to easily generalize to most scikit-learn API's. Every time the simulation is run, it adds information to the database used for training. When activated, the ML object will edit the theta value of the cat's trajectory.