资讯专栏INFORMATION COLUMN

Ubuntu18.04安装autoware.ai

roundstones / 1044人阅读

摘要:前言是世界上第一个用于自动驾驶技术的开源软件,关于它的介绍就不再赘述了,感兴趣的可以去看一下知乎文章,这里主要说明一下的安装配置。改了和的代码,保证可以运行,但跑官方效果有问题,感兴趣的可以进一步尝试,如果成功了,欢迎留言赐教,谢谢

前言

Autoware.AI是世界上第一个用于自动驾驶技术的“All-in-One”开源软件,关于它的介绍就不再赘述了,感兴趣的可以去看一下知乎文章,这里主要说明一下autoware.ai的安装配置。之前在Ubuntu16.04上装过autoware,但现在开发环境已经迁到18.04了,所以重新安装一下,特此记录。顺便一提,autoware.ai已经很久没维护了,毕竟已经推出了autoware.auto,它是基于ROS2的,由此可见ROS2和autoware.auto将会是趋势,后面有机会再介绍。

准备工作

  • 官网推荐配置,这里我们安装1.14.0版本

默认你已经装好ROS-melodic、CUDA10.0、Eigen3.3.7(或更高)、QT5.12.8(或者更高)、OpenCV选择性安装,我因为要使用yolo,所以装了5.2.0版本。

安装

  • 其实按照的顺序一步步来基本没有问题,主要是后面编译需要修改代码。
  • 安装依赖
sudo apt updatesudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkinsudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstoolpip3 install -U setuptools
  • 下载源码
# 创建工作空间mkdir -p ~/autoware.ai/srccd ~/autoware.ai# 下载源码(全部加代理)wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.14.0/autoware.ai.repos?inline=false"vcs import src < autoware.ai.reposrosdep updaterosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

编译

  • autoware.ai通过两种编译方式,一种是GPU使用CUDA加速,另一种直接使用CPU编译
# CUDA 支持AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release# CPUcolcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

编译报错解决

  • 因为1.12.0版本很老了,许多opencv的代码还是用OpenCV2写的(其实最新的1.14.0也是这样,还是推荐上autoware.auto吧),造成编译会报许多错,下面一步步来解决。

使用CUDA编译报ndt_gpu错误

  • 修改autoware.ai/src/autoware/common/autoware_build_flags/cmake/autoware_build_flags-extras.cmake文件,将CUDA 10.0改为CUDA 10.2

opencv2/contrib/contrib.hpp:没有那个文件,或报错文件中有opencv版本判断的代码

  • 找到报错文件的判断OpenCV版本代码#if(CV_MAJOR_VERSION==3)改为#if(CV_MAJOR_VERSION>=3),检查一下文件可能有多处判断

CV_WINDOW_AUTOSIZE ,CV_LOAD_IMAGE_UNCHANGED 没有被声明

  • 根据报错找到对应的文件,加入头文件#include
    加入命名空间using namespace cv;CV_LOAD_IMAGE_UNCHANGED改为IMREAD_UNCHANGED

calibration_publisher 包中cv::Mat::Mat()未定义引用

  • 找到包中CMakeLists.txt文件,在链接库中加入${OpenCV_LIBS}

CV_LOAD_IMAGE_GRAYSCALE没有被声明

  • 找到报错文件,将CV_LOAD_IMAGE_GRAYSCALE改为IMREAD_GRAYSCALE

CV_AA , CV_FILLED没有被声明

  • 找到报错文件,在头文件中加入#include

CV_EPNP没有被声明

  • CV_EPNP改为cv::SOLVEPNP_EPNP

could not convert ‘cv::Scalar_((double)0, (double)255, (double)255, (double)0)’ from ‘cv::Scalar {aka cv::Scalar_}’ to ‘CvScalar’

  • CV_RGB(255, 255, 0)改为cvScalar(255, 255, 0)

cv_image->image报错

  • cv_image->image改为cvIplImage(cv_image->image)

ipl_image = final_mat报错

  • ipl_image = final_mat改为ipl_image = cvIplImage(final_mat)

CvMat cvmat = sum_mat;

  • 改为
CvMat *cvmat;for(size_t i=0; i< sum_mat.rows; ++i)    for(size_t j=0; j< sum_mat.cols; ++j){  ((double*)(cvmat->data.ptr + i*cvmat->step))[j] = sum_mat.at(i,j);}

CV_BGR2GHSV没有被声明

  • 加入头文件#include

textOrg = cv::Point(ctx.topLeft.x, ctx.botRight.y + baseline);

  • 改为
textOrg.x = ctx.topLeft.x;textOrg.y = ctx.botRight.y + baseline;

cvGetWindowHandle没有被声明

  • 加入头文件#include

CV_STORAGE_WRITE, CV_STORAGE_READ,CV_NODE_MAP读写xml错误

  • 这里的本质上是读写yaml文件,源代码方式已经被淘汰了,需要使用新方法,这里暂时不知道有什么用,可以直接将读写代码注释掉,我这里稍微改动一下,保证编译能过,不知道是否正确,后面用到再验证。
  • CV_STORAGE_WRITE改为cv::FileStorage::WRITE
  • CV_STORAGE_READ改为cv::FileStorage::READ
  • cv::FileNode topNode(cvfs.fs, NULL)注释掉,后面的topNode改为cvfs
  • CV_NODE_MAP需要将写操作改成<<的形式,因为它重载了<<

CV_REDUCE_MIN 没有被声明

  • CV_REDUCE_MIN改为cv::REDUCE_MIN

看到所有包都finished,就说明编译通过了

测试

  • 跑官方Demo来验证,具体步骤官方已经写的很清楚了,下面简单说一下会遇到的问题。

‘utf8’ codec can’t decode错误

  • 参考链接
  • 打开~/autoware.ai/src/autoware/utilities/runtime_manager/scripts/runtime_manager_dialog.py文件做如下修改
while not ev.wait(interval):    # s = subprocess.check_output(["sh", "-c", "env COLUMNS=512 top -b -n 2 -d 0.1"]).strip()    s = subprocess.check_output(["sh", "-c", "env COLUMNS=512 LC_ALL=C top -b -n 2 -d 0.1"]).strip()    i = s.rfind("/ntop -") + 1    s = s[i:]
  • 在启动autoware前设置编码格式
cd ~/autoware.aisource install/setup.bashexport LC_ALL=en_US.utf8roslaunch runtime_manager runtime_manager.launch
  • 20219/6记录

  • 经过几天的努力发现还是不行,软件可以启动但是无法达到官方演示的效果,要么tf转换有问题,要么无法加载map,暂时先放弃,后面有时间再弄。

    改了1.12.01.14.0的代码,保证可以运行,但跑官方demo bag效果有问题,感兴趣的可以进一步尝试,如果成功了,欢迎留言赐教,谢谢!

    https://github.com/LHD2018/autoware.ai-1.12.0

    https://github.com/LHD2018/autoware.ai-1.14.0

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/119529.html

相关文章

  • ubuntu18.04 初体验 -- 自定义主题和配置

    摘要:下面我们来为自定义一些配置及主题安装所需的工具在本文中,我将使用来定制上的桌面环境。更改标题栏按钮的位置在上,标题栏按钮的默认位置已更改。改变前改变后从现在开始,所有标题栏按钮应显示在标题栏的左侧。启用用户主题之后,关闭并再次打开它。 原文地址 Ubuntu18.04 Bionic Beaver(仿生海狸)已正式发布。该版本具有Canonical5年的支持还更新。听到这个消息笔者立马安...

    Juven 评论0 收藏0
  • ubuntu18.04 初体验 -- 自定义主题和配置

    摘要:下面我们来为自定义一些配置及主题安装所需的工具在本文中,我将使用来定制上的桌面环境。更改标题栏按钮的位置在上,标题栏按钮的默认位置已更改。改变前改变后从现在开始,所有标题栏按钮应显示在标题栏的左侧。启用用户主题之后,关闭并再次打开它。 原文地址 Ubuntu18.04 Bionic Beaver(仿生海狸)已正式发布。该版本具有Canonical5年的支持还更新。听到这个消息笔者立马安...

    andot 评论0 收藏0
  • 搭建Windows10 + Ubuntu18.04双系统

    摘要:由于子系统并不能很好的主持,所以最近花了一点时间在的基础上安装了,这里简单记录一下步骤。前期准备系统,提供给至少的可用空间大白菜盘启动制作工具系统,可在官网进行下载安装步骤本文的图片来自网络,这里只记录流程。到这一步双系统就算安装完成, 由于Windows10 Linux子系统并不能很好的主持Docker,所以最近花了一点时间在Windows10的基础上安装了Ubuntu18.04,这...

    chuyao 评论0 收藏0
  • Ubuntu18.04服务器安装Apache2.4/MariaDB10.3/PHP7.2

    摘要:在这篇文章中,我们将分享在最新系统镜像中安装常规的软件环境。出于安全的考虑,以及我们后续安装网站,需要禁止默认根目录执行。这个其实与安装后设置相似。这样,在安装完毕之后,我们可在中安装完毕,且软件都是比较新的。 在这篇文章中,我们将分享在最新Ubuntu18.04系统镜像中安装LAMP常规的软件环境。其中软件包括Apache2.4/MariaDB10.3/PHP7.2,这里我们看到不安...

    dockerclub 评论0 收藏0
  • 【GPU云主机 UHost】驱动安装指南:Ubuntu 18.04 环境配置之检查GPU设备识别、屏

    摘要:云主机环境配置检查设备识别表示识别为表示为屏蔽开源驱动编辑如下文件写入下列内容更新并重启控制台镜像的内核为,该版本在官方已无法下载状态,此为安装驱动所必需,建议先升级内核至后续版本。GPU云主机UHost Ubuntu 18.04 环境配置1. 检查GPU设备识别 $ sudo lspci | grep NVIDIA 3D controller: NVIDIA Corporation ...

    Tecode 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<