Vou desenvolver algoritmos de controle PID e LQR personalizados em cpp
MSc, Engenharia de Automação e Controle, Engenheiro de Sistemas de Controle em RD Robotics
Sobre este Serviço
Corrija loops de controle instáveis, lentos ou oscilantes com software de controle personalizado, matematicamente validado, em C++ moderno ou Python.
O que eu entrego:
- Identificação de Sistema: Modelos de função de transferência e espaço de estados derivados dos seus logs experimentais em CSV (resposta ao degrau/frequência).
- PID Discreto Industrial: Implementações Tustin/Euler com anti-windup (clamping/cálculo reverso), filtragem do derivativo e compensação feedforward.
- Controle Ótimo (LQR / LQG): Formulação discreta de espaço de estados, síntese da matriz de ganho de realimentação de estado e observadores de estado (Luenberger / Kalman).
- Relatório de Validação & Estabilidade: Gráficos de Bode, margens de ganho/fase, tempo de acomodação e análise de overshoot.
- Especificações de Código: Classes C++ limpas e independentes (.hpp/.cpp) sem alocação dinâmica de heap, sob solicitação (compatível com MCU bare-metal). Testado para STM32, ESP32, ARM Cortex, IPCs Linux, Raspberry Pi e nós ROS / ROS 2.
Por favor, envie uma mensagem antes de fazer seu pedido para discutir a dinâmica do seu sistema, o tempo de amostragem desejado e as limitações de hardware.
Perguntas frequentes
Tradução automática
Preciso de algum software proprietário (como MATLAB/Simulink) para rodar seus entregáveis?
Não. Todo o código é entregue como arquivos fonte independentes em C++ padrão (ou Python), sem dependências de runtime ou licenciamento proprietário.
O código C++ pode rodar em microcontroladores bare-metal sem alocação dinâmica de memória?
Sim. Sob solicitação, a implementação é escrita estritamente sem alocações de heap (malloc/new), usando memória estática e arrays de tamanho fixo, compatível com ambientes bare-metal STM32, ARM Cortex ou MISRA.
Em que formato devem estar meus dados experimentais?
Um arquivo CSV, TXT ou Excel simples contendo timestamps, o sinal de entrada de controle (por exemplo, PWM, voltagem, comando) e a saída medida do sistema (por exemplo, RPM, posição, temperatura).
Você pode projetar controladores para sistemas multivariados acoplados (MIMO) ou não lineares?
Sim. Podemos formular representações de espaço de estados para configurações MIMO ou linearizar em torno de pontos de operação específicos para controle com ganho escalonado. Por favor, envie uma mensagem primeiro para avaliar a dinâmica do seu sistema.
O controlador pode ser integrado a um nó ROS / ROS 2?
Sim. A classe de controle é escrita de forma modular, facilitando sua integração dentro de um nó rclcpp ou callback de timer personalizado. Avise-me com antecedência se precisar de um wrapper completo para workspace ROS 2.

