This paper presents a controller design method for multi-input multi-output nonlinear systems using the artificial neural network. The designed controller uses radial basis function networks to generate optimal control signals abiding by constraints, if any, on the control signal, or on the system output. The salient features of the proposed controller include: no requirement of the explicit knowledge of the states of the system, no requirement of a priori knowledge of the non-linear model of the system, and ability of the controller to control time-varying systems or systems having non-minimum-phase characteristics. A recursive algorithm is developed to update the weights of the neural network. Non-linearities in the system as well as variations in system parameters are compensated by the neural network. Simulation results for non-linear systems are included at the end, and controller performance is analysed. A practical case study of single area non-linear automatic generation control is also considered to test the performance of the controller.