AutowareAuto 环境配置

一、系统环境

目前,AutowareAuto只支持在以下两种平台搭建:

  • amd64

    / x86_64

    (Intel/AMD)

  • arm64

    / aarch64

    / arm64v8

    (ARM v8, 64-bit)

对于ROS的支持版为为:

  • ROS2 FOXY Ubuntu20.04

  • ROS2 Dashing Ubuntu18.04

二、安装ADE

ADE简介:https://ade-cli.readthedocs.io/en/latest/

安装前说明:

docker安装方法示例(作者使用):

#方法一:
$ sudo apt-get remove docker docker-engine docker.io containerd runc
$ sudo apt-get update
$ sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
$ echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$ (lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io


#方法二:
wget http://fishros.com/install -O fishros && . fishros
#选择安装Docker

nvidia安装示例(作者使用):

1、首先查看是否安装了cuda

# 法1
cat /usr/local/cuda/version.txt
# 法2
nvcc --version
2、如果没有安装,则需要查看是否有显卡驱动,如果没有显卡驱动,可以到软件与更新 -> 附加驱动中安装驱动。
3、查看显卡驱动支持的cuda版本

nvidia-smi

如上图支持的最高版本为11.6

4、到cuda-toolkit-archive,选择需要的cuda下载

5、下载完成如下图所示

6、在~/.bashrc

文件中添加如下环境变量:


export PATH=/usr/local/cuda-11.6/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-11.6/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

7.安装cuDNN,到cudnn-archive下载和CUDA对应的版本,并按照以下步骤执行


1.Navigate to your <cudnnpath> directory containing the cuDNN tar file.
2.Unzip the cuDNN package.
$ tar -xvf cudnn-linux-x86_64-8.x.x.x_cudaX.Y-archive.tar.xz
3. Copy the following files into the CUDA toolkit directory.
$ sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
$ sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

正式安装ADE

执行如下命令


$ mkdir ~/adehome
$ cd ~/adehome
$ wget https://gitlab.com/ApexAI/ade-cli/-/jobs/1341322851/artifacts/raw/dist/ade+x86_64
$ mv ade+x86_64 ade
$ chmod +x ade
$ ./ade --version4.3.0
$ sudo mv ade /usr/local/bin
$ which ade/usr/local/bin/ade

至此,ade安装完成

三、设置ade项目路径


$ touch .adehome
$ git clone --recurse-submodules https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git
$ cd AutowareAuto/
$ sudo ade start --update --ente
#此处可以选择不同的开发环境:
#输入ls -l .aderc*

四、编译Autoware.auto

1、获取msg文件以及仿真文件代码

$ cd AutowareAuto
#vcs import内部的命令即为git clone
#.repos内部为一系列的代码网站,其中的工作为署名是哪一个分支或工作空间,这样的好处是,在代码更新的同时,可以及时更新到不同的代码
$ vcs import < autoware.auto.$ROS_DISTRO.repos
2、编译代码

colcon build   #耗时较长,第一次编译需要编译157个功能包
3、测试代码

colcon test

五、LGSVL环境配置

说明:LGSVL具有专门适配autoware.auto的Bridge,且在ade中已经搭载了lgsvl,无需格外下载lgsvl。

注:官方推荐:Lgsvl和ade应在两台主机当中运行以节省计算量

1、启动lgsvl

$ cd ~/adehome/AutowareAuto
$ ade --rc .aderc-amd64-foxy-lgsvl start --update --enter
#在此终端下
ade$ /opt/lgsvl/simulator
#此处易黑屏,原因是显卡会阻滞lgsvl的运行 需运行以下命令
ade$ sudo apt remove mesa-vulkan-drivers

成功后即可看到以下效果:

2、配置集群

此配置是将Lgsvl与你的ip地址相连接

3、创建一个仿真环境

​ 此处以官方demo为例,创建一个自动泊车的环境

3.1选择地图

3.2选择汽车

3.3增添 ROS2ForUnitySVLBridge 环境

​ 至 ROS2ForUnitySVLBridge 下载此插件

3.4 传感器配置

​ 点击刚刚拉取的车辆,点击配置传感器

​ 你可以选择使用标题为Autoware.auto的配置,也可以新增一个自己的私有配置环境。如果你选择自己配置,可将 avp-sensors.json 内容复制

3.6创建一个仿真器

​ 请跟随下图操作:

​ 3.7发布仿真器

​ 点击publish,即可在图表中看到以下场景

六、问题和解决方法

1、在执行 vcs import < autoware.auto.$ROS_DISTRO.repos 时,会出现失败的情况

原因:部分网址为github中网站,git clone 较难拉取

解决办法:


1、更换网络至手机热点,多次尝试
2、使用科学上网工具
3、打开repos文件,对每一个文件进行下载(注意所属目录)

2、sudo ade start 时出现

原因:由于显卡问题造成

解决方法:


  • - distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    - curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
    - sudo apt-get update
    - sudo apt-get install nvidia-container-toolkit
    - sudo systemctl restart docker

3、在第一次进入 ade 时,出现 user ‘root’already exists:

解决办法:


# $USER改为自己的用户名
$ sudo usermod -aG docker $USER
$ sudo chmod 666 /var/run/docker.sock
$ ade start --update --enter

4、如若有缺失的包,可优先使用以下命令


sudo apt update
rosdepc install --from-paths src --ignore-src -r -y

参考链接:https://www.guyuehome.com/37552

https://autowarefoundation.gitlab.io/autoware.auto/AutowareAuto/installation-ade.html

七、推荐添加项 ——增添swap内存

读者可以通过 htop 命令查看自己的 mem 和 swp 空间,如果二者添加的值小于30,推荐进行以下操作,不然极大可能出现编译报错的问题。


cd /usr/;mkdir swap
cd swap
dd if=/dev/zero of=swapfile bs=1G count=16   #此处16 为增加的swp内存空间
sudo mkswap swapfile
sudo swapon swapfile

#如果永久添加:
#打开
sudo gedit /etc/fstab
#在末尾添加
/usr/swap/swapfile             swap             swap   defaults       0 0

原因:

七、思考题?

​ 如何创建一个新的仿真器?