Desarrollaré algoritmos de control PID y LQR personalizados en cpp
MSc, Ingeniería de Automatización y Control, Ingeniero en Sistemas de Control de RD Robotics
Acerca de este Servicio
Soluciona bucles de control inestables, lentos u oscilantes con software de control personalizado, matemáticamente validado, en C++ moderno o Python.
Lo que entrego:
- Identificación de sistemas: Modelos de función de transferencia y espacio de estados derivados de tus registros CSV experimentales (respuesta escalón/frecuencia).
- PID industrial discreto: Implementaciones Tustin/Euler con anti-windup (limitación/cálculo hacia atrás), filtrado de derivada y compensación feedforward.
- Control óptimo (LQR / LQG): Formulación en espacio de estados discreto, síntesis de la matriz de ganancia de retroalimentación de estado y observadores de estado (Luenberger / Kalman).
- Informe de validación y estabilidad: Diagramas de Bode, márgenes de ganancia/fase, tiempo de establecimiento y análisis de sobreimpulso.
- Especificaciones del código: Clases en C++ limpias y autónomas (.hpp/.cpp) sin asignación dinámica en memoria en solicitud (compatibles con MCU bare-metal). Probado para STM32, ESP32, ARM Cortex, IPCs Linux, Raspberry Pi y nodos ROS / ROS 2.
Por favor, envíame un mensaje antes de hacer un pedido para discutir la dinámica de tu planta, el tiempo de muestreo objetivo y las limitaciones de hardware.
FAQ
Traducción automática
¿Necesito algún software propietario (como MATLAB/Simulink) para ejecutar tus entregables?
No. Todo el código se entrega como archivos fuente independientes en C++ estándar (o Python) sin dependencias de licencias o tiempo de ejecución propietario.
¿El código C++ puede ejecutarse en microcontroladores bare-metal sin asignación dinámica de memoria?
Sí. A solicitud, la implementación se escribe estrictamente sin asignaciones en heap (malloc/new), usando memoria estática y arreglos de tamaño fijo adecuados para entornos bare-metal STM32, ARM Cortex o compatibles con MISRA.
¿En qué formato deben estar mis datos experimentales?
Un archivo CSV, TXT o Excel simple que contenga marcas de tiempo, la señal de entrada de control (por ejemplo, PWM, voltaje, comando) y la salida medida de la planta (por ejemplo, RPM, posición, temperatura).
¿Puedes diseñar controladores para sistemas acoplados multivariable (MIMO) o no lineales?
Sí. Podemos formular representaciones en espacio de estados para configuraciones MIMO o linearizar alrededor de puntos de operación específicos para control con programación de ganancias. Envíame un mensaje primero para evaluar la dinámica de tu planta.
¿El controlador puede integrarse en un nodo ROS / ROS 2?
Sí. La clase de control está escrita de forma modular, lo que facilita envolverla en un nodo rclcpp o en un callback de temporizador personalizado. Avísame con anticipación si necesitas un wrapper completo para workspace ROS 2.

