En este trabajo se propone un controlador con estimación de parámetros enfocada a sistemas no lineales, desconocidos y cambiantes en el tiempo. Se presenta un algoritmo de aprendizaje en línea para estimar las ecuaciones del sistema y un controlador que usa esta información para estabilizar la planta. Para ello, se han combinado un observador no lineal y un estimador de parámetros con técnicas de optimización dispersa. En el algoritmo hay dos fases diferenciadas: la fase de aprendizaje, donde se aprenden en línea las funciones desconocidas, y la fase de ejecución, donde se controla la planta con unos objetivos preestablecidos. El algoritmo propuesto es capaz de decidir de forma autónoma en qué fase se encuentra, mediante una métrica de aprendizaje. Este algoritmo se ha validado por simulación numérica en una planta roto-magnet.