Ubuntu18.04安装AutoWare.ai(完整版)

news2024/9/21 0:27:00

目录

一、安装Opencv

1.1 下载安装包Opencv官网

1.2 安装opencv_contrib

二、安装Ros和rosdepc

 三、安装Eigen库

  1.   解压文件

  2. 安装Eigen

四、安装Autoware.ai-1.14.0

 4.1 安装依赖

4.2 下载Autoware.ai

1.在home路径下打开终端输入以下命令:

2.下载源码:

3.下载Ros依赖

4.在Autoware.ai路径下进行编译:

5.编译完成后,启动Autoware.ai如下命令:


一、安装Opencv

1.1 下载安装包Opencv官网

        此处推荐适用于Autoware.ai1.14.0为Opencv-3.4.16版本。(因为Ros下载时会自带opencv3.2.0所以建议第一节跳过,直接进入Eigen库的安装,opencv不进行安装时,Autoware编译时会很快通过)。

1.2 安装opencv_contrib

        (与opencv版本保持一致)

1. 将上述opencv和opencv_contrib相同版本下载完成后,各自解压,并将opencv_contrib放入opencv中,如下图所示:

2.  在opencv目录中右键打开终端,执行以下命令配置环境:

sudo apt-get install build-essential 
 
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
 
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev

3. 配置好环境之后,在opencv目录下新建build文件夹,依次执行以下命令:

cd opencv
mkdir build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..

        接着执行,此处时间较长,等待完成100就可以。

sudo make -j8
sudo make install

       

4. 打开配置文件:

sudo gedit /etc/ld.so.conf

  5. 添加如下路径:

/usr/loacal/lib

   6. 保存并关闭,执行:

sudo ldconfig

   7. 配置环境,打开bash.bashrc。

sudo gedit /etc/bash.bashrc 

   8.  在文件末尾添加如下:

PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH

9. 保存并退出,执行:

source /etc/bash.bashrc

10. 安装完成后输入如下命令,查看安装的结果:

pkg-config opencv --modversion

二、安装Ros和rosdepc

        此处推荐用鱼香肉丝一键安装。

wget http://fishros.com/install -O fishros && . fishros

 三、安装Eigen库

        此处推荐适用于Autoware.ai版本为3.3.7。Eigen3.3.7下载链接

  1.   解压文件

# 解压
sudo tar -xzvf eigen-3.3.7.tar.gz

        先查看自己的Egien库版本,命令如下,如果查看到已经是3.3.7以下过程不用执行:

vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

        如果不是3.3.7就执行以下内容,更改旧链接

sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/local/include/Eigen    #删除系统自带eigen版本

  2. 安装Eigen

#前提
sudo apt install build-essential
# 安装
cd eigen-3.3.7
mkdir build
cd build
cmake ..
make
sudo make install

        如果此处报错如下:(原因是源的问题,建议先安装Ros,会换源)。

正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
 dkms : 依赖: gcc 但是它将不会被安装
 libc6 : 破坏: libc6:i386 (!= 2.27-3ubuntu1.5) 但是 2.27-3ubuntu1.6 正要被安装
 libc6:i386 : 破坏: libc6 (!= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
 libc6-dbg : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
 libc6-dev : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。

        复制文件:

sudo cp -r /usr/local/include/eigen3/Eigen /usr/include
sudo cp -r /usr/local/include/eigen3 /usr/include

        建立刚安装好的Eigen库链接:

sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
sudo ln -s /usr/include/Eigen/ /usr/local/include/Eigen
cd /usr/lib/cmake/eigen3   
sudo rm ./*    
sudo cp /usr/local/share/eigen3/cmake/* ./   
sudo updatedb   
cd /usr/include

        查看Eigen版本: (3.3.7)

vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h

四、安装Autoware.ai-1.14.0

 4.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

         若pip3下载太慢可以将第四条命令换成:

 pip3 install -U setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple

4.2 下载Autoware.ai

1.在home路径下打开终端输入以下命令:

#Autoware.ai目录
mkdir -p autoware.ai/src
 
cd autoware.ai

2.下载源码:

 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.repos


#上述过程若下载不下来也可以使用如下
cd ..
sudo rm -rf autoware.ai
git clone https://gitee.com/P000it/autoware.ai.git
cd autoware.ai

 

        上述结果显示下载完成,中途报错是因为网络原因,重新下载即可。

3.下载Ros依赖

#下载ros依赖
rosdepc update
 
rosdepc install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

        安装时会报很多的错误,原因在于安装Ros时没有安装这些依赖功能包,只需要根据后面所提示的功能包名称依次下载完成即可。如下图所示,注意将提示功能包名称中所含"_"替换为"-"

        在这里为了方便大家,给出了需要下载的功能包命令:

sudo apt-get install ros-melodic-jsk-rviz-plugins
sudo apt-get install ros-melodic-nmea-navsat-driver
sudo apt-get install ros-melodic-jsk-recognition-msgs
sudo apt-get install ros-melodic-nmea-msgs
sudo apt-get install ros-melodic-qpoases-vendor
sudo apt-get install ros-melodic-gps-common
sudo apt-get install ros-melodic-velodyne-pointcloud
sudo apt-get install ros-melodic-grid-map-ros
sudo apt-get install ros-melodic-gscam
sudo apt-get install ros-melodic-velodyne
sudo apt-get install ros-melodic-imu-tools
sudo apt-get install ros-melodic-sound-play
sudo apt-get install ros-melodic-lgsvl-msgs
sudo apt-get install ros-melodic-jsk-topic-tools
sudo apt-get install ros-melodic-geodesy
sudo apt-get install ros-melodic-image-view2
sudo apt-get install ros-melodic-rosbridge-server
sudo apt-get install ros-melodic-automotive-platform-msgs
sudo apt-get install ros-melodic-carla-msgs
sudo apt-get install ros-melodic-velodyne-gazebo-plugins
sudo apt-get install ros-melodic-velodyne-description
sudo apt-get install ros-melodic-automotive-navigation-msgs
sudo apt-get install ros-melodic-velocity-controllers
sudo apt-get install ros-melodic-uvc-camera
sudo apt-get install ros-melodic-effort-controllers
sudo apt-get install libglew-dev
sudo apt-get install libpugixml-dev
sudo apt-get install libgeographic-dev

        若最后还是出现这样的错误直接跳过即可:

        完成上述操作后,重新执行第3步下载Ros依赖,如果还有报错,继续按照上述命令格式补全所缺功能包。

#下载ros依赖
rosdepc update
 
rosdepc install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

4.在Autoware.ai路径下进行编译:

        #有CUDA(不推荐,CUDA报错很多) 

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

        #无CUDA(推荐这个)

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

5.编译完成后,启动Autoware.ai如下命令:

source install/setup.bash
roslaunch runtime_manager runtime_manager.launch

成功!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1904509.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【VirtualBox】AMD(R9-7940)芯片安装Mac OS12.0.1 Monterey

系统、软件&#xff1a; macos12.0.1 ISO文件&#xff1b;virtual box&#xff08;7.0.18&#xff09;以及扩展包&#xff08;官网下载即可&#xff09;&#xff1b;AMD R9-7940HS;Windows 11 professional&#xff1b;GenSMBIOS&#xff08;github&#xff09;&#xff1b;po…

第1节、基于太阳能的环境监测系统——MPPT充电板

一、更新时间&#xff1a; 本篇文章更新于&#xff1a;2024年7月6日23:33:30 二、内容简介&#xff1a; 整体系统使用太阳能板为锂电池充电和系统供电&#xff0c;天黑后锂电池为系统供电&#xff0c;本节主要介绍基于CN3722的MPPT太阳能充电模块&#xff0c;这块主要是硬件…

判断是否为完全二叉树

目录 分析 分析 1.完全二叉树的概念&#xff1a;对于深度为K的&#xff0c;有n个结点的二叉树&#xff0c;当且仅当其每一个结点都与深度为K的满二叉树中编号从1至n的结点一一对应时称之为完全二叉树。 要注意的是满二叉树是一种特殊的完全二叉树。 2.思路&#xff1a;可以采…

用户身份和文件权限

前言&#xff1a;本博客仅作记录学习使用&#xff0c;部分图片出自网络&#xff0c;如有侵犯您的权益&#xff0c;请联系删除 目录 一、用户身份与能力 二、文件权限与归属 三、文件的特殊权限 四、文件的隐藏属性 五、文件访问控制列表 六、su命令和sudo服务 致谢 一、…

什么是CTO?如何成为一名优秀的CTO?

一、什么是CTO&#xff1f; 首席技术官&#xff08;CTO&#xff09;是一位负责领导和管理企业技术战略的高级职务。CTO的主要职责包括规划技术战略、监督研发活动、领导技术团队等。 二、CTO的主要职责 首席技术官&#xff0c;即CTO&#xff0c;是企业中负责技术和研发的高级管…

【漏洞复现】Emlog Pro 2.3.4——任意用户登入、会话持久化(CVE-2024-5044)

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现 漏洞描述 漏洞编号&#xff1a;CVE-2024-5044 漏洞成因&#xff1a; 在Emlog Pro …

flutter开发实战-Charles抓包设置,dio网络代理

flutter开发实战-Charles抓包设置 在开发过程中抓包&#xff0c;可以看到请求参数等数据&#xff0c;方便分析问题。flutter上使用Charles抓包设置。dio需要设置网络代理。 一、dio设置网络代理 在调试模式下需要抓包调试&#xff0c;所以需要使用代理&#xff0c;并且仅用H…

cross attention交叉熵注意力机制

交叉注意力(Cross-Attention)则是在两个不同序列上计算注意力&#xff0c;用于处理两个序列之间的语义关系。在两个不同的输入序列之间计算关联度和加权求和的机制。具体来说&#xff0c;给定两个输入序列&#xff0c;cross attention机制将一个序列中的每个元素与另一个序列中…

机器学习与现代医疗设备的结合:革新医疗健康的未来

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引言 随着技术的不断进步&#xff0c;机器学习&#xff08;Machine Learning, ML&#xff09;在现代医疗设备中的应用正在改变着…

基于B/S模式和Java技术的生鲜交易系统

你好呀&#xff0c;我是计算机学姐码农小野&#xff01;如果有相关需求&#xff0c;可以私信联系我。 开发语言&#xff1a;Java 数据库&#xff1a;MySQL 技术&#xff1a;B/S模式、Java技术 工具&#xff1a;Visual Studio、MySQL数据库开发工具 系统展示 首页 用户注册…

如何在应用运行时定期监控内存使用情况

如何在应用运行时定期监控内存使用情况 在 iOS 应用开发中&#xff0c;实时监控内存使用情况对于优化性能和排查内存泄漏等问题非常重要。本文将介绍如何在应用运行时定期监控内存使用情况&#xff0c;使用 Swift 编写代码并结合必要的工具和库。 1. 创建桥接头文件 首先&…

线程安全的原因及解决方法

什么是线程安全问题 线程安全问题指的是在多线程编程环境中&#xff0c;由于多个线程共享数据或资源&#xff0c;并且这些线程对共享数据或资源的访问和操作没有正确地同步&#xff0c;导致数据的不一致、脏读、不可重复读、幻读等问题。线程安全问题的出现&#xff0c;通常是…

论文略读:Can Long-Context Language Models Subsume Retrieval, RAG, SQL, and More?

202406 arxiv 1 intro 传统上&#xff0c;复杂的AI任务需要多个专门系统协作完成。 这类系统通常需要独立的模块来进行信息检索、问答和数据库查询等任务大模型时代&#xff0c;尤其是上下文语言模型&#xff08;LCLM&#xff09;时代&#xff0c;上述问题可以“一体化”完成…

MybatisX插件的简单使用教程

搜索mybatis 开始生成 module path&#xff1a;当前项目 base package:生成的包名&#xff0c;建议先独立生成一个&#xff0c;和你原本的项目分开 encoding&#xff1a;编码&#xff0c;建议UTF-8 class name strategy&#xff1a;命名选择 推荐选择camel&#xff1a;驼峰命…

ROS——多个海龟追踪一个海龟实验

目标 通过键盘控制一个海龟&#xff08;领航龟&#xff09;的移动&#xff0c;其余生成的海龟通过监听实现追踪定期获取领航龟和其余龟的坐标信息&#xff0c;通过广播告知其余龟&#xff0c;进行相应移动其余龟负责监听 疑惑点&#xff08;已解决&#xff09; int main(int…

【网络安全】实验四(网络扫描工具的使用)

一、本次实验的实验目的 &#xff08;1&#xff09;掌握使用端口扫描器的技术&#xff0c;了解端口扫描器的原理 &#xff08;2&#xff09;会用Wireshark捕获数据包&#xff0c;并对捕获的数据包进行简单的分析 二、搭配环境 打开两台虚拟机&#xff0c;并参照下图&#xff…

k8s+docker集群整合搭建(完整版)

一、Kubernetes系列之介绍篇 1、背景介绍 云计算飞速发展 IaaS PaaS SaaS Docker技术突飞猛进 一次构建&#xff0c;到处运行 容器的快速轻量 完整的生态环境 2、什么是kubernetes 首先&#xff0c;他是一个全新的基于容器技术的分布式架构领先方案。Kubernetes(k8s)是Goog…

磐维2.0数据库日常维护

磐维数据库简介 “中国移动磐维数据库”&#xff08;ChinaMobileDB&#xff09;&#xff0c;简称“磐维数据库”&#xff08;PanWeiDB&#xff09;。是中国移动信息技术中心首个基于中国本土开源数据库打造的面向ICT基础设施的自研数据库产品。 其产品内核能力基于华为 OpenG…

001uboot体验

1.uboot的作用&#xff1a; 上电->uboot启动->关闭看门狗、初始化时钟、sdram、uart等外设->把内核文件从flash读取到SDRAM->引导内核启动->挂载根文件系统->启动根文件系统的应用程序 2.uboot编译 uboot是一个通用的裸机程序&#xff0c;为了适应各种芯片&…

注意力机制 attention Transformer 笔记

动手学深度学习 这里写自定义目录标题 注意力加性注意力缩放点积注意力多头注意力自注意力自注意力缩放点积注意力&#xff1a;案例Transformer 注意力 注意力汇聚的输出为值的加权和 查询的长度为q&#xff0c;键的长度为k&#xff0c;值的长度为v。 q ∈ 1 q , k ∈ 1 k …