Estoy tratando de estabilizar un robot con un servomotor conectado a dos ruedas de un robot. Ya construí el sistema de la siguiente manera:
- Aplique el filtro Kalman a la salida del girómetro / acelerómetro
- Calcular un ángulo de balanceo (preciso)
Ahora uso estos resultados y los envío al controlador PID incremental. Mi problema es que la salida del controlador PID es muy alta o algunas veces es negativa, quiero escalarla a un ángulo de servo adecuado, por ejemplo:
La salida PID es 5000, pero el servo entiende "comandos" entre 1 & 180 grados. Entonces, ¿cómo escalar la salida a través de un método científico para asegurarse de que el motor reciba los comandos correctos de PID?
Mi objetivo es cuando la rueda del robot gira a la derecha, el motor debe hacerlo en la dirección opuesta y así sucesivamente.
Actualización # 1: El error de la salida PID depende del ángulo de giro de la referencia en el que quiero estar y del ángulo de giro curado medido desde la IMU (que depende del acelerómetro y el amperímetro del girómetro),
la entrada al servo es la posición del ángulo del servo que se encuentra entre 1 grado y 180 grados