self collision avoidance