University project for making a LEGO MINDSTORMS NXT robot solve a Sokoban puzzle. There are 2 main differentiated parts in the project:
The program for controlling the Robot: it is written in NXC, and it is responsible for reading sensor data and controlling the motors, so the robot can move through the maze by following the desired pattern.
The puzzle solver: It is based on an A* algorithm. Given the input set-up of the map, it has to find the movements the robot needs to do in order to solve the puzzle.