Autoware.auto的安装、配置与测试(Docker版) | 您所在的位置:网站首页 › docker源码编译 › Autoware.auto的安装、配置与测试(Docker版) |
Autoware.auto的安装、配置与测试(Docker版)
![]() 最近心血来潮,准备研究下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 实验室设备网 版权所有 |