Introducción a gym-carla
gym-carla es una interfaz diseñada para integrar el simulador de vehículos autónomos CARLA con el frmaework OpenAI Gym. Esta entegración facilita el desarrollo y entrenamiento de algoritmos de aprendizaje por refuerzo (RL) en un entorno de simulación de conducción realista. Construido principalmente en Python y bajo la licencia MIT, el proyecto está optimizado para funcionar en sistemas operativos Ubuntu.
Características Principales
- Proporciona diversas modalidades de observación, incluyendo datos de cámaras frontales, nubes de puntos con vista de pájaro y representaciones semánticas.
- Ofrece un vector de estado detallado con métricas cruciales como la distancia del vehículo al centro del carril objetivo y su velocidad actual.
- Permite la personalización de las funciones de recompensa y las condiciones de terminación del episodio, adaptándose a estrategias de entrenamiento específicas.
Guía de Inicio Rápido y Abordaje de Desafíos Comunes
Desafío 1: Configuración del Entorno y Dependencias
Descripción del problema: Inconvenientes durante la instalación relacionados con dependencias o versiones de software.
Solución:
- Cree un entorno virtual de Conda para aislar el proyecto y asegurar la compatibilidad con Python 3.6: ```
conda create --name carla_rl_env python=3.6
conda activate carla_rl_env
- Instale las dependencias del proyecto utilizando pip, a partir del archivo
requirements.txt: ``` pip install -r requirements.txt - Descargue la versión de CARLA compatible (por ejemplo, la 0.9.6) y configure la variable de entorno
PYTHONPATHpara incluir el acceso a la API de Python de CARLA: ``` git clone https://github.com/carla-simulator/carla.git export PYTHONPATH="$PYTHONPATH:/ruta/a/tu/CarpetaCARLA/PythonAPI/carla/dist/carla-0.9.6-py3.6-linux-x86_64.egg"
Desafío 2: Inicio del Servidor CARLA
Descripción del problema: Fallo al iniciar el servidor de CARLA o problemas de conexión desde gym-carla.
Solución:
- Navegue al directorio raíz de CARLA y ejecute el servidor, especificando un puerto de comunicación adecuado. Esto asegura que gym-carla pueda establecer la conexión: ```
./CarlaUE4.sh -carla-port=2000 -windowed
- Para antornos sin interfaz gráfica (headless), utilice la siguiente configuración: ```
DISPLAY= ./CarlaUE4.sh -opengl -carla-port=2000
Desafío 3: Personalización de Recompensas y Criterios de Terminación
Descripción del problema: Necesidad de ajustar la función de recompensa o las condiciones de finalización del episodio.
Solución:
- Edite el archivo
carla_env.pydentro de la estructura del proyectogym-carla.- Para modificar las recompensas: Localice la función
_get_rewardy adapte su lógica para reflejar los objetivos de entrenamiento deseados. - Para alterar las condiciones de terminación: Modifique la implementación de la función
_terminal. Por ejemplo, puede incorporar factores como la proximidad a un destino final o la duración del episodio.
- Para modificar las recompensas: Localice la función
Es recomendable utilizar el script test.py del proyecto para validar que los cambios realizados en las funciones de recompensa o terminación operan según lo previsto.