Path Following And Obstacle Avoidance For Autonomous Ground Vehicles Using Nonlinear Model Predictive Control