Autoware 安装(源码)过程 与 踩坑记录(Ubuntu18.04)

2023-05-16

目录

 autoware 源码安装

安装 ROS Melodic:

               设置软件源

                 设置密钥:

                安装ROS:

                rosdep:

安装rosinstall

添加ROS环境变量

配置ROS环境变量

创建工作目录 并 初始化

编译

然后启动小海龟DEMO:

安装QT

软件下载

安装

安装CUDA(如果选择WITHOUT编译方式的话,这一部分就可以跳过)

安装GCC、G++

autoware的安装

创建工作空间

获得autoware.ai.repos文件

Git

编译

下载DEMO数据:

运行DEMO

编译遇到的坑汇总:


以下的安装为博主在 < win + ubuntu18.04 双系统 > 环境下进行的。

        Autoware 的安装方法主要有大致分为两种方式:Docker 和 源码。

        Docker的安装方法是最简单,个人感觉用起来可能不太好用,特别是容器和本机的交互需要用命令行去执行等等,但确实很好安装。 源码的安装在编译过程分为WITH CUDA 和WITHOUT CUDA,当让WITH CUDA的稍微麻烦一些。以上对与这几种安装方式进行了简单的介绍。下来我们就开始吧!


官方Github 传送门

Wiki传送门

         可以看一下autoware 跑起来的配置 和 依赖版本的要求,配置要求蛮高,特别是内存,抵得上一个小工作站了。不过没有达到要求也可以是尝试一下(我之前 笔记本 1050ti +i5 八核+8G 很卡的能跑起来)。

PS:如果能看懂官方wiki的话,那当然最好,按照权威的来安装肯定没问题!!


 autoware 源码安装

按照官网的要求需要安装的依赖及其版本如下:

ubuntu18.04 + ROS MelodicQT >5.95 + CUDA ==10.0 +FlyCapture2 + Armadillo +......

其中 只有前三个是必须安装的。版本是 很重要的 ,如果版本有出入之后的编译有大麻烦!!!还有opencv等都是选择安装的。


博主默认读者已经装好ubuntu ,所以就从安装ROS开始了。

安装 ROS Melodic:

        简便方法:百度鱼香ROS,有一键安装!!!!强推!!!

                 设置软件源

        为了之后的安装顺利,不提示find不到功能包,提前设置好软件源

        USTC源(国内比较块的,当然清华,阿里都可以):

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

        也可以使用菜单中 <软件和更新> 来换源:打开 < 软件和更新 >  -->  < ubuntu软件 >  -->   下拉菜单<下载自:>中选择。

                 设置密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

                安装ROS:

sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
sudo apt-get install ros-melodic-rqt*

                rosdep:

sudo rosdep init
rosdep update

这里特别容易出问题,绝大多数网络的问题(Website may be down. 'The read operation timed out') ,除了合法上网没有什么实质的方法解决问题,但有以下几种方法可以提高通过的概率:连手机热点   /   修改hosts文件  / rosdepC/ 增加时间。富贵在天,生死有命,一直试就完了!下面算是提高成功概率的操作:

                 修改hosts

cd /etc
sudo gedit hosts

                然后后复制以下内容到最后

151.101.84.133 raw.githubusercontent.com
185.199.108.133 raw.githubusercontent.com
185.199.109.133 raw.githubusercontent.com
185.199.110.133 raw.githubusercontent.com
185.199.111.133 raw.githubusercontent.com

最好还是通过网站查以下他的ip,然后再复制域名和网址,操作完成就在重新执行命令。

             rosdepc:这个是参考 鱼香ROS 博主的博客(链接附上)----本文之后,世上再无rosdep更新失败问题!

安装rosinstall

sudo apt-get install python-rosinstall

添加ROS环境变量

gedit ~/.bashrc

 然后复制以下内容:

# Set ROS melodic
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash
 
# Set ROS Network
export ROS_HOSTNAME=localhost
export ROS_MASTER_URI=http://localhost:11311
 
# Set ROS alias command 快捷指令
alias cw='cd ~/catkin_ws'
alias cs='cd ~/catkin_ws/src'
alias cm='cd ~/catkin_ws && catkin_make'

我看有的博主把ROS_HOSTNAME和ROS_MASTER_URI中的localhost改成电脑ip,那应该是需要ssh时用的吧,这里我没用过。

配置ROS环境变量

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

创建工作目录 并 初始化

mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace

编译

cd catkin_ws
catkin_make

然后启动小海龟DEMO:

打开三个终端

启动ROS

roscore

启动小海龟节点

 rosrun turtlesim turtlesim_node

启动键盘控制节点(需要在这个界面进行键盘控制)

rosrun turtlesim turtle_teleop_key

至此,ROS安装完成,然后安装一些需要的依赖:

#升级PIP
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pip -U
#还源PIP
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

#下载依赖
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

#ROS-full-deskdop
sudo apt-get install ros-melodic-jsk-recognition-msgs ros-melodic-jsk-rviz-plugins ros-melodic-lanelet2* ros-melodic-nmea* ros-melodic-grid-map* ros-melodic-automotive-* ros-melodic-velodyne* ros-melodic-gps-common ros-melodic-qpoases-vendor 


安装QT

这里一定要注意版本要大于等于5.9.5,这里就安装5.9.5

软件下载

下载地址

安装

chmod a+x qt-opensource-linux-x64-5.9.5.run

打开下载安装包的位置双击下载的文件 或者 打开命令行输入以下命令

sudo ./qt-opensource-linux-x64-5.8.0.run

无脑下一步,安装(但现在的安装,需要一个QT账号,自己申请一下)

安装完成后看一下自己的版本对不对,用以下命令:

qmake -v

如图:

至此QT 全部安装完成


安装CUDA(如果选择WITHOUT编译方式的话,这一部分就可以跳过)

版本一定是( 10.0 )的!版本一定是( 10.0 )的!版本一定是( 10.0 )的!

这里就按照这位博主的博文进行安装即可:Ubuntu下的NVIDIA显卡【安装与卸载、CUDA安装】

   还有安装Cudnn:这里我忘记看的那篇博客,我再找找!cudnn官网

   还要安装caffe:Ubuntu 18.04 ssdcaffe安装与Autoware 检测节点运行

   


安装GCC、G++

sudo apt-get install gcc-7 gcc-7-multilib
sudo apt-get install g++-7 g++-7-multilib

        如果你已经安装了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++

       


autoware的安装

终于轮到我们的嘉宾了!!

创建工作空间

mkdir -p autoware.ai/src
cd autoware.ai

获得autoware.ai.repos文件

wget -O autoware.ai.repos "https://raw.githubusercontent.com/Autoware-AI/autoware.ai/master/autoware.ai.repos"

有时候网不好,我直接把这个文件的内容写在下边,可以直接拷贝,至接拉到gitee上。这里的内容和原生的文件内容不一样,为了更好的git。

repositories:
  autoware/common:
    type: git
    url: https://gitee.com/kin_zhang/common.git
    version: master
  autoware/core_perception:
    type: git
    url: https://gitee.com/kin_zhang/core_perception.git
    version: master
  autoware/core_planning:
    type: git
    url: https://gitee.com/kin_zhang/core_planning.git
    version: master
  autoware/documentation:
    type: git
    url: https://gitee.com/kin_zhang/documentation.git
    version: master
  autoware/messages:
    type: git
    url: https://gitee.com/kin_zhang/messages.git
    version: master
  autoware/simulation:
    type: git
    url: https://gitee.com/kin_zhang/simulation.git
    version: master
  autoware/utilities:
    type: git
    url: https://gitee.com/n__n/utilities.git
    version: master
  autoware/visualization:
    type: git
    url: https://gitee.com/kin_zhang/visualization.git
    version: master
  drivers/awf_drivers:
    type: git
    url: https://gitee.com/kin_zhang/drivers.git
    version: master
  citysim:
    type: git
    url: https://gitee.com/kin_zhang/osrf_citysim.git
    version: master
  car_demo:
    type: git
    url: https://gitee.com/kin_zhang/car_demo.git
    version: master
  drivers/ds4:
    type: git
    url: https://gitee.com/kin_zhang/ds4.git
    version: master

Git

vcs import src < autoware.ai.repos

        在网络不好的时候会有一些功能包没有被拉取成功(没有成功的标志:命令行会有明显的错误标红),我们可以打开autoware.ai.repos,复制对应的网址直接download,然后解压文件,并copy在src相应的位置。

         确认所有的功能包下载完成之后,开始编译(src-->build log)


编译

        WITH  CUDA(不用CUDA的这一部分可以跳过!!)

        这里一定要确保所有的依赖都是对应的版本。

cd autoware.ai        #已经转到autoware.ai的就不用cd 了 
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

        WITHOUT CUDA

cd autoware.ai          #已经转到autoware.ai的就不用cd 了 
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

编译一定要确定所有包都编译成功才算成功奥 !

PS:我也不太清楚为什么安装了几次,前几次我编译都是139个包,这次安装变成了157个。

编译单个功能包:

colcon build --packages-select name_of_package --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Debug --event-handlers=console_direct+


然后与运行一下:

cd autoware.ai
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch 


最后,我们来运行以下官方demo

下载DEMO数据:

wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_data.tar.gz
wget http://db3.ertl.jp/autoware/sample_data/sample_moriyama_150324.tar.gz

创建.autoware

cd ~
mkdir .autoware                      #注意是.autoware
cd .autoware
cp ~/Downloads/sample_moriyama_* .
tar zxfv sample_moriyama_150324.tar.gz
tar zxfv sample_moriyama_data.tar.gz

运行DEMO

cd autoware.ai
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch 

进入Simulation后 点击 Ref

 

 寻找.autoware文件夹,如果没有.开头的文件【Ctrl+h】显示隐藏文件。

 然后双击.bag文件:

之后转到 Quick_Start,点击Ref,加载对应的launch文件(文件路径选择: autoware.ai/src/autoware/documention/autoware_quickstart_examples/launch/rosbag_demo 下)选择对应的launch。

 文件加载好,然后开始运行demo:

在Pimulation下点击Play,然后点击Pause,等一会再点击Pause

然后点击 Quick_Start,点击Map/Sensing等,加载对应的launch,加载完成相应按钮会变色!

 然后点击右下角RViz,就大功告成了!!!

        至此,autowre的安装就完成了,博主也是刚开始使用autoware,也是第一次码博文,有什么地方没有写正确的,或者可以完善,还请读者们可以批评指正,有什么问题也可以评论区交流 !撒花!


PS :

编译遇到的坑汇总:

在这里有会容易出现很多错误,万变不离其宗,基本都是缺少依赖、之前依赖版本不对应,在文章最后我来列举几个我遇到的问题,大家可以帮我补充!

Q1:1 package failed : ntd_gpu

 根据上面的提示就是我的Eigen的版本是不对的,所以要升级:

先查看你的eigen版本:

cat /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h

会打印出你的版本号如下图:

--------------------------------------------------------图片-------------------------------------------------------------------

如果不满足要求,咱就卸载重新装:

先卸载

这时,再用查看eigen是否还存在

sudo updatedb 
locate eigen3  
# 此时已经没有eigen3的位置了
 

在安装eigen3

下载响应版本

解压文件(由于所下载的压缩包格式不一致,这里就不适用命令行了,单击右键 提取到此处就好)

进入解压好的文件夹,在此处打开一个终端:

mkdir build
cd build 
cmake ../
sudo make install

此时,再查看他的版本,就OK了:

cat /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h

Q2:1 package failed : system_monitor了

syster_monitor/gpu_nonitor/nvml_gpu_monitor.h:39:10: error:'nvmlclocksThrottleReasonDisplayclocksetting'was not declared in this scope

         我之前一直感觉是我那个依赖没做好,直到最后我打开了nvml_gpu_monitor.h看nvml这里的声明。

         明显变量‘nvmlclocksThrottleReasonDisplayclocksetting’是从include的库传进来的,然后我打开了nvml.h的文件,搜索了与这个变量并列的变量,果然搜到了,再搜索这个变量发现并没有声明,然后我去搜索nvml的源码,惊奇的发现,源码竟然有!大吃了一个惊!那就把定义加进nvml.h的库中就好了!很离奇的bug! 大致情况就是这样,下面我就说怎么改喽,具体操作如下:

cd /usr/include
sudo vim nvml.h

在1205行加入如下内容(其实那一行我感觉无所谓,我只是与源码保持一致):

/** GPU clocks are limited by current setting of Display clocks
 *
 * @see bug 1997531
 */
#define nvmlClocksThrottleReasonDisplayClockSetting       0x0000000000000100LL

这样就OK了!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Autoware 安装(源码)过程 与 踩坑记录(Ubuntu18.04) 的相关文章

随机推荐

  • PHP判断IP是否属于某个网段

    IP通过ip2long转换后可以进行比较 span class php span class hljs preprocessor lt php span span class hljs comment 判断IP是否在某个网络内 span c
  • phpstore 2016.1版激活方法

    激活请填写下面的地址吧 xff1a span class hljs label http span idea span class hljs preprocessor qinxi span 1992 span class hljs prep
  • Group by无法排序,但可以通过子查询实现

    lt pre name 61 34 code 34 class 61 34 sql 34 gt select from table where id in select max id from table where tid in 0 10
  • ext4文件系统恢复被删除的文件

    ext4magic工具 可以恢复出被rm f删除的文件 xff08 只要原始数据块未被新数据所覆盖 xff09 ext4magic device M d savedir 可参考 https sourceforge net projects
  • nginx反向代理经验整理

    location flag proxy pass http 127 0 0 1 19999 上面这段配置的反向代理实际访问路径是 usr www location flag proxy pass http 127 0 0 1 19999 上
  • Git一些使用注意事项

    Git创建远程空仓库时要注意加上 shared 61 group 即命令 xff1a 初始化远程空仓库 xff1a git init bare shared 61 group 给空仓库设置组共享 xff1a git config core
  • 使用WSL在Windows上安装Ubuntu

    1 清理环境 查看当前的wsl 状态 xff0c wsl list 可以列出当前系统中已安装的子系统 选择需要清理的系统 xff0c 然后用 wsl unregister lt DistributionName gt 即可完成卸载 将 ws
  • CentOS/Ubuntu/Debian常用版本更换国内源的方法

    Linux系统安装完后软件源一般都是国外服务器 xff0c 在国内特别慢 xff0c 这时候就需要更换国内的镜像源 如163 aliyun 还有各高校镜像源等 记住先备份原始源在更换源 xff0c 以防以后备用 一 centos 1 备份
  • C++ 的引用类型

    C 43 43 的引用类型 在翻旧文的时候 xff0c 发现这么一篇文章 xff1a 关于一道C 43 43 笔试题的纠结 xff0c 学计算机的伤不起啊 当时可能是觉得 Placement new 的语法1比较新鲜 xff0c 所以印象比
  • Debian 10(buster) 更换国内软件源

    今天安装了个debian10 xff0c 发现网上包括各大镜像网站提供的源地址都有点问题 xff0c 经测试 xff0c Debian 10 xff08 buster xff09 可用的国内软件源如下 xff08 阿里云源 xff09 xf
  • 华为交换机SNMP配置

    华为交换机SNMP配置 snmp服务配置 交换机内设置snmp一般只需要启动snmp服务和配置团体名称 xff0c 然后设置下版本就可以了 全局模式下 xff0c 配置命令 1 启动snmp服务 xff1a snmp agent 2 设置团
  • qt 菜单栏创建

    h文件内容 xff1a pragma once include lt QtWidgets QMainWindow gt include 34 ui QtWidgetsApplication2 h 34 include lt QLabel g
  • 立志学习编程的第一天 2021-05-06

    一直很遗憾大学没能报计算机专业 xff08 还一直觉得自己是被耽误的程序员来着 xff09 现在且用业余时间来试试 xff0c 且拭目以待吧 xff01 学习内容 xff1a Clojure for the Brave and True 工
  • 关于Clojure的Emacs配置 2021-05-07

    首先安装lein和Emacs xff1a https leiningen org http www gnu org software emacs 安装好Emacs之后 xff0c 找到 emacs d 对windows系统 xff0c 文件
  • Clojure基础语法学习笔记(一)

    首先推荐两个目前正在学的免费学习资源 xff1a Functional programming in Clojure Clojure for the Brave and True 都是英文的 xff0c 第一个是边学边练的形式 xff0c
  • matlab interp2函数详解

    切入正题 xff1a 下面是一个测试INTERP2 xff08 xff09 函数的MATLAB代码 function INTERP2 TEST I 61 2 3 6 8 3 5 1 7 4 2 9 6 6 8 1 3 X Y 61 mesh
  • word2016转mathtype

    用word2016自带公式编辑器给师兄敲了一堆公式之后 xff0c 发现毕业论文要求用mathtype 官网给的解决措施是 xff1a 1 http www mathtype cn wenti wordgongshi zhuanhuan h
  • 虚拟机中Linux扩容硬盘空间

    在初始安装CentOS时 xff0c 只给了硬盘空间30GB xff0c 现在因为需要 xff0c 所以需要扩容 1 关闭虚拟机中的系统 xff0c 打开虚拟机的设置 xff0c 修改磁盘空间到合适的大小 xff0c 再重启系统 2 打开终
  • Vue3 - setup语法糖

    与setup函数不同的是 xff0c 在script标签中添加setup 1 变量 方法不需要 return 出来 属性和方法也不用返回 xff0c 也不用写setup函数 xff0c 也不用写export default xff0c 甚至
  • Autoware 安装(源码)过程 与 踩坑记录(Ubuntu18.04)

    目录 autoware 源码安装 安装 ROS Melodic xff1a 设置软件源 设置密钥 xff1a 安装ROS xff1a rosdep xff1a 安装rosinstall 添加ROS环境变量 配置ROS环境变量 创建工作目录