Because you want to avoid collision among human. So there is no collision among human. You can check the velocity vector, if it is pointing to another person. Then someone is blocking his way. Provide the horizontal displayment, you can calculate the least change of the velocity. The person can change direction right at that point or change velocity gradually.