This is a project on using Inverse Reinforcement Learning (IRL) for automated grading of physical (sensorimotor) skills. It also includes a snapshot of the BURLAP codebase, since I had to make a few changes in BURLAP to create my IRL framework.
This project is built using Maven; I will outline steps to use it with IntelliJ, a free Java IDE.
- Clone the project to a local directory (
git clone https://github.com/gautams3/IRL_IntelligentGrading.git
) - Import the project as a Maven project in IntelliJ (Import Project -> go to root project folder -> double click pom.xml. You may have to wait a while for the dependencies to download and the indexing)
- Open file
src/main/java/Tutorial/IRLParkingLotExample.java
- Run that class (
main()
function. You may have to add a Configuration that runs the IRLParkingLotExample class)
There are 4 modes to run in sequential order, explained thoroughly in the paper. The main() function in IRLParkingLotExample let's you choose these modes, using the GridWorldRunOptions
enum
- Explore and record: This lets you navigate the parking lot world, and record episodes
- Playback: Playback recorded episodes
- RunIRL: Run the IRL algorithm to learn the reward function based on the given expert demonstrations (transitions are considered deterministic)
- TestUser: Test the user trials based on the learned reward function from step 3.
In order to help you skip to the mode you wish to run, I have added sample output files for expert demonstrations, user trials, and IRL reward function output.