• 【Ubuntu18.04】Autoware.ai安装


    引言

    Autoware是世界上第一个自动驾驶all-in-one的开源软件,基于Apache2协议,在ROS机器人操作系统基础上开发而来。主要有Autoware.ai、Autoware.Auto、Autoware.Universe三个版本
    Autoware的三个版本简介
    AI版本是基于ROS1.0实现的,十分适合于自动驾驶初学者,也适合有快速验证科研需求的高校实验室,因此本文主要介绍Autoware.ai的安装。

    1 ROS安装

    参考笔者的博客即可:【ROS】Ubuntu18.04安装Ros

    2 Ubuntu18.04安装Qt5.14.2

    QT官网下载qt-opensource-linux-x64-5.14.2.run
    在这里插入图片描述
    执行如下的安装步骤:

    sudo chmod -R 777 qt-opensource-linux-x64-5.14.2.run
    sudo ./qt-opensource-linux-x64-5.14.2.run  //将Qt安装在/opt目录
    # 配置环境:Qt 安装完成后,先别打开,因为还需要安装其他工具以及库文件
    sudo apt-get install gcc g++   //安装 linux 下编程的编译器
    sudo apt-get install libqt4-dev  //不然编译时会出现错误“cannot find -lgl
    sudo apt-get install build-essential //它可以使得我们的程序知道头文件和库函数放在哪个位置
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    添加环境变量

    # 1 对profile进行修改
    sudo gedit /etc/profile
    # 2 添加环境变量
    export QTDIR=/opt/Qt5.14.2/5.14.2
    export PATH=$QTDIR/gcc_64/bin:$PATH
    export LD_LIBRARY_PATH=$QTDIR/gcc_64/lib:$LD_LIBRARY_PATH
    # 3 生效
    source /etc/profile
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    查看版本

    qmake -v
    
    • 1

    参考链接:Ubuntu18.04安装Qt5.14.2
    qt 5.15 版本的安装过程参考链接:编译源码安装 Qt 5.15

    3 安装GCC、G++

    sudo apt-get install gcc-7 gcc-7-multilib
    sudo apt-get install g++-7 g++-7-multilib
    
    • 1
    • 2

    如果已经安装了GCC、G++但版本不够,升级一下:

    sudo apt-get install -y gcc-7
    sudo apt-get install -y g++-7
    cd /usr/bin
    sudo rm gcc
    sudo ln -s gcc-7 gcc
    sudo rm g++
    sudo ln -s g++-7 g++
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    4 Autoware-1.14.0安装与编译

    Autoware的GitLab 仓库
    硬件支持:

    首选 i7 处理器,i5 也可以 (8)
    16GB - 32GB 运行内存
    至少 30GB 硬盘存储空间 (推荐使用固态硬盘)
    显卡 NVIDIA GTX GeForce GPU (980M或更高性能)
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    3个方面入手学习:
    (1) 编译安装,docker和源码
    如果要源码编译,建议使用ubuntu18.04,doker编译,要有gpu编译,需要配匿doker-nvidia
    (2) ui界面的使用
    参考链接:https://www.bilibili.com/read/cv26487934/

    4.1 源码的编译

    官网安装教程:https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build
    以下是笔者的安装流程:
    建议使用Ubuntu18.04并安装好cuda
    下载好源码,这里用1.14.0版本:
    🔗1:GitHub
    🔗2:autoware仓库

    注意不要在conda里面运行

    conda deactivate
    
    • 1

    在这里插入图片描述

    4.1.1 使用python2.7环境

    先查看python2和python3的版本信息
    python2 --version
    which python2
    python3 --version
    which python3
    # 使用 python2
    echo alias python=python2 >> ~/.bashrc
    source ~/.bashrc
    # 重新切换为 python3
    echo alias python=python3 >> ~/.bashrc
    source ~/.bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    参考链接:https://codeleading.com/article/70994226215/
    在这里插入图片描述

    4.1.2 针对Ubuntu 18.04 / Melodic的依赖包安装

    sudo apt update
    # 升级单个包使用指令
    sudo apt install --only-upgrade package_name
    sudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
    sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
    pip3 install -U setuptools
    pip install catkin_pkg -i https://pypi.tuna.tsinghua.edu.cn/simple/
    sudo apt install libglew-dev
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述

    4.1.3 先安装一些缺的ros依赖

    sudo apt-get update
    sudo apt-get install ros-melodic-jsk-recognition-msgs ros-melodic-jsk-rviz-plugins ros-melodic-nmea-msgs ros-melodic-rqt-gui ros-melodic-rqt-gui-py ros-melodic-nmea-navsat-driver ros-melodic-velodyne-pointcloud ros-melodic-grid-map-cv ros-melodic-grid-map-msgs ros-melodic-grid-map-ros ros-melodic-automotive-navigation-msgs ros-melodic-rosbash ros-melodic-autoware-msgs ros-melodic-automotive-platform-msgs ros-melodic-qpoases-vendor ros-melodic-xacro
    sudo apt-get install ros-melodic-controller-manager ros-melodic-robot-state-publisher ros-melodic-joint-state-controller ros-melodic-gps-common ros-melodic-geodesy
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    在这里插入图片描述

    4.1.4 安装eigen3.3.7

    下载链接:https://gitlab.com/libeigen/eigen/-/releases/3.3.7
    在这里插入图片描述
    下载完成后,在压缩包所在目录打开终端

    //解压
    sudo tar -xzvf eigen-3.3.7.tar.gz
    //安装
    cd eigen-3.3.7
    mkdir build
    cd build
    cmake ..
    sudo make install
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在这里插入图片描述
    安装后头文件安装在/usr/local/include/eigen3/
    在这里插入图片描述

    4.1.5 安装opencv 3.4.16

    https://blog.csdn.net/qq_58879770/article/details/127037125

    4.1.6 编译

    step1: 下载解压进入目录执行

    cd autoware-1.14.0
    # 创建工作区
    mkdir -p src 
    # 将Autoware.AI下载到工作区
    vcs import src < autoware.ai.repos
    
    • 1
    • 2
    • 3
    • 4
    • 5

    报错如下: 部分连接超时
    在这里插入图片描述
    解决方法:

    git config --global  --unset https.https://github.com.proxy 
    git config --global  --unset http.https://github.com.proxy 
    
    • 1
    • 2

    参考链接: https://blog.csdn.net/qq_31375855/article/details/121838533
    成功运行,则显示如下:

    在这里插入图片描述
    step2: 继续执行:

    rosdep update
    
    • 1

    报错1:如果rosdep update报错:index-v4.yaml
    在这里插入图片描述
    注意:先查看自己的ros版本,指令如下:

    roscore
    
    • 1

    在这里插入图片描述
    如笔者的ros版本是melodic,按照如下链接对报错进行修改:
    index-v4.yaml文件解决:https://zhuanlan.zhihu.com/p/479551543

    报错2:再次运行rosdep update报错如下:
    在这里插入图片描述

    ./python3/dist-packages/rosdistro/_init_.py文件内,将里面的语句
    DEFAULT_INDEX_URL = ‘https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml’
    改成:
    DEFAULT_INDEX_URL = ‘file:/opt/ros/rosdistro/index-v4.yaml’
    再rosdep update就ok了。

    注意:文件位置因人而异,可以直接查找rosdistro文件夹所在位置
    在这里插入图片描述
    最后成功,显示如下:

    rosdep update
    
    • 1

    在这里插入图片描述

    step3: 继续执行:

    # 官网指令
    rosdep install -y --from-paths src --ignore-src --rosdistro SROS DISTRO
    # 笔者成功运行指令,melodic是笔者安装的ros版本
    rosdep install -y --from-paths src --ignore-src --rosdistro=melodic -y
    
    • 1
    • 2
    • 3
    • 4

    在这里插入图片描述
    报错如下:这是笔者按照官网教程执行出现的错误,若按照笔者上述流程应该不会有报错。

    在这里插入图片描述
    解决方法:

    sudo apt-get install ros-melodic-nmea-msgs  # ros-melodic+需要安装的依赖包(报错中[]的内容,并将下“_”改成“-”)
    sudo apt-get install ros-melodic-image-view2
    # 以此类推逐一下载,直到再次运行如下指令,并出现如图的结果
    rosdep install -y --from-paths src --ignore-src --rosdistro=melodic -y
    
    • 1
    • 2
    • 3
    • 4

    All required rosdeps installed successfully

    在这里插入图片描述
    代表此问题解决!

    AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
    
    • 1

    报错如下:
    在这里插入图片描述
    跳过不必要的报错直接运行

    AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --continue-on-error
    
    • 1

    4.1.7 运行

    source install/setup.bash  # 设置ros2的环境
    roslaunch runtime_manager runtime_manager.launch
    
    • 1
    • 2

    4.1.8 一些报错修改

    1.修改run脚本,改为正确source路径

    cd ~/autoware-1.14.0/install/runtime_manager/share/runtime_manager/scripts
    gedit run
    
    • 1
    • 2

    在这里插入图片描述

    # boot runtime_manager
    ${TERMINAL} ${RUNMGR_DISPLAY_OPTION} ${OPTION_WORKING_DIR}=${MY_PATH} ${OPTION_COMMAND}="bash -c 'source ~/autoware-1.14.0/install/setup.bash; mkdir ~/.rviz; cp `rospack find autoware_quickstart_examples`/launch/rosbag_demo/default.rviz ~/.rviz/; rosrun runtime_manager runtime_manager_dialog.py'"
    
    • 1
    • 2

    2. 为了防止警告,找到‘state_publisher’并用‘robot_state_publisher’去代替

    cd /home/ll/autoware-1.14.0/install/vehicle_description/share/vehicle_description/launch
    vi vehicle_model.launch
    
    • 1
    • 2

    打开后修改其中的文件:把‘state_publisher’改为‘robot_state_publisher
    在这里插入图片描述

    4.2 Docker Autoware环境搭建

    4.2.1 安装docker

    参考链接:安装docker

    4.2.2 安装docker-nvidia

    curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
    distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
    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 -y nvidia-docker2
    
    • 1
    • 2
    • 3
    • 4
    • 5

    4.2.3 安装autoware的docker版本

    git clone https://gitlab.com/autowarefoundation/autoware.ai/docker.git
    cd docker/generic 
    ./run.sh
    
    • 1
    • 2
    • 3

    **报错如下:**
    在这里插入图片描述
    如果使用的是Ubuntu等Linux原生系统 + docker:需要在 /etc/docker/daemon.json 中设置default-runtime为nvidia,然后重启docker,确保你启动了NVIDIA Container Toolkit。

    {
        "default-runtime": "nvidia",
        "runtimes": {
            "nvidia": {
                "path": "/usr/bin/nvidia-container-runtime",
                "runtimeArgs": []
            }
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述
    重启docker:

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    
    • 1
    • 2

    再次运行

    ./run.sh
    
    • 1

    在这里插入图片描述
    在这里插入图片描述
    如上显示:则成功
    一般master是最新的1.14版本。在执行./run.sh时,通常会要求root权限,如果不想每次运行docker都要用root权限,可以用下面的方法配置:

    #添加用户组
    sudo groupadd docker
    #将当前用户添加至用户组
    sudo usermod -aG docker $USER
    # 更新
    newgrp docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.2.4 编译(在docker下的容器中进行)

    cd ~/Autoware 
    colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
    
    • 1
    • 2

    在这里插入图片描述
    编译成功!

    4.2.5 运行

    source install/setup.bash
    roslaunch runtime_manager runtime_manager.launch
    
    • 1
    • 2

    在这里插入图片描述

    4.2.6 关掉终端之后再次启动autoware容器

    首先先查询autoware容器的信息

    docker ps -a
    
    • 1

    根据查询的信息,重命名autoware容器,如笔者将xenodochial_williamson改成autoware

    docker rename xenodochial_williamson autoware
    
    • 1

    在这里插入图片描述
    启动容器

    docker start autoware  # 这个指令看情况,若已经启动容器则跳过这个指令
    docker attach autoware
    
    • 1
    • 2

    在这里插入图片描述

    5 Autoware.ai 安装

    创建工作空间

    mkdir -p autoware.ai/src
    cd autoware.ai
    
    • 1
    • 2

    下载Autoware.AI的工作区配置

    wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/master/autoware.ai.repos?inline=false"
    vcs import src < autoware.ai.repos
    
    • 1
    • 2

    使用rosdep安装依赖项

    rosdep update
    
    • 1

    报错1:ROS rosdep update更新失败
    在这里插入图片描述
    解决方法:

    sudo pip install rosdepc
    sudo rosdepc init
    rosdepc update
    
    • 1
    • 2
    • 3

    再下载依赖

    # rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    rosdep install -y --from-paths src --ignore-src --rosdistro=melodic -y
    
    • 1
    • 2

    执行成功则显示如下:
    在这里插入图片描述
    使用CUDA支持编译工作空间

    AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
    
    • 1

    报错如下
    在这里插入图片描述
    但是在部分报错的包一般是不会用到的,可以在指令后面加入参数【–continue-on-error】忽略报错,到在后面的应用时有需要再添加。
    重新执行指令如下:

    AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release --continue-on-error
    
    • 1

    在这里插入图片描述

    6 运行 Autoware

    For Autoware version 1.12.0 and Newer
    更早的版本运行指令详见ROSBAG Demo

    cd ./autoware.ai
    source install/setup.bash
    roslaunch runtime_manager runtime_manager.launch
    
    • 1
    • 2
    • 3

    在这里插入图片描述
    又启动一个Autoware的终端如下:
    在这里插入图片描述
    Autoware的界面如下:
    在这里插入图片描述
    参考链接:
    链接1:Autoware 安装(源码)过程 与 踩坑记录(Ubuntu18.04)
    链接2:NVIDIA Jetson Nano主机的autoware的学习与demo运行-第7章-Autoware源码安装
    链接3:【Autoware】2小时安装Autoware1.13(保姆级教程)

    7 ROSBAG Demo

    官网链接:ROSBAG Demo
    根据官网的流程下载好测试包,放在./autoware文件夹下面
    打开Autoware
    界面设置如下:
    step1:
    在Runtime Manager中选中“Simulation”Tab,在底下的文件选择框中选取从
    “sample_moriyama_data.tar.gz”中解压出来的rosbag文件,设置start Time为140s,点击下面的“Play”按键即可开始播放Demo中所录制的自动驾驶过程,需要在2s后点击“Pause”,如图所示,原因是还需要设置其他一些数据和参数。
    在这里插入图片描述
    step2:
    在“Setup”Tab中设置TF和车辆模型,即点击“TF”按钮及“Vehicle Model”按钮即可。正确点击后了两个按钮应该是处于深色的状态。
    在这里插入图片描述
    step3:
    在“Map”Tab中选择地图文件和TF设置文件。在“Point Cloud”后面的文件选择框内载入点云地图文件,相关的文件存储在“sample_moriyama_data.tar.gz”文件所解压出来的文件中,具体位置为“data/map/pointcloud_map”,需要选中文件夹内所有的文件。然后点击“Point Cloud”按钮使之变为下图所示的深色状态。在“TF”按钮后面的文件选择框内载入tf.launch文件。笔者选用/home/ll/autoware-1.14.0/src/autoware/documentation/autoware_quickstart_examples/launch/tf_local.launch里面的,选中tf_local.launch文件。然后点击“TF”按钮使之变为下图所示的深色状态。
    在这里插入图片描述
    step4:
    在“Sensing”Tab中勾选“voxel_grid_filter”,如下图所示
    在这里插入图片描述
    step5:
    在“Computing”Tab中勾选“nmea2tfpose”“ndt_matching”,如下图所示
    在这里插入图片描述
    step6:
    开启RViz可视化工具,回到“Simulation”Tab,点击底下的“RViz”按钮,使之成为深色的状态,如下图所示
    在这里插入图片描述
    step7:
    设置RViz,首先选择RViz配置文件,在菜单中选择“File–>Open Config”,选择“/home/ll/autoware-1.14.0/src/autoware/documentation/autoware_quickstart_examples/launch/rosbag_demo/default.rviz”文件
    step8:
    回到Runtime Manager,进入到“Simulation”Tab页,点击“Pause”按钮,这时Demo会结束暂停状态,继续播放rosbag文件。稍等片刻,就可以在Rviz中看到点云地图和机器人行驶的画面了
    在这里插入图片描述若画面不显示点云场景,则可以检查 Fixed Frame是否设置为: velodyne
    在这里插入图片描述

  • 相关阅读:
    [WSL][ubuntu][原创]windows上ssh WSL的linux子系统
    uni-app开发微信小程序的报错[渲染层错误]排查及解决
    哈夫曼树(理论)
    git多人协作开发
    gitlab重置root密码
    php初级教程八 Error
    Python基础之数据库:5、创建表的完整语法、MySQL数据类型
    Mac 卸载 PyCharm 方法
    JVM阶段(4)-回收策略
    Python的logging用法(日志记录工具)
  • 原文地址:https://blog.csdn.net/qq_44703886/article/details/133277131