Sign inSign up

dvivanov/aido-student-image

By dvivanov

•Updated over 1 year ago

Image
0

1.2K

dvivanov/aido-student-image repository overview

⁠aido-student-image

Образ для самостоятельного запуска решений участниками ADO-2024

⁠Запуск контейнера

Для удобства запуска можно использовать следующий docker-compose файл:

# разместите в пустой директории, поместите в файл docker-compose.yaml
services:
  app:
    image: dvivanov/aido-student-image:2024
    stdin_open: true
    tty: true
    command: /bin/bash
    volumes:
      - .:/home/appuser/student
  1. Для запуска используйте команду docker compose up -d
  2. Для подключения к контейнеру используйте команду docker compose exec -it app bash
    • Благодаря использованию монтирования (volumes в docker-compose.yaml) все ваши файлы из директории, в которой вы выполнили команду запуска, доступны в /home/appuser/student - это пригодится для отладки вашего решения и получения файлов из контейнера

⁠Запуск решения

Для реализации решения задачи необходимо использовать следующий шаблон (разместите его в файле main.py в директории /home/appuser/student):

from gym_duckietown.tasks.task_solution import TaskSolution


class DefaultTaskSolution(TaskSolution):
    def __init__(self, generated_task):
        super().__init__(generated_task)

    def solve(self):
        env = self.generated_task["env"]
        # здесь необходимо разместить код решения


if __name__ == "__main__":
    # код ниже требуется для возможности запуска вашего решения в описываемом образе, при отправки решения в систему проверки данный код не требуется
    from gym_duckietown.tasks.default.task_generator import DefaultTaskGenerator

    task_generator = DefaultTaskGenerator()
    task_generator.generate_task()
    solution = DefaultTaskSolution(task_generator.generated_task)
    solution.solve()
  1. Запуск решения осуществляется с помощью команды ../start_xvfb.sh "python3 main.py" из директории /home/appuser/student
    • Скрипт ../start_xvfb.sh необходим для использования виртуального дисплея, поскольку симуляция предполагает видео-данные
  2. После запуска решения происходит инициализация симулятора и запуск вашего кода
    • Логи запуска пишутся в консоль
    • Видеозапись с данными симулятора сохраняется в файл record.mp4 (будьте внимательны - файл будет перезаписываться в случае повторных запусков)

⁠Использование карт

⁠Установка карты

При необходимости карта, используемая в задаче образа по умолчанию, может изменена.

Карты, предоставляемые вместе с образом, расположены в каталоге ~/aido-auto/gym-duckietown/gym_duckietown/maps/ - именно в нём проверяющая система ищет необходимую карту при подготовке симуляции.

Для использования другой карты в задаче DefaultTask необходимо:

  • Открыть файл vim ~/aido-auto/gym-duckietown/gym_duckietown/tasks/default/task_generator.py
  • Найти строку (№15) с содержимым map_name="loop_one_duckie", и установить вместо loop_one_duckie название нужной карты (без расширения .yaml)

При необходимости в каталоге карт может быть размещена пользовательская карта, которую так же можно использовать в задаче.

⁠Изменение стартовой позиции

Для изменения стартовой позиции, на которой появляется дакибот, необходимо в ранее упомянутом файле ~/aido-auto/gym-duckietown/gym_duckietown/tasks/default/task_generator.py изменить параметр user_tile_start (строка №18), представляющий из себя двумерную координату (позицию ячейки.)

Tag summary

Content type

Image

Digest

sha256:18627407d…

Size

1.5 GB

Last updated

over 1 year ago

docker pull dvivanov/aido-student-image:course