【Ubuntu18.04】Autoware.ai安装

news2024/12/25 0:59:26

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.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安装与编译

安装官网链接链接:https://gitlab.com/autowarefoundation/autoware.ai/autoware/-/wikis/Source-Build
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联合仿真

注意不要在conda里面运行

conda deactivate

4.1 源码的编译

建议使用Ubuntu18.04并安装好cuda
下载好源码,这里用1.14.0版本:
🔗1:GitHub
🔗2:autoware仓库
下载解压进入目录执行

cd autoware-1.14.0
mkdir -p src
vcs import src < autoware.ai.repos

继续执行:

rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro SROS DISTRO

报错1:如果rosdep update报错:index-v4.yaml
文件解决:https://zhuanlan.zhihu.com/p/479551543
报错2:如下
在这里插入图片描述
解决方法:

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-guiros-melodic-rgt-gui-py ros-melodic-mmea-navsat-driver ros-melodic-velodyne-pointcloud ros-melodic-grid-map-cv ros-melodic-grid-map-msgs ros-melodic-grid-map-os ros-melodic-automotive-navigation-msgs ros-melodic-rosbash ros-melodic-autoware-msas ros"melodic-automotive-platform-msgs ros-melodic-qpoases-vendor ros-melodic-xacro
sudo apt-get nstall ros-melodic-controller-manager ros-melodic-robot-state-publisher ros-melodic-joint-state-controller rosmelodic-gps-common ros-melodic-geodesy

4.1.4 安装eigen3.3.7

下载链接: https://gitlab.com/libelgen/elgen/-/archive/3.3.7/elgen-3.3.7.tar.gz
下载完成后,在压缩包所在目录打开终端

//解压
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/gg_58879770/article/details/127037125

4.1.6 编译

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

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.coloradmin.cn/o/1040290.html

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

相关文章

crypto:看我回旋踢

题目 下载压缩包后解压可得到提示文本 经过观察&#xff0c;synt{}这个提示与flag{}形式很像 由题目名中的回旋可以推测为凯撒密码&#xff0c;由凯撒密码的定义可知&#xff0c;需要先推出移位数&#xff0c;s->f数13次&#xff0c;因此移位数为13&#xff0c;解码可得

uniapp ssr发行后一直Hydration completed but contains mismatches Cannot find module

最开始我用前端网页托管的地址访问一直是 Hydration completed but contains mismatches 解决方案 要从云函数的地址访问项目。 先绑定域名&#xff0c;否则用uniapp自带地址访问一直是下载文件 设置路径 最后效果 uniapp ssr 云函数访问 MODULE_NOT_FOUND:Cannot fin…

浅谈! 几种 SpringBoot/SpringCloud 开源项目

简介 SpringBoot 是一个非常流行的 Java 框架&#xff0c;它可以帮助开发者快速构建应用程序。他不仅继承了 Spring 框架原有的优秀特性&#xff0c;而且还通过简化配置来进一步简化了 Spring 应用的整个搭建和开发过程。 最近&#xff0c;小编蹲点各大开源网站、社区等&…

什么是Jmeter ?Jmeter使用的原理步骤是什么?

1.1 什么是 JMeter Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于 Web 应用测试&#xff0c;但后来扩展到其他测试领域。 它可以用于测试静态和动态资源&#xff0c;例如静态文件、Java 小服务程序、CGI 脚…

实现爬虫加速的可实现办法

网络爬虫在数据采集和信息监测中发挥着重要作用。然而&#xff0c;由于网络环境复杂和大量数据需求&#xff0c;爬虫速度可能面临挑战。本文将为您分享一些实现爬虫加速的可行方法&#xff0c;帮助您让爬虫快如闪电&#xff01;让我们一起探索吧&#xff01; 一、多线程并发请…

Linux查看哪些进程占用的系统 buffer/cache 较高 (hcache,lsof)命令

1、什么是buffer/cache &#xff1f; buffer/cache 其实是作为服务器系统的文件数据缓存使用的&#xff0c;尤其是针对进程对文件存在 read/write 操作的时候&#xff0c;所以当你的服务进程在对文件进行读写的时候&#xff0c;Linux内核为了提高服务的读写速度&#xff0c;则将…

​旅行季《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著想象和世界一样宽广

​旅行季《乡村振兴战略下传统村落文化旅游设计》许少辉八一新著想象和世界一样宽广

微信如何一次自动回复多条信息?

微信已经成为了我们在工作中不可或缺的通讯工具&#xff0c;但是由于微信平台并没有开放自动回复和快捷回复等方便的功能&#xff0c;一旦咨询大量增加&#xff0c;就会出现回复不及时的情况。这会对客户的满意度造成影响&#xff0c;降低客户转化率&#xff0c;甚至导致客户流…

STL库——string类的常见使用

一、基本介绍 1.string类是STL库里面比较常见的一个数据结构&#xff0c;string是表示字符串的字符串类 &#xff0c;该类的接口与常规容器的接口基本相同&#xff0c;再添加了一些专门用来操作string的常规操作。 2.string在底层实际是&#xff1a;basic_string模板类的别名…

全自动情感故事对话视频生成神器

搞笑聊天视频是近年来备受欢迎的一种娱乐形式&#xff0c;它能够快速、简单地制作出形象生动、幽默搞笑的对话视频&#xff0c;给人带来欢乐与笑声。而今天&#xff0c;我要向大家介绍的是一款功能强大、操作简单的搞笑聊天视频生成器。 这款聊天视频生成器具备多项令人惊叹的…

Linux内核之内存管理分段机制原理与实现(从无到有的过程)

1. 分段机制概述 对于分段机制&#xff0c;要从Intel的微处理器的8086开始说起&#xff0c;刚开始内存空间比较小&#xff0c;内存寻址采用的是直接访问物理地址的方式。由于技术的发展&#xff0c;计算机做的事情越来越多&#xff0c;程序也越来越大&#xff0c;为了更大的内…

重生奇迹MU游戏开店技巧

重生奇迹游戏开店攻略 在游戏之中有很多炫酷的玩法&#xff0c;而且还有存在很多奇怪的现象&#xff0c;很多玩家喜欢在游戏之中充当商人&#xff0c;然后在游戏之中开店卖一些东西&#xff0c;或者是倒卖一些物品。 从买卖物品之中赚取一定差价&#xff0c;的确这样可以为玩…

Jetsonnano B01 笔记8:屏幕分辨率的调整

最近我的jetson 被学弟借用学习了一阵子&#xff0c;他在一顿捯饬后&#xff0c;成功将我的屏幕分辨率改成了一个阴间的水平&#xff0c;十分影响操作学习。 终端命令更改分辨率&#xff1a; 我们可以打开终端&#xff0c;输入以下命令来更改分辨率&#xff0c;但这样做有一个…

6个基于DSPM组件的使用案例

在这个信息技术时代&#xff0c;企业必须应对日益增长的生成和保护大量数据的需求。这就是为什么制定广泛而有效的策略来处理和保护这些数据比以往任何时候都更加重要的原因。数据安全状况管理 &#xff08;DSPM&#xff09; 是一种解决方案&#xff0c;可帮助现代组织实施全面…

Unity 2021.x及以下全版本Crack

前言 最近Unity那档子事不出来了吗&#xff0c;搞得所有人都挺烦的&#xff0c;顺便在公司内网需要我完成一个游戏的项目&#xff0c;就研究了一下如何将Unity给Crack掉。 注意所有操作应有连接外网的权限 以我选择的版本为例&#xff0c;我使用的是Unity 2021.3.5f1与Unity…

【HarmonyOS】解决API6 WebView跳转外部浏览器问题、本地模拟器启动黑屏

【问题描述1】 HarmonyOS API6 Java开发中使用WebView组件&#xff0c;如果网页中有跳转链接&#xff0c;点击会跳转到手机系统浏览器。 【解决方案】 解决这个问题的方法就是给WebView这种自定义的WebAgent对象。具体代码如下&#xff1a; WebConfig webConfigthis.webView…

甲骨文创新中心与正初为职教集团达成人才培养合作,探索数实结合产教融合模式

2023年9月20日&#xff0c;甲骨文&#xff08;南京&#xff09;人工智能创新中心&#xff08;以下简称“甲骨文创新中心”&#xff09;与正初为职教集团在南京举行了战略合作签约仪式。甲骨文创新中心正式宣布和正初为职教集团达成职业教育数实结合产教融合合作协议&#xff0c…

数据集笔记:T-drive 北京出租车轨迹数据

数据地址&#xff1a;T-Drive trajectory data sample - Microsoft Research 1 数据描述 此数据集包含了2008年2月2日至2月8日在北京期间10,357辆出租车的GPS轨迹。此数据集中的总点数约为1500万&#xff0c;轨迹的总距离达到了900万公里。图1显示了两个连续点之间的时间间隔和…

java后端笔记

写在前面 节选自&#xff1a; 黑马程序员&#xff1a;新版Java面试专题视频教程&#xff1a;https://www.bilibili.com/video/BV1yT411H7YK?p1 javaguide&#xff1a;https://javaguide.cn/home.html 集合 ConcurrentHashMap JDK1.7&#xff1a;分段数组链表&#xff0c;用…

TCP 和 UDP哪个更好

传输控制协议 &#xff08;TCP&#xff09; 和用户数据报协议 &#xff08;UDP&#xff09; 是互联网的基础支柱&#xff0c;支持从网络源到目的地的不同类型的数据传输。TCP更可靠&#xff0c;而UDP优先考虑速度和效率。本文解释了两种协议的工作原理&#xff0c;并详细讨论了…