A Non-linear Model Predictive Controller (NMPC) was developed for an unmanned ground vehicle (UGV). The NMPC uses a particle swarm pattern search algorithm to optimize the control input, which contains a desired steer angle and a desired longitudinal velocity. The NMPC is designed to approach a target whilst avoiding obstacles that are detected using a light detection and ranging sensor (lidar). Since not all obstacles are stationary, an obstacle tracking algorithm is employed to track obstacles. Two point cluster detection algorithms were reviewed, and a constant velocity Kalman filter-based tracking loop was developed. The tracked obstacles’ positions are predicted using a constant velocity model in the NMPC; this allows for avoidance of both stationary and dynamic obstacles.