当前位置:   article > 正文

Autoware.auto和LGSVL联合仿真(AVP)

autoware.auto

Autoware.auto和LGSVL联合仿真(AVP)

1 Autoware.auto ADE安装教程

1.1相关程序版本说明

ubuntu 版本:20.04 ADE:4.4.0

Autoware.auto 版本(基于 ROS2):autoware.auto foxy, ros foxy

官方安装教程

Installation with ADE

1.2 Docker 安装

以下操作,请确定自己已经换源了,不然下载很慢的,Ubuntu 系统中,软件源文件地址为:/etc/apt/sources.list

1、备份原来的源,将以前的源备份一下,以防以后可以用的。

$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak

2、打开 /etc/apt/sources.list 文件,在前面添加如下条目,并保存。

$ sudo vim /etc/apt/sources.list(可将 vim 更换为自己熟悉的编辑器)

添加阿里源

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 

# deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 

# deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 

# deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 

# deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 

# deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse 

# deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

3、更新

更新源 $ sudo apt-get update

如出现依赖问题,解决方式如下:$ sudo apt-get -f install

更新软件:$ sudo apt-get upgrade

4、docker安装

可参考Docker官方安装教程:Install Docker Engine on Ubuntu | Docker Documentation

或者参考菜鸟教程:Ubuntu Docker 安装 | 菜鸟教程

// 卸载旧版本 docker

#Uninstall old versions 

$ sudo apt-get remove docker docker-engine docker.io containerd runc

#Uninstall Docker Engine 

$ sudo apt-get purge docker-ce docker-ce-cli containerd.io

$ sudo rm -rf /var/lib/docker $ sudo rm -rf /var/lib/containerd

// 使用 docker repository 安装 docker engine

#step1:在新主机上首次安装Docker Engine之前,需要设置Docker存储库。之后,您可以从存储库安装和更新Docker #更新apt软件包索引并安装软件包,以允许apt通过HTTPS使用存储库 

$ sudo apt-get install \ ca-certificates \ curl \ gnupg \ lsb-release 

#Step2:Add Docker’s official GPG key: 

$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg 

#Step3:Use the following command to set up the stable repository. To add the nightly or test repository, add the word nightly or test (or both) after the word stable in the commands below. Learn about nightly and test channels. 

$ echo \ "deb [arch=amd64 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 

#Step4:Install Docker Engine 

$ sudo apt-get update 

$ sudo apt-get install docker-ce docker-ce-cli containerd.io //如果没有指定版本,默认安装最高版本

#Step5:Verify that Docker Engine is installed correctly by running the hello-world image. 

$ sudo docker run hello-world

Hello from Docker!

This message shows that your installation appears to be working correctly.

Manage Docker as a non-root user

# 创建docker用户组 

$ sudo groupadd docker

#将当前用户加入docker用户组 

$ sudo usermod -aG docker $USER

#Log out and log back in so that your group membership is re-evaluated. 

$ newgrp docker

#Verify that you can run docker commands without sudo. 

$ docker run hello-world

$ sudo chmod 666 /var/run/docker.sock

#重启电脑或者重启docker服务 

$ sudo systemctl daemon-reload

$ sudo systemctl restart docker

$ sudo docker login registry.gitlab.com

# Use token from Gitlab

我们可以为docker设置国内阿里云的镜像加速器,创建一个配置文件/etc/docker/daemon.json,添加如下内容:

{

"registry-mirrors": ["https://alzgoonw.mirror.aliyuncs.com"]

}
然后保存并退出,并且重启docker服务

$ systemctl restart docker

1.3 Autoware.auto 容器安装

1、程序说明

 

2、ADE 安装

ADE 是模块化的 Docker-based 工具,它确保所有的开发者构建项目时有一个共同的、一致的开发环境官网安装文档:Installation — ADE 4.4.0dev documentation

#install it in “/usr/local/bin” PATH 

$ cd /usr/local/bin

$ sudo wget https://gitlab.com/ApexAI/ade-cli/-/jobs/1859684348/artifacts/raw/dist/ade+x86_64

$ sudo mv ade+x86_64 ade

$ sudo chmod +x ade

$ which ade /path/to/ade

# 查看ade版本号 

$ ade --version <version>

# Update ade 

$ sudo ./ade update-cli #这个地方需要一段时间 

Newer version available:

4.4.0 

4.3.0 

4.2.0 

Do you want to update to version 4.4.0 [y/N]: y ​

<!-- '注意:升级ade版本可能会报错 “PermissionError: [Errno 13] Permission denied: '/usr/local/bin/ade'”,切换root用户再次执行,问题解决'->

3、 Autoware.auto 容器安装

官网安装文档:

Installation with ADE

使用 ADE 安装 Autoware.auto 环境,ROS2 和 Autoware.auto 已经预编译,安装了二进制版本,默认安装在 /opt 目录下

$ mkdir -p ~/adehome 

$ cd ~/adehome 

$ touch .adehome 

$ git clone https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git 

'注意:不要使用官网视频课程里面的递归循环安装,编译会报错' 'git clone --recurse-submodules https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git' 

$ cd AutowareAuto 

#拉取一些其他分支到master 

$ vcs import < autoware.auto.$ROS_DISTRO.repos 

#切换到发布分支,如果不切换,默认使用master 分支代码,可能包含一些正在开发的功能,建议切换稳定发布版本 

$ git checkout tags/1.0.0 -b release-1.0.0 

#可设置共享环境变量 

$ cd ~ $ mv ~/.bashrc ~/adehome/.bashrc 

$ ln -s ~/adehome/.bashrc $ cd ~/adehome/AutowareAuto 

#其实,有很多预先配置好的ADE环境供我们选择,官网提供了三个ADE配置文件:AMD64/ARM64/AMD64+LGSVL 

$ ls -l .aderc* 

lrwxrwxrwx 1 wtcl wtcl 17 12 23 12:14 .aderc -> .aderc-amd64-foxy 

-rw-rw-r-- 1 wtcl wtcl 407 12 23 12:25 .aderc-amd64-dashing 

-rw-rw-r-- 1 wtcl wtcl 499 12 23 12:25 .aderc-amd64-dashing-lgsvl 

-rw-rw-r-- 1 wtcl wtcl 401 12 23 12:25 .aderc-amd64-foxy 

-rw-rw-r-- 1 wtcl wtcl 490 12 23 12:25 .aderc-amd64-foxy-lgsvl 

lrwxrwxrwx 1 wtcl wtcl 17 12 23 12:14 .aderc-arm64 -> .aderc-arm64-foxy 

-rw-rw-r-- 1 wtcl wtcl 407 12 23 12:25 .aderc-arm64-dashing 

-rw-rw-r-- 1 wtcl wtcl 401 12 23 12:25 .aderc-arm64-foxy 

lrwxrwxrwx 1 wtcl wtcl 23 12 23 12:14 .aderc-lgsvl -> .aderc-amd64-foxy-lgsvl 

#可以看到有好几种可选的环境,其中.aderc-lgsvl对应的环境中包含LGSVL模拟器。然后,可以通过如下命令,切换并进入相应的ADE环境:

#二选一安装,这个地方安装有点慢,需要等待一会,ade --rc 命令可以加载并启动相关的镜像容器 

$ ade --rc .aderc-amd64-foxy start --update --enter 

<!-- '注意:启动ade报错

“Starting ade with the following images:

ade-foxy | ec7293d289ad | master | registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/ade-foxy:master

binary-foxy | 9ffc6c658b7a | master | registry.gitlab.com/autowarefoundation/autoware.auto/autowareauto/amd64/binary-foxy:master ade_registry.gitlab.com_autowarefoundation_autoware.auto_autowareauto_amd64_binary-foxy_master

xhost: unable to open display "localhost:10.0"

WARNING: Could not find xhost, you won't be able to launch X applications" 

解决办法:设置本地显示命令-- $ export DISPLAY=localhost:10.0 $ xhost +> 

#What is where inside ADE? 

ade$ls /opt 

AutowareAuto # image: binary-foxy:master 

lgsvl # image: ade-lgsvl/foxy:2020.06 

ros # image: ade-foxy:master

ade 安装过程中可能需要访问 gitlab 的令牌,需要登录 gitlab 申请

2 Autoware.auto 源码安装教程

2.1相关程序版本说明

ubuntu 版本:20.04

Autoware.auto 版本(基于 ROS2):autoware.auto foxy, ros foxy

官方安装教程:

Installation w/o ADE

建议直接在ADE环境中进行源码安装,因为ADE环境中的各种配置已经安装完成,若在ADE外进行安装请参考官方安装文档,ADE中源码安装步骤如下:。

cd ~/adehome/AutowareAuto

ade start

ade enter

cd AutowareAuto

vcs import < autoware.auto.$ROS_DISTRO.repos

rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release

3 LGSVL模拟器配置

LGSVL模拟器的安装可以参考官网地址:Run a simulation - SVL Simulator 

3.1. 启动模拟器

cd ~/ADAS/lgsvl/svlsimulator-linux64-2021.3

./simulator

其中~/ADAS/lgsvl/为你的lgsvl模拟器的下载路径,可以直接下载二进制文件

点击OPEN BROWSER到网页端

3.2 模拟器配置

1、添加Lexus2016RXHybrid车辆

进入Store标签下的Vehicles,搜索AWLexus2016RXHybrid,然后点击+号,增加到自己的Libray中

2、添加AutonomouStuff 地图

进入进入Store标签下的Map,搜索AutonomouStuff ,然后点击+号,增加到自己的Libray中

3、Simulation创建

在 Library下的Vehicles选项卡中,查找AWLexus2016RXHybrid。如果没有,请参阅第1步添加。

(1)确保 Autoware.Auto 传感器配置具有ROS2桥接并添加了所有传感器。

(2)单击左侧库下的车辆,然后Lexus2016RXHybrid单击Autoware.Auto传感器配置。

(3)如果您可以在传感器名称旁边看到我标记,请单击Add to Library button以将传感器插件添加到库中。

切换到Simulation选项卡并单击Add new按钮:

(1)输入模拟名称,然后单击下一步。

(2)在运行时模板中选择Random Traffic。

(3)从下拉菜单中选择AutonomouStuff 地图。如果没有可用的,请按照第2步获取地图。

(4)AWLexus2016RXHybrid在车辆的下拉菜单中选择。

(5)Autoware.Auto在 Sensor Configuration 中选择,然后单击 Next。

(6)在 Autopilot 中选择Autoware.Auto并在 Bridge IP 框中输入网桥地址(默认值:)localhost:9090,然后单击 Next。单击发布。

按下Run Simulation按钮,等待下载相关依赖文件,最终启动执行,如下图。

4 Autoware.auto和LGSVL联合模拟

4.1 启动说明

主要有两种启动方式,源码方式和二进制方式,都可以执行案例。由于我的源码也在ADE中编译所以也是需要进入ADE环境。这里可以根据自己的源码编译环境,如果未在ADE中编译,可以不用进入ADE环境。

1、In the ade container方式运行,直接运行ADE环境中已经安装好的二进制程序,路径为:/opt/AutowareAuto/ ;

2、 In the source源码方式运行,运行源码中的实例,路径为: ~/AutowareAuto

4.2 AVP模拟运行

1、启动并且进入ade

cd ~/adehome/AutowareAuto

ade start

ade enter

2、启动Lgsvl 桥

# In the ade container

source /opt/AutowareAuto/setup.bash

lgsvl_bridge

# In the source

source ~/AutowareAuto/install/setup.bash

lgsvl_bridge

3、运行Avp 执行文件

# In the ade container

source /opt/AutowareAuto/setup.bash

ros2 launch /opt/AutowareAuto/src/launch/autoware_demos/launch/avp_sim.launch.py

# In the source

source ~/AutowareAuto/install/setup.bash

ros2 launch ~/AutowareAuto/install/autoware_demos/share/autoware_demos/launch/avp_sim.launch.py

4、运行 Rviz2

# In the ade container

source /opt/AutowareAuto/setup.bash

rviz2 -d /opt/AutowareAuto/share/autoware_auto_launch/config/avp.rviz

# In the source

source ~/AutowareAuto/install/setup.bash

rviz2 -d ~/AutowareAuto/install/autoware_auto_launch/share/autoware_auto_launch/config/avp.rviz

rviz2 会自动载入AVP地图

5、运行svl模拟器

cd ~/ADAS/lgsvl/svlsimulator-linux64-2021.3

./simulator

选择自己建立的simulator实例并且执运行。

注意;感知障碍物入侵道路的问题

车辆跑的时候,会出现识别到的点云boundingbox突然变的很大,甚至跑到路上挡住车:

原因是仿真中的识别是用的简单的欧几里德聚类方法,有时会有很多云被识别为一类,在生成boundingbox难免体积会变的不合理。这里对参数进行修改,问题得到解决:

参数文件位置

~/AutowareAuto/src/autoware_auto_launch/param/euclidean_cluster_.param.yaml

其中两个参数改为:

min_cluster_threshold_m : 0.2

max_cluster_threshold_m : 0.8

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/220937
推荐阅读
  

闽ICP备14008679号