【Ubuntu18.04】Autoware.ai安装

Autoware.ai安装

  • 引言
  • 1 ROS安装
  • 2 Ubuntu18.04安装Qt5.14.2
  • 3 安装GCC、G++
  • 4 Autoware.ai-1.14.0安装与编译
    • 4.1 源码的编译
      • 4.1.1 python2.7环境
      • 4.1,2 针对Ubuntu 18.04 / Melodic的依赖包安装
      • 4.1.3 先安装一些缺的ros依赖
      • 4.1.4 安装eigen3.3.7
      • 4.1.5 安装opencv 3.4.16
      • 4.1.6 编译
      • 4.1.7 运行
    • 4.2 Docker Autoware环境搭建
    • 4.3 运行 Autoware
    • 4.4 ROSBAG Demo

引言

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 对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

查看版本

qmake -v

参考链接:Ubuntu18.04安装Qt5.14.2

3 安装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++

4 Autoware.ai-1.14.0安装与编译

安装官网链接链接:

Autoware的GitLab 仓库
硬件支持:

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

笔者的安装流程如下:
在这里插入图片描述
3个方面入手学习:
(1) 编译安装,docker和源码
如果要源码编译,建议使用ubuntu18.04,doker编译,要有gpu编译,需要配匿doker-nvidia,配置过程参考htos://blog,sdn,net/gg_15409121/artidle/details/126384319
(2) ui界面的使用
(3)与carla联合仿真

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

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

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

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

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

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

在这里插入图片描述

step2: 继续执行:

rosdep update

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

roscore

在这里插入图片描述
如笔者的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文件夹所在位置
在这里插入图片描述

最后成功,显示如下:
在这里插入图片描述
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

在这里插入图片描述

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

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

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

All required rosdeps installed successfully

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

4.1.1 python2.7环境

先查看python2和python3的版本信息
python2 --version
which python2
python3 --version
which python3
查看当前系统的python版本
python --version
依次装载python2和python3
sudo update-alternatives --install /usr/bin/pthon python /usr/bin/python2 0
sudo update-alternatives --install /usr/bin/pthon python /usr/bin/python3 1
查看update-alternatives维护的python列表
sudo update-alternatives --list python
python2和python3相互切换
sudo update-alternatives --config python

在这里插入图片描述

4.1,2 针对Ubuntu 18.04 / Melodic的依赖包安装

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
pip install catkin_pkg -i https://pypi.tuna.tsinghua.edu.cn/simple/
sudo apt install libglew-dev

在这里插入图片描述

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

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

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

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

4.1.5 安装opencv 3.4.16

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

4.1.6 编译

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

4.1.7 运行

source install/setup.bash
roslaunch runtime_manager runtime_manager.launch

4.2 Docker Autoware环境搭建

创建工作空间

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

下载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

使用rosdep安装依赖项

rosdep update

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

sudo pip install rosdepc
sudo rosdepc init
rosdepc update

再下载依赖

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

执行成功则显示如下:
在这里插入图片描述

使用CUDA支持编译工作空间

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

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

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

在这里插入图片描述

4.3 运行 Autoware

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

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

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

4.4 ROSBAG Demo

官网链接:ROSBAG Demo
在这里插入图片描述

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

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

相关文章

桥梁模板人工费多少钱?

桥梁模板是桥梁工程中不可或缺的一部分&#xff0c;它起到支撑和固定混凝土浇筑的作用。在桥梁建设中&#xff0c;模板人工费用是一个重要的成本因素。那么&#xff0c;桥梁模板人工费到底是多少呢&#xff1f;下面我们来详细了解一下。 首先&#xff0c;需要明确的是&#xff…

ESP32IDF出现Syntax Warning in cmake code at column 47报错

前言 &#xff08;1&#xff09;ESP32的资料还是挺难找的&#xff0c;遇到bug处理起来挺折磨人的。今天分享一个我遇到的bug&#xff0c;以及处理思路。 报错日志 &#xff08;1&#xff09;前天在些博客的时候&#xff0c;做测试发现了一个奇怪的bug&#xff0c;报错日志如下。…

【数据结构初阶】六、线性表中的队列(链式结构实现队列)

相关代码gitee自取&#xff1a; C语言学习日记: 加油努力 (gitee.com) 接上期&#xff1a; 【数据结构初阶】五、线性表中的栈&#xff08;顺序表实现栈&#xff09;_高高的胖子的博客-CSDN博客 1 . 队列&#xff08;Queue&#xff09; 队列的概念和结构&#xff1a; 队列…

手写Hystrix基本原理

本文已收录于专栏 《中间件合集》 目录 概念说明什么是HystrixHystrix解决的问题 提供服务工作流程代码实现HystrixSDKMyHystrixCommand注解MyHystrixProperty注解MyAspect注解解释器 发送请求端引入Hystrix的依赖调用代码 接收请求端执行效果发送请求端 总结提升 概念说明 什…

JAVA:实现Excel和PDF上下标

1、简介 最近项目需要实现26个小写字母的上下标功能,自己去网上找了所有Unicode的上下标形式,缺少一些关键字母,顾后面考虑自己创建上下标字体样式,以此来记录。 2、Excel Excel本身是支持上下标,我们可以通过Excel单元格的样式来设置当前字体上下标,因使用的是POI的m…

通过java向jar写入新文件

文章目录 原始需求分析实施步骤引入依赖核心编码运行效果 原始需求 有网友提问&#xff1a; 我想在程序中动态地向同一个jar包中添加文件&#xff0c;比如&#xff0c;我的可执行jar包是test.jar,我要在它运行时生成一些xml文件并将这些文件添加到test.jar中,请问如何实现&…

细胞机器人系统的概念

摘要 本文讨论了一种新型机器人系统的理论和工程的概念基础。该系统由协作完成任务的自主机器人单元组成。本文在描述了该系统与细胞自动机和神经网络的相关性和差异后&#xff0c;建立了该系统的基础属性及其对机器人单元结构的影响、它们操作的空间以及它们完成全局任务的算法…

【Ambari】银河麒麟V10 ARM64架构_安装Ambari2.7.6HDP3.3.1问题总结

&#x1f341; 博主 "开着拖拉机回家"带您 Go to New World.✨&#x1f341; &#x1f984; 个人主页——&#x1f390;开着拖拉机回家_大数据运维-CSDN博客 &#x1f390;✨&#x1f341; &#x1fa81;&#x1f341; 希望本文能够给您带来一定的帮助&#x1f338;文…

如何快速学习AdsPower RPA(2)——中级、高级部分

Tool哥继续给大家分享快速学习AdsPower RPA的方法。上一篇在这里&#xff0c;还没看过的小伙伴赶快补课去&#xff1a;如何快速学习AdsPower RPA&#xff08;1&#xff09;——简单、进阶部分 能进入到中级、高级阶段的学习&#xff0c;说明你自学能力超强&#xff01;只要跟着…

java spring cloud 企业电子招标采购系统源码:营造全面规范安全的电子招投标环境,促进招投标市场健康可持续发展

功能描述 1、门户管理&#xff1a;所有用户可在门户页面查看所有的公告信息及相关的通知信息。主要板块包含&#xff1a;招标公告、非招标公告、系统通知、政策法规。 2、立项管理&#xff1a;企业用户可对需要采购的项目进行立项申请&#xff0c;并提交审批&#xff0c;查看所…

编译原理简介

编译原理简介 编译原理的研究对于理解和设计编程语言、编译器和解释器都非常重要。它不仅可以提高程序的执行效率&#xff0c;还可以帮助开发人员更好地理解程序的运行机制。编译原理是计算机科学中的一个重要分支&#xff0c;研究的是编译器的设计和实现。对于从事编译器开发…

OpenGL之着色器

着色器(Shader)是运行在GPU上的小程序。这些小程序为图形渲染管线的某个特定部分而运行。从基本意义上来说&#xff0c;着色器只是一种把输入转化为输出的程序。着色器也是一种非常独立的程序&#xff0c;因为它们之间不能相互通信&#xff1b;它们之间唯一的沟通只有通过输入和…

开发模式-敏捷开发

1. 概述 随着软件开发技术的不断发展&#xff0c;现在出现了很多种不同的开发模式&#xff0c;其实敏捷开发已经成为现在很多企业开发应用程序都想要选择的开发方案&#xff0c;那么什么是敏捷开发呢&#xff1f; 1.1 四种开发模式 1.1.1 瀑布式开发 瀑布式开发是一种老旧的…

66种智能优化算法跑23个基准测试函数

目录 1、66种智能优化算法 2 、23个标准测试函数 3 、多种智能优化算法在CEC2005上对比 3.1、 多个算法对比 3.2 单个算法运行 1、66种智能优化算法 将66种智能优化算法在23个经典测试函数上进行对比&#xff0c;这些智能优化算法包括一些高性能算法&#xff0c;如…

软件测试/测试开发丨python 多态与super 学习笔记

本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接&#xff1a;https://ceshiren.com/t/topic/26828 python 多态与super 多态的概念 多态&#xff1a;Polymorphism 同名方法呈现多种行为 多态的表现 号 加法&#xff1a;数字 数字拼接&#xff1a;字符串 字符串合…

Spring基础与核心概念

Spring 是什么&#xff1f; 我们通常所说的 Spring 指的是 Spring Framework&#xff08;Spring 框架&#xff09;&#xff0c;它是⼀个开源框架&#xff0c;有着活跃而庞大的社区&#xff0c;这就是它之所以能长久不衰的原因。Spring 支持广泛的应⽤场景&#xff0c;它可以让…

大数据Doris(一):Doris概述篇

文章目录 Doris概述篇 一、前言 二、Doris简介

Vue封装全局SVG组件

1.SVG图标配置 1.安装插件 npm install vite-plugin-svg-icons -D 2.Vite.config.ts中配置 import { createSvgIconsPlugin } from vite-plugin-svg-icons import path from path export default () > {return {plugins: [createSvgIconsPlugin({// Specify the icon fo…

04. 人工智能核心基础 - 导论(3)

文章目录 人工智能和其他学科的关系为什么学习人工智能怎么学好人工智能&#xff1f;一些问题 Hi&#xff0c;你好。我是茶桁。 基于上一节课咱们的整体强度有点大&#xff0c;而且咱们马上也要进入高强度内容了&#xff0c;那么这一篇咱们就稍微水一篇吧。来聊聊天&#xff0…

FPGA 多路视频处理:图像缩放+视频拼接显示,HDMI采集,提供2套工程源码和技术支持

目录 1、前言版本更新说明免责声明 2、相关方案推荐FPGA图像缩放方案推荐FPGA视频拼接方案推荐 3、设计思路框架视频源选择IT6802解码芯片配置及采集动态彩条缓冲FIFO图像缩放模块详解设计框图代码框图2种插值算法的整合与选择 视频拼接算法图像缓存视频输出 4、vivado工程1&am…