The robot moves in crowds according to a pre-defined scenario. During its motion, it senses the crowd around it, and fits a crowd simulation to the sensed information. This local simulation allows the robot to analyse the crowd motion patterns as well as to perform a short-term prediction of the evolution of the crowd state. This prediction allows the robot to adapt its navigation to maximize safety and motion efficiency. As prediction can be error-prone, a reactive navigation layer manages close-distance interactions with nearest neighbours and manage immediate risks of collision.