I am explaining the working and our task briefly.
1. The entire system is set in a grid of positions.
2. There is a central system that controls and tells every agent where it should be going. It also gives the agents the initial route to that point in the grid.
3. The agents go along that route till they come face to face (in the path of) with another agent.
4. Then one of the agents will stop on its tracks, while the other agent will find another route to its destination from its current position (around the other agent).
Our requirements from the implementation.
1. There should be a UI which shows the grid of positions.
2. The agents can be points on the grid. Lets have 5 agents or points. We'll also have some obstacles on the screen to show that the path is not a simple straight line but some calculated route.
3. So simulate the central system giving instructions of the agents about their destinations, the UI should have some input system (maybe a click here, click there type of system) to click on the agent's starting position and its destination.
4. After the clicking is done, the agents should start moving.
5. We should have some code that detects when agents come face to face (or in each other's path), and then stop on in its tracks, and route the other around it.
6. The routing should happen using the algorithms indicated in the document.
7. The initial routing that happens in step 3 should use Dijkstra's algorithms. The pseudo code should help.
8. When the agents come into face to face, and when they have to re-route, they should use D* Lite as indicated in the document. Once again, the pseudo code should help.
9. The psuedo code should help in getting the functions written.