2 minute read

Construcción de la Infraestructura de Trabajo

Como fase inicial del doctorado, se planteó el desarrollo de un auto autónomo en un entorno simulado mediante la técnica “end to end learning”, utilizando la arquitectura de red PilotNet. Para llevar a cabo este proyecto, se emplearon el Simulador CARLA 0.9.14 y el middleware ROS 2 Humble, conectados mediante el paquete ROS_BRIDGE y la API de Python para el simulador.

Esta implementación se realizó utilizando las siguientes herramientas y especificaciones:

Especificaciones Características:

  • Sistema operativo: Ubuntu 22.04 LTS
  • Tarjeta gráfica: NVIDIA GeForce RTX 4060
  • Memoria RAM: 16 GB
  • Procesador: Intel i7-13700H (20) @ 4.800GHz

Simulador CARLA:

Se optó por utilizar una imagen contenerizada Docker para la versión 0.9.14 de CARLA. Esta decisión se tomó con el objetivo de prevenir posibles incompatibilidades entre las versiones de Python utilizadas en las diversas herramientas, considerando que el simulador es compatible con la versión 3.7 y ROS 2 con la versión 3.10 de Python.

API Python:

El simulador CARLA ofrece una API que facilita el control y la obtención de información durante la simulación. En este caso, se instaló la versión de Python 3.10 de la API, ya que es la versión compatible con el sistema operativo y el middleware ROS 2 utilizados.

Este enfoque técnico y las decisiones de implementación buscan garantizar una integración eficiente y libre de conflictos entre las diversas herramientas involucradas en el proyecto.

ROS 2 / ros_bridge

Este paquete de ROS facilita la comunicación bidireccional entre ROS y CARLA. La información proveniente del servidor CARLA se traduce en tópicos ROS, y a su vez, los mensajes intercambiados entre nodos ROS se convierten en comandos ROS.

Prueba realizadas

Comandos utilizados:

  • Lanzamiento del Contenedor Docker con la Imagen CARLA:0.9.14:
    docker run --privileged --gpus all --net=host -e DISPLAY=$DISPLAY -e SDL_VIDEODRIVER=x11 -v /tmp/.X11-unix:/tmp/.X11-unix:rw carlasim/carla:0.9.14 /bin/bash ./CarlaUE4.sh -vulkan
    

Este comando inicia el contenedor Docker utilizando la imagen CARLA:0.9.14, con la bandera --gpus all para garantizar el correcto funcionamiento de la tarjeta gráfica. Se configuran parámetros adicionales para manejar la visualización mediante X11.

  • Lanzamiento de carla_ros_bridge para la Simulación con Piloto Automático:
    source ./install/setup.zsh
    ros2 launch carla_ros_bridge carla_ros_bridge_with_example_ego_vehicle.launch.py
    

    En un nuevo terminal, estos comandos se utilizan para ejecutar carla_ros_bridge y habilitar la simulación con piloto automático. Se realiza la configuración necesaria con el archivo de lanzamiento carla_ros_bridge_with_example_ego_vehicle.launch.py.

Estos pasos proporcionan la secuencia de comandos necesarios para configurar y lanzar la simulación CARLA con el piloto automático habilitado.

Video de prueba: