would be necessary to improve performance dramatically.

#### Navigation

The multi-agent case study revealed one obvious problem with the current solution: the agent has no idea where it is, and has therefore little possibility of navigating. Actually being able to have knowledge of the environment could make it possible for the agent to know where it is and enable it to navigate from $(x_1, y_1)$ to $(x_2, y_2)$ in a world using a navigation algorithm.

Gaining knowledge of the environment is possible by using the ultrasonic sensor, since it is able to detect obstacles, such as walls. The problem is that this knowledge cannot directly be used to create a map, since the robot does not know where it is with regards to that obstacle. It knows that if it has detected an obstacle $x$ centimeters away, then it is $x$ centimeters from an obstacle. However, it has no starting point to combine this knowledge with, since it does not exactly know how far it has moved, before the obstacle was detected.

A technique called *odometry* uses data from the movement of the actuators (motors) to estimate how far the robot has moved over time. Since LeJOS is able to 