Developing a control system, that brings a plant to a desired state in finite time, can be a tedious task. In traditional control theory, one must first analytically analyze the plant, take into consideration the uncertainties and finally construct a controller that keeps the plant stable and meet certain design requirements. For many plants, designing a controller is extremely challenging, and existing control theory and practice are unable to cope with the uncertainty and complexity of the plant. Modern control systems are increasingly trying to address the problem of designing controllers using adaptive methods and machine learning techniques, and in fact, classical adaptive control theory has shown marvelous strength when applied to uncertain plants. Indeed, adaptive machine learning techniques such as, adaptive fuzzy logic control, neural networks, reinforcement learning, and, evolutionary algorithms have been an asset in the control system community when applied in practice. These machine learning techniques are able to cope with the uncertainties and nonlinearities of plants. In this paper, a method for developing a direct adaptive control system to tune the gains of a PID controller to control a vehicle's speed is investigated. This method does not use any a-priori knowledge about the plant. The control system is a two stage process: identification and controller generation. The identification is performed using a neural network, that learns the behavior of the plant and, once trained, allows to run virtual simulation on different controllers. After the neural network is trained, an evolutionary algorithm is used to generate a wide population of controllers, and evaluate the performance of each controller. The evolutionary algorithm runs several generations to achieve good performing controllers. Preliminary results of this approach are shown as a method to generate a speed control for a vehicle in a physics simulation.