2023年自动驾驶AI挑战赛模拟大赛的环境设置备忘录(GPU环境)

搭建自动驾驶AI挑战2023模拟大赛的环境配置备忘录(GPU环境)。

在构建环境时,我将留下个人备忘录。如果有错误、遗漏或发现不完善之处,请您留下评论,我将非常感激。

我們基本上按照以下公式的步驟進行準備。

 

目前最大的不同之处在于,本次大会从一开始就包含了上届大会(2023年积分大会)的环境。

個人電腦環境

操作系统:Ubuntu 22.04 LTS
处理器:第13代英特尔(R) Core(TM) i7-13700F (16核心)
图形处理器:GeForce RTX 3060 12GB
内存:32GB
存储空间:1.0TB

将自动驾驶AI挑战2023年综合赛环境安装到电脑中。

 

环境设置

NVIDIA驱动程序安装

由於已經安裝過,因此跳過此步驟。這裡是之前安裝時的備註。

 

$ nvidia-smi
Sun Dec 10 17:38:58 2023       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.147.05   Driver Version: 525.147.05   CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   38C    P8    15W / 170W |    186MiB / 12288MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2134      G   /usr/lib/xorg/Xorg                 64MiB |
|    0   N/A  N/A      2289      G   ...ome-remote-desktop-daemon        2MiB |
|    0   N/A  N/A      2327      G   /usr/bin/gnome-shell              117MiB |
+-----------------------------------------------------------------------------+

课程的准备

创建 aichallenge2023-racing/docker/aichallenge 目录。

$ mkdir -p ~/aichallenge2023-racing/docker/aichallenge

※ 前文で述べたように、任意のディレクトリ名で問題ありません。ただし、aichallenge2023-racingというディレクトリが存在すると、後でgit lfs clone https://github.com/AutomotiveAIChallenge/aichallenge2023-racingを行う際に邪魔になる可能性があります。後ほど、このクローンしたディレクトリにGoogleDriveからダウンロードしたAWSIMをコピーします。

从GoogleDrive下载最新的AWSIM_GPU.zip文件,并将比赛用的AWSIM执行文件解压到aichallenge2023-racing/docker/aichallenge文件夹中。

image.png

将权限更改为图中所示。

image.png

当双击文件’AWSIM_x86_64’时,出现了如下所示的屏幕。

image.png
image.png

准备Docker的步骤

安装docker,rocker和git lfs。

进行以下安装。由于2023年的集成大会环境已经安装了,所以跳过此步骤。

我们将开始检查已安装的软件包。

    docker
$ docker --version
Docker version 24.0.4, build 3713ee1
$ sudo docker run hello-world

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/
$ docker ps
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied

这里的权限被拒绝了。看起来

Docker命令默认情况下不能以非root权限执行。

根据所述情况,将授予权限。
相关参考:在尝试连接到Docker守护程序套接字时,出现权限被拒绝的问题,可以采取以下解决方法。

$ sudo chmod 666 /var/run/docker.sock
$ docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

每次授予权限都很麻烦,所以希望在启动时执行。
参考:我希望在Linux启动时执行某个命令,所以进行了调查。

    rocker:Dockerコンテナ内のRviz、rqtなどのGUIを使用するために用います。
$ sudo apt list --installed | grep rocker
python3-rocker/jammy,now 0.2.12-100 all [インストール済み]
    git lfs
$ sudo apt list --installed | grep git-lfs
git-lfs/jammy,now 3.3.0 amd64 [インストール済み、3.4.0 にアップグレード可]

准备和启动Docker镜像 – 准备Autoware

获取Docker镜像 Docker

$ docker pull ghcr.io/automotiveaichallenge/aichallenge2023-racing/autoware-universe-no-cuda

在用户组中将我的账户添加进去,并通过以下命令确认docker已被添加到组中。

$ sudo usermod -aG docker $USER
$ groups $USER
[USER]: [USER] adm cdrom sudo ... docker

我会再次登录。
请确认在docker images中能看到以下显示。

$ docker images
REPOSITORY                                                                       TAG                           IMAGE ID       CREATED         SIZE
ghcr.io/automotiveaichallenge/aichallenge2023-racing/autoware-universe-no-cuda   latest                        b7fdf9678bc2   2 weeks ago     7.32GB
~~~

2. 大会需要下载数据。

$ git lfs clone https://github.com/AutomotiveAIChallenge/aichallenge2023-racing
WARNING: `git lfs clone` is deprecated and will not be updated
          with new flags from `git clone`

`git clone` has been updated in upstream Git to have comparable
speeds to `git lfs clone`.
fatal: destination path 'aichallenge2023-racing' already exists and is not an empty directory.
Error(s) during clone:
`git clone` failed: exit status 128

因为先前为准备课程而创建的aichallenge2023-racing文件夹似乎有些麻烦,我将先更改其名称,然后重新执行。

$ mv aichallenge2023-racing aichallenge2023-racing-temp
$ git lfs clone https://github.com/AutomotiveAIChallenge/aichallenge2023-racing

也许本来应该在之后才准备好课程。

3. 大会使用Docker镜像构建。

$ cd aichallenge2023-racing/docker/train

4.大会中启动docker容器。

由于使用GPU环境,将执行以下命令。

$ bash run_container.sh

在Docker容器中启动AWSIM。

在引入Docker镜像之后,将比赛用的AWSIM执行文件复制到aichallenge2023-racing/docker/aichallenge目录下。这是先前更改名称的目录。
它会被放置在aichallenge2023-racing/docker/aichallenge/AWSIM/AWSIM.x86_64。

$ cp -r aichallenge2023-racing-temp/docker/aichallenge/AWSIM aichallenge2023-racing/docker/aichallenge/

使用docker image ls命令确认以下镜像是否存在。

$ docker image ls
REPOSITORY                                                                       TAG                           IMAGE ID       CREATED          SIZE
aichallenge-train                                                                latest                        efdf5dc98b88   10 minutes ago   7.38GB

启动用于GPU环境的脚本。

$ cd ./aichallenge2023-racing/docker/train
$ bash run_container.sh

在容器中执行以下命令,确认AWSIM已经启动。

$ cd /aichallenge
$ bash run_awsim.sh 
image.png

请执行以下命令以处理在AWSIM上发布和订阅的主题消息,这些消息在/aichallenge/aichallenge_ws/src/sim-msgs中定义。

因此,我确认了构建能够通过。

$ cd /aichallenge
$ bash build_autoware.sh
$ source /aichallenge/aichallenge_ws/install/setup.bash 

地图数据OSM的配置WIP

在本次会议中,似乎可以修改lanelet2_map文件。上次的集成大会中,有些团队考虑修改lenelet,而这次可能也会成为改进的一个关键点。

文件结构如下所示:(提交用目录中包含有map)

aichallenge2023-racing
└ docker
 └ aichallenge
  └ AWSIM
  └ aichallenge_ws/src/aichallenge_submit/aichallenge_submit_launch
     └map
      └lanelet2_map.osm

对Autoware进行操作确认

基本上,按照以下步骤进行执行。

启动AWSIM

$ cd ./aichallenge2023-racing/docker/train
$ bash run_container.sh

在容器中启动AWSIM。

$ cd /aichallenge
$ bash run_awsim.sh 

2. 启动Autoware

$ docker exec -it [] bash

1. 在摇滚乐集装箱内
2. 在摇滚音乐的集装箱里
3. 在摇滚盒子内部
4. 在摇滚容器中

$ cd /aichallenge
$ bash build_autoware.sh # 必要に応じて
$ bash run_autoware.sh

确认显示以下这样的屏幕 (Rviz2),并且车辆开始自动驾驶。

image.png

以下是在默认参数(截止到2023年12月10日)下进行行驶的视频。

 

最后

如果有错误或不足之处,请您指出。这是我个人设置环境的备忘录,希望能对你有所帮助。

我希望能够在接下来的时候进行CPU环境的搭建。毕竟,能够在没有GPU的情况下正常运行也非常有吸引力。

bannerAds