Autoware.auto的安装、配置与测试(Docker版) 您所在的位置:网站首页 docker源码编译 Autoware.auto的安装、配置与测试(Docker版)

Autoware.auto的安装、配置与测试(Docker版)

2023-03-09 06:00| 来源: 网络整理| 查看: 265

Autoware.auto的安装、配置与测试(Docker版) 古月 分类:自动驾驶 发布时间 2022.04.14阅读数 6145 评论数 8

最近心血来潮,准备研究下Autoware,主要是基于ROS2的Autoware.auto,这里记录下第一波折腾的笔记 —— 安装、配置、测试。

首先说明我使用的软件环境:系统:Ubuntu 20.04ROS:ROS2 Foxy

接下来就开始啦。

一、安装Docker

如果之前安装过docker,需要先删除旧版本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

现在就可以安装docker引擎了:

$ sudo apt-get update $ sudo apt-get install docker-ce docker-ce-cli containerd.io

验证docker是否安装成功:

$ sudo docker run hello-world

此时可能出现如下提示:Unable to find image ‘hello-world:latest’locally,并且等待一段时间后,也无法继续运行镜像。

这是因为docker在本地没有找到hello-world镜像,也没有办法从docker仓库中拉取镜像,这是因为docker服务器在国外,网络原因导致拉取失败,此时我们可以为docker设置国内阿里云的镜像加速器,创建一个配置文件/etc/docker/daemon.json,添加如下内容:

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

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

$ systemctl restart docker

再次运行Hello world的镜像:

$ sudo docker run hello-world

一开始还是会提示本地没有,不过稍等片刻,就可以拉取成功了,运行画面如下,说明docker安装成功啦:

接下来将当前用户加入docker用户组:

# 将当前用户加入docker用户组,$USER改为自己的用户名 $ sudo usermod -aG docker $USER # 重启电脑或者重启docker服务 $ sudo systemctl daemon-reload $ sudo systemctl restart docker 二、Autoware.auto容器安装

继续安装Autoware.auto,需要用到一个官方提供的配置工具——ADE。

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 --version 4.3.0 $ sudo mv ade /usr/local/bin $ which ade /usr/local/bin/ade

此时就说明ADE安装成功啦。

继续安装Autoware容器:

$ touch .adehome $ git clone --recurse-submodules https://gitlab.com/autowarefoundation/autoware.auto/AutowareAuto.git $ cd AutowareAuto/ $ sudo ade start

接下来的过程会拉取镜像,消耗的时间稍长,耐心等待一下。

过程中可能会出现如下错误,提示:user ‘root’already exists:

此时可以按照以下指令解决:

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

很快就可以进入镜像啦:

继续切换目录,下载Autoware.auto的一些代码:

ade$ cd AutowareAuto ade$ vcs import < autoware.auto.$ROS_DISTRO.repos

此时大概率会出现github连接失败的报错:

这是因为网络连接不成功,可以更换网络多试试,我大概试了5次,才成功。

接下来就是编译代码了,使用ROS2的编译指令:

ade$ colcon build

编译的时间较长,将近1个小时,耐心等待了。。。

继续编译测试案例,也需要一个多小时,继续耐心等待。。。

ade$ colcon test

想要查看测试用例结果的话,可以这样:

ade$ colcon test-result

我这里有几个测试用例运行失败了,先不管了。

三、运行测试案例

这里使用一个车道线检测的案例作为测试,需要用到一个测试的视频。

测试用例与视频准备:

$ cd ~/adehome/AutowareAuto/ $ ade start $ ade enter $ git clone https://gitee.com/knowmefly/camera-hands-on-ws.git

下载视频文件:

链接:https://pan.baidu.com/s/1-PLjNF3fjMkpzF8o7ZnKdw 提取码:jjbw

然后编译这个例程:

$ ade enter $ cd camera-hands-on-ws/ $ colcon build

很快就可以编译完成:

编译完成后就可以运行例程啦:

打开第一个终端,运行视频加载节点:

$ ade enter $ cd camera-hands-on-ws/ $ source install/setup.bash $ ros2 run lane_detection_data_loader lane_detection_data_loader_node

打开第二个终端,运行图像处理节点:

$ ade enter $ cd camera-hands-on-ws/ $ source install/setup.bash $ ros2 run lane_detection_projection lane_detection_projection_node

打开第三个节点。运行可视化节点:

$ ade enter $ cd camera-hands-on-ws/ $ source install/setup.bash $ ros2 run lane_detection_visualization lane_detection_visualization_node

打开第四个终端,运行Rviz可视化显示:

$ ade enter $ rviz2

在Rviz2中,添加必要的显示内容,就可以看到车道线检测的效果啦

好啦,至此我们就完成了Autoware.auto docker版本的安装、配置和测试,步骤不少,中间编译的时间也很长,中间出现什么问题基本都可以Google找到答案。

以上所有操作均参考自以下链接:https://docs.docker.com/engine/install/ubuntu/https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/docker-installationhttps://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Generic-x86-Dockerhttps://blog.csdn.net/baiyefenglin/article/details/122921360https://blog.csdn.net/jiluonian/article/details/120267789 https://blog.csdn.net/leoFY123/article/details/122184651

Docker无人驾驶自动驾驶Autoware

原创文章作者:古月。如若转载,请注明出处:古月居 http://admin.guyuehome.com/37552

打赏 0

点赞 2

收藏 3

分享

微信 微博 QQ 图片 上一篇:ROS2入门教程——31. 在Gazebo仿真环境中实现自主导航 下一篇:Autoware.ai的安装、配置与测试(Docker & 源码编译)


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有