Semana 30: Control PID en CARLA y creación del mapa del pinar
Implementación del seguimiento visual de caminos en CARLA
Esta semana se ha trabajado en la integración del algoritmo de seguimiento visual de línea (Follow Line) dentro del simulador CARLA, además de diseñar un nuevo mapa, un pequeño pinar con terreno irregular y un camino cerrado para poner a prueba el algoritmo.
Adaptación del algoritmo Follow Line a CARLA
El objetivo fue trasladar el algoritmo de seguimiento de línea originalmente usado en Robotics Academy para seguir una línea roja al entorno de CARLA.
En este caso, la lógica se mantiene, pero se adapta para seguir el color del camino de tierra detectado en la cámara de segmentación semántica.
Detección visual
En la imagen segmentada, el color del suelo (camino de tierra) se identifica mediante su valor RGB:
target_color = (81, 0, 81)
A partir de esta máscara se calcula el centroide de la región de interés, lo que permite medir el error visual entre el centro de la imagen y el centro del camino detectado.
Control PID
El vehículo se controla con un controlador PID:
steer = Kp * e + Ki * ∫e·dt + Kd * (de/dt)
El error representa la desviación horizontal entre el centro de la cámara y el camino.
El controlador ajusta la dirección (steer
) y la aceleración (throttle
) para mantener el vehículo alineado con la vía.
Fragmento:
error = visual_error
integral += error
derivative = error - previous_error
steer_cmd = Kp * error + Ki * integral + Kd * derivative
steer_cmd = np.clip(steer_cmd, -1.0, 1.0)
previous_error = error
Además, se ajusta la velocidad en función del giro:
v_max, v_min = 8.0, 1.0
throttle_cmd = max(v_max - 2.0 * abs(steer_cmd), v_min)
El modo de conducción todavía puede alternarse entre manual y automático con la tecla R
Resultado
Creación del mapa del pinar
Para probar el seguimiento, se generó un mapa sencillo de un Pinar con un camino cerrado, con poca densidad del bosque para no tener tanto coste computacional a la hora de realizar la simulación.
Resultado
