It is a very sensitive system, since the main purpose of it was the algorithm itself. This was later integrated in a robot warehouse system.
The program first creates a map in the Localization.java class. You can modify that method to create your own map.
After that, the inputs are provided from the keyboard, and each input represent a movement or a sensed data from the surroundings.
The order of the input is the following: first you input the character corresponding to an action (goind FORWARD/BACKWARD/RIGHT/LEFT) and then you input four more characters representing the surrounding, in order front/right/back/left.
NOTE: This is assumed to be a grid map.
These are just simple characters, more precisely numbers.
- Go forward = 1
- Go right = 2
- Go backward = 3
- Go left = 4
Now the commands for the surroundings:
- You have a wall in that direction, right next to you = 1
- You don't have a wall in that direction, right next to you = 0
Consider you start in a grid from where you can move forward. So you move forward and you input 1. After this you have to input the surroundings. Suppose you have a wall in your front, no wall on right, no wall in back and wall on left. The inputs will be: 1 0 0 1.