• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Autoware Ubuntu18.04安装源码安装

武飞扬头像
wwwwwyyrr
帮助1

 因为想要通过autoware进行相机-LiDAR的联合标定,通过源码进行安装了autoware,主要过程如下,记录一下:

系统环境:Ubuntu18.04 系统
依赖环境:ROS Melodic
     opencv 3.2.0
     Cuda 10.0
     Eigen 3.3.7(系统自带3.3.4需要进行升级)
     Qt5
     prorobuf 3.3.0
     autoware1.12
安装流程:
    1.安装依赖:
        sudo apt update
        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 -i https://pypi.tuna.tsinghua.edu.cn/simple
    2.创建目录:
        mkdir -p autoware.ai/src
        cd autoware.ai
    3.下载源码:
        wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.12.0/autoware.ai.repos?inline=false"
        vcs import src < autoware.ai.repos
    4.更新ros:
        rosdep update
        rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
    5.编译:
        AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release  #CUDA版本
        colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release  #非CUDA版本

踩坑指南:
    1. Eigen版本 (安装3.3.7 卸载3.3.4) https://www.icode9.com/content-3-850844.html
        cd && wget http://bitbucket.org/eigen/eigen/get/3.3.7.tar.gz
        mkdir eigen && tar --strip-components=1 -xzvf 3.3.7.tar.gz -C eigen
        cd eigen && mkdir build && cd build && cmake .. && make && make install
        cd && rm -rf 3.3.7.tar.gz && rm -rf eigen
       更新Eigen系统信息:
        #删除系统自带的eigen版本,原版为3.3.4
        sudo rm -rf /usr/local/include/eigen3
        sudo rm -rf /usr/local/include/eigen

        #拷贝新版本3.3.7至系统默认目录
        sudo cp -r /usr/local/include/eigen3/eigen /usr/include
        sudo cp -r /usr/local/include/eigen3 /usr/include

        #删除新版本3.3.7
        sudo rm -rf /usr/local/include/eigen3
        sudo rm -rf /usr/local/include/eigen

        #在/usr/local/include目录创建新版本软连接
        sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
        sudo ln -s /usr/include/eigen/ /usr/local/include/eigen

        #更新cmake库链接
        cd /usr/lib/cmake/eigen3

        # 删除旧版cmake配置信息
        sudo rm ./*
        # 编译的eigen库安装路径为/usr/local/share/eigen3
        sudo cp /usr/local/share/eigen3/cmake/* ./

        #更新系统数据库
        sudo updatedb
    由于更新了Eigen库,Ceres库在编译其他代码时也出现了问题,因此卸载原先版本进行了重新安装。安装教程:https://zhuanlan.zhihu.com/p/151675712
    
    2.opencv版本:若opencv版本过高 对于代码中多个文件出现不兼容的格式,一般采取的方式有 添加头文件/更改前缀(不同的问题报错解决方法不同,基本常见错误可百度解决)如:error: ‘CV_RGB2GRAY’ was not declared in this scope 的解决方法 在头文件里添加  #include <opencv2/imgproc/types_c.h>
    error: ‘CV_WINDOW_AUTOSIZE’ was not declared 解决方法 头文件里添加   #include <opencv2/highgui/highgui_c.h>
    error: #error “This header with legacy C API declarations has been removed from OpenCV.
    解决方法:将报错的包含头文件代码删除,并更换为:#include "opencv2/imgcodecs/legacy/constants_c.h"
    博客中整理的部分问题及解决方法,可以参考:https://blog.51cto.com/u_15316847/4574756

    3.boost库相关: 出现 undefined reference to regfreeA相关报错 原因:因为出现了boost的安装库regex.h与系统自带的regex.h重复冲突了
        解决:可以使用env命令查看当前所有的环境变量,看使用的是哪个地方的boost,然后将相应地方的regex.h变换一个名字就行了
    
    4.protobuf版本不对 应该安装3.0.0 编译过程citysim始终报错  安装教程:https://blog.csdn.net/qq_38337524/article/details/119972568
    查看protobuf版本:protoc --version
    下载protobuf:https://codeload.github.com/谷歌/protobuf/zip/v3.0.0
    若有./configure文件,直接执行如下指令:./configure CFLAGS="-fPIC"  CXXFLAGS="-fPIC"
                                              make
                                              sudo make install
    若没有./configure文件,则执行:./autogen.sh
    但是会超时,下载失败,我挂了梯子还是失败,查看了该sh文件里面的代码,是到一个外网下载gmock-1.7.0.zip文件。既然下载失败,就github下载了
        git clone https://github.com/paulsapps/gmock-1.7.0
    将clone下来的文件夹改名为gmock,即:
        mv gmock-1.7.0 gmock   #手动修改文件夹名的跳过此步骤
    然后讲此文件夹复制到./autogen.sh同级目录下,并修改./autogen.sh文件
        # 注释掉此部分,此部分内容就是下载文件->解压->修改文件夹名的步骤,上面已经做过了
        # Check that gmock is present.  Usually it is already there since the
        # directory is set up as an SVN external.
        #if test ! -e gmock; then
        #  echo "Google Mock not present.  Fetching gmock-1.7.0 from the web..."
        #  curl $curlopts -O https://谷歌mock.谷歌code.com/files/gmock-1.7.0.zip
        #  unzip -q gmock-1.7.0.zip
        #  rm gmock-1.7.0.zip
        #  mv gmock-1.7.0 gmock
        #fi
    然后就可以按第2部分进行编译了
        ./autogen.sh
        ./configure CFLAGS="-fPIC"  CXXFLAGS="-fPIC"
        make
        sudo make install
    5.ROS-Melodic安装
    设置软件源:清华的
        sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
    设置最新的密钥:
        sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
    安装:    sudo apt-get update
        sudo apt-get install ros-melodic-desktop-full
        sudo apt-get install ros-melodic-rqt*
    初始化:sudo rosdep init
        rosdep update
    安装rosinstall:sudo apt-get install python-rosinstall
    加载环境设置文件:
        source /opt/ros/melodic/setup.bash
    创建并初始化工作目录:
        mkdir -p ~/catkin_ws/src
        cd ~/catkin_ws/src
        catkin_init_workspace
    目前,只有src目录和CMakeLists.txt文件在catkin工作目录中,使用catkin_make命令来构建
        cd ~/catkin_ws/
        catkin_make
    设置环境变量:
        sudo apt install net-tools
        gedit ~/.bashrc
        # Set ROS melodic
        source /opt/ros/melodic/setup.bash
        source ~/catkin_ws/devel/setup.bash
    小海龟测试,打开三个终端:
        roscore
        rosrun turtlesim turtlesim_node
        rosrun turtlesim turtle_teleop_key

       

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgacjaf
系列文章
更多 icon
同类精品
更多 icon
继续加载