In the past few years, computer scientists have come up with increasingly complex algorithms to direct robotic agents. These algorithms, such as model predictive control (MPC), use a version of the agent’s behavior to create an optimal route towards a desired end result, while taking into account certain restrictions (for example, avoiding any sort of collision).