【Autoware.ai】Autoware.ai配置和demo运行教程

您所在的位置:网站首页 exagear运行教程 【Autoware.ai】Autoware.ai配置和demo运行教程

【Autoware.ai】Autoware.ai配置和demo运行教程

2023-03-16 01:26| 来源: 网络整理| 查看: 265

目录 Autoware.ai配置和demo运行教程配置环境Docker BuildOld Docker CleanupDocker CE InstallationRun autoware docker without nvidia-driverDocker运行后不想每次都被自动删除 Source Build 官方Demo运行ROSBAG Demo下载数据在docker中运行Run Autoware 一些Error的解决

Autoware.ai配置和demo运行教程

之前看了一些关于Autoware的内容,由于工作的需要,暂时不能切换到Autoware.Auto的新版本,依然在用Autoware.ai的旧版本。Autoware.ai是基于ROS1的,目前官方已经于2022年底停止维护。Autoware.Auto是基于ROS2的,依然在不断更新中。新来的小伙伴建议用Autoware.Auto。

这个系列的文章计划把自己在学习和运用的过程中遇到的一些问题和方法做一个记录。

配置 环境

首先你需要一台ubuntu的电脑,官方说需要18.04LTS,但是我在20.04LTS和22.04LTS上都运行过,目前都还是可以的,也可能是因为我一直用docker。 Autoware提供两种配置方式,一种是source build,一种是docker build。 理论上说,需要nvidia支持,之前在有nvidia支持的电脑上也运行起来了,但是后面在没有nvidia的机器上也可以运行起来,不过有些功能会受限。

需要说明的是,Autoware建议CUDA支持,如果没有CUDA支持,受限的功能在这里有列出: https://autowarefoundation.github.io/autoware-documentation/main/how-to-guides/running-autoware-without-cuda/

Docker Build

首先,你需要按照Docker官方的教程,安装docker https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/docker-installation

不想看的话直接看这里

Old Docker Cleanup

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

Docker CE Installation $ sudo apt-get update $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - $ sudo apt-key fingerprint 0EBFCD88 pub 4096R/0EBFCD88 2017-02-22 Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 uid Docker Release (CE deb) sub 4096R/F273FCD8 2017-02-22 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" $ sudo apt-get update $ sudo apt-get install docker-ce $ sudo docker run hello-world

然后根据autoware的官方的教程链接,配置: https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Generic-x86-Docker 不想看的话还是看这里

$ git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git $ cd docker/generic $ ./run.sh

在执行./run.sh时,通常会要求root权限,如果不想每次运行docker都要用root权限,可以用下面的方法配置: https://docs.docker.com/engine/install/linux-postinstall/ 依然是不想仔细看的话,直接看这里

$ sudo groupadd docker $ sudo usermod -aG docker $USER $ newgrp docker $ docker run hello-world Run autoware docker without nvidia-driver

由于我的新电脑没有nvidia的graphic cards,只有Intel的,所以在运行run.sh的时候,可以把文件里的CUDA选项改为off

Docker运行后不想每次都被自动删除

run.sh 的脚本,默认是会在每次运行结束,退出docker container之后,自动kill掉之前用过的docker container的,这样是为了不占据太多存储,因为每次运行run.sh,都会创建一个新的docker container,但是我们常常会在docker container中做一些设置,配置等等。要想不被删除,可以在run.sh文件中,翻到最后面,找到docker run -it后面的一个,--rm,这个是每次exit后删除的意思。

Source Build

我没有试过source build,贴一个官方的链接,有需要的同学可以自行实践 https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build?version_id=a33764ab4b6e7a1798c9f79465c74d565e92904b

官方Demo运行 ROSBAG Demo

之前搜了一些教程,发现那些数据包都不能下载,还是官方教程靠谱。链接如下 https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/ROSBAG-Demo 不想看的直接看这里

下载数据 $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz # or $ wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.bag2.tar.gz 在docker中运行 $ cd ~ $ mkdir .autoware $ cd .autoware $ cp ~/shared_dir/sample_moriyama_* . $ tar zxfv sample_moriyama_150324.tar.gz $ tar zxfv sample_moriyama_data.tar.gz Run Autoware $ cd autoware.ai $ source install/setup.bash $ roslaunch runtime_manager runtime_manager.launch

按照教程里导入文件,运行即可

在runtime_manager的Simulation Tab页,导入.autoware/sample_moriyama_150324.bag 点击Play按钮,然后点Pause 在runtime_manager的Quick Start Tab页,导入/Autoware/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo目录下的对应配置文件 继续播放,打开rviz,可以看到内容

附一个官方的视频详细教程 https://www.youtube.com/watch?v=OWwtr_71cqI&ab_channel=TIERIV

------------分割线 很神奇的一点就是,按照官方的这个教程,我运行起来都有问题,不显示points map之类的,或者其他问题。不管是有nvidia支持的机器还是没有的机器,试过都不行。然后重新找了这个教程,操作就成功了,而且不可以加载quick start页的那些文件,否则好像是会有冲突。 https://www.cxyzjd.com/article/weixin_42441790/113784687

一些Error的解决

运行起来后,出现几个问题

Vehicle Model 报错,错误内容 No transform from [base_link] to [world]

检查一下当前tf的转换关系: rosrun tf view_frames 输出frames.pdf文件 查看该文件即可知道当前的所有tf转换关系,如果箭头从A指向B,表示A是B的parent。

Points Raw报错,错误内容 For frame [velodyne]: No transform to fixed frame [world]. TF error: [Lookup would require extrapolation into the past. Requested time 1427157892.272318976 but the earliest data is at time 1678869922.342216365, when looking up transform from frame [velodyne] to frame [world]] 勾选Computing页的nmea2tfpose和ndt_mapping后解决

运行Simulation,车没有如期望的那样跑起来



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3