【Autoware】2小时安装Autoware1.13(保姆级教程)

news2024/9/27 12:11:26

前言:ROS的出现使得机器人软件开发更加快速和模块化,在此基础上,Autoware.ai开源项目可以让我们很容易地将一套完整的自动驾驶软件部署到我们的测试车辆上,并见证它跑起来!

文章目录

    • 1.Autoware简介
    • 2.电脑软硬件配置要求
    • 3.Ubuntu 18.04系统
    • 4.ROS Melodic安装
      • ROS安装
      • 配置rosdep update
    • 5.Qt 5.12.0框架安装
      • 安装Qt
      • 配置系统路径
    • 6.Autoware 1.13自动驾驶软件安装
      • 安装系统软件依赖
      • 建立工作空间
      • 安装autoware软件依赖
      • 开始编译
    • 7.其他

1.Autoware简介

Autoware是一款“一体化”开源自动驾驶软件,能实现感知、决策、控制等功能,通过在Ubuntu中搭建Autoware开发环境和案例的运行,使大家对自动驾驶技术的实现有一个更清晰的认识。

在这里插入图片描述

软件架构图如下:

在这里插入图片描述

2.电脑软硬件配置要求

  • 硬件要求:
    • 处理器-推荐i7,最低i5
    • 运行内存-16G及以上
    • 硬盘存储-100G及以上
    • 显卡-暂无要求
  • 软件要求:
    • 操作系统-Ubuntu 18.04
    • 框架&中间件-ROS Melodic
    • 界面框架-Qt 5.12.0
    • 自动驾驶软件-Autoware 1.13

由于大多数学习者电脑没有GPU,以下安装仅适用于Autoware-cpu版本。

3.Ubuntu 18.04系统

推荐安装双系统,安装方法不再赘述!

4.ROS Melodic安装

ROS安装

推荐使用“鱼香ROS”大佬的一键安装命令:
wget http://fishros.com/install -O fishros && . fishros

(注意:根据自身情况选择“是否更新源”、“ROS版本”、“桌面版/精简版”)
安装完成之后,通过 roscore 命令测试主节点,输出如下信息表示安装成功:

PARAMETERS
 * /rosdistro: melodic
 * /rosversion: 1.14.7

NODES

auto-starting new master
process[master]: started with pid [1215]
ROS_MASTER_URI=http://nx:11311/

setting /run_id to cb38e680-dee2-11ea-bae1-70665563e003
process[rosout-1]: started with pid [1228]
started core service [/rosout]

配置rosdep update

rosdep update自动更新ros源的实现:

  1. 下载脚本:wget https://gitee.com/ncnynl/rosdep/raw/master/rosdep_update.sh ;
  2. 管理员给定执行权限:sudo chmod +x ./rosdep_update.sh;
  3. 管理员运行脚本:sudo ./rosdep_update.sh
  4. 出现这一行,代表成功:all files replaced is finished, please continues run rosdecp update
  5. 然后依次执行:sudo rosdep initrosdep update即可。
    ------------失效,可用小鱼工具[3]rosdepc---------------

5.Qt 5.12.0框架安装

安装Qt

打开浏览器,在地址栏输入下面地址:

http://mirrors.ustc.edu.cn/qtproject/archive/qt/5.12/5.12.0/qt-opensource-linux-x64-5.12.0.run

将会自动下载如下软件包:

qt-opensource-linux-x64-5.12.0.run

进入“下载”目录下,打开终端,改变执行权限并安装:
注意,安装Qt时请断开网络连接!安装路径请放置在/opt/Qt5.12.0,选择需要的Qt模块

sudo chmod +x qt-opensource-linux-x64-5.12.0.run
sudo ./qt-opensource-linux-x64-5.12.0.run

配置系统路径

安装完成之后,需要配置系统路径,可解决找不到头文件、无法添加文件等问题。
打开终端,输入:

sudo gedit /etc/bash.bashrc

在文件末尾添加:

export QTDIR=/opt/Qt5.12.0/5.12.0/gcc_64
export PATH=$QTDIR/bin:$PATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH

保存后在终端执行:

source /etc/bash.bashrc

要确认是否添加成功,可输入如下命令(输出Qt的路径表示配置成功):

echo $PATH

至此,Qt creater安装完成,也可以进行qt开发。

6.Autoware 1.13自动驾驶软件安装

因为Autoware1.14版本有很多BUG,目前还没有修复,用1.14版本的有很多包都是从1.13版本移植过来的,但1.12版本又缺失了很多模块,因为取其中选择了1.13版。

安装系统软件依赖

sudo apt-get update
sudo apt-get install -y python-catkin-pkg python-rosdep ros-melodic-catkin
sudo apt-get install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
pip3 install -U setuptools

(如果有错误用下面这条语句解决,无错请跳过!)
python3.6 -m pip install launchpadlib

建立工作空间

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

下载源码或者用我给定的源码(替换掉src文件夹即可):

wget -O autoware.ai.repos https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.13.0/autoware.ai.repos?inline=false
vcs import src < autoware.ai.repos

安装autoware软件依赖

rosdepc update
rosdepc install --from-paths src --ignore-src --rosdistro=melodic -y

开始编译

编译cpu版本的autoware(注:如果更改了源码,即src文件夹,重新编译autoware工作区即可!)

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

在这里插入图片描述

(正常情况下,编译成功164个packages!)

启动autoware:

source install/setup.bash
roslaunch runtime_manager runtime_manager

界面如下:

在这里插入图片描述

至此,Autoware 1.13安装完成!恭喜你在自动驾驶道路上又前进了一步!!!

7.其他

Q1:citysim编译报错
A1:电脑安装了其他protobuf版本,需要适配到protobuf3.0.0

以上。

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

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

相关文章

爆肝更新 Python 100道基础入门练习题(附答案)

前言 大家早好、午好、晚好吖 ❤ ~ 更多精彩内容、资源皆可点击文章下方名片获取此处跳转 实例001&#xff1a;数字组合 题目&#xff1a; 有四个数字&#xff1a;1、2、3、4&#xff0c;能组成多少个互不相同且无重复数字的三位数&#xff1f;各是多少&#xff1f; 程序分…

合宙入门教程之luat开发教程

合宙入门教程准备工作连接电脑建工程与烧录测试demo之main.lua实验现象准备工作 1.开发板&#xff08;1块&#xff09; 2.Luatools_v2.exe &#xff08;烧录固件软件&#xff09; 3.USB驱动 跳转合宙官网链接 连接电脑 1.首先安装合宙开发工具&#xff0c;其次安装USB驱动。…

【JAVA】一个项目如何预先加载数据?

这里写目录标题需求实现AutowiredPostConstruct实例CommandLineRunner实例ApplicationListener实例参考需求 一般我们可能会有一些在应用启动时加载资源的需求&#xff0c;局部或者全局使用&#xff0c;让我们来看看都有哪些方式实现。 实现 Autowired 如果是某个类里需求某…

山东大学机器学习期末2022

接力&#xff1a;山东大学机器学习期末2021 本来是不想写的&#xff0c;因为不想回忆起考试时啥也不会的伤痛&#xff0c;没想到最后给分老师海底捞&#xff0c;心情好了一些&#xff0c;还是一块写完 备考建议&#xff1a;多看ppt&#xff0c;多看ppt&#xff0c;多看ppt 山东…

关于 Android 线程优化这些知识你都该了解

前言在实际项目开发中会频繁的用到线程&#xff0c;线程使用起来是很简单&#xff0c;但是滥用线程会带来性能问题&#xff0c; 比如启动一个线程至少 占用16kb的内存、线程过多会导致cpu的频繁切换而cpu切换成本是很高的、消耗大量用户电量等问题&#xff0c; 所以应该让app的…

Set集合、HashSet集合、LinkedHashSet集合

1、Set集合的特点 无序&#xff0c;不重复、无索引 Set集合的方法上基本和Collection的API一致 2、Set集合的实现类特点 HashSet&#xff1a;无序、不重复、无索引 LinkedHashList&#xff1a;有序、不重复、无索引 TreeSet&#xff1a;可排序、不重复、无索引 public s…

taobao.fulfillment.order.assemble( 拆合单结果回传接口 )

&#xffe5;免费必须用户授权 拆合单结果回传接口 公共参数 请求地址: HTTP地址 http://gw.api.taobao.com/router/rest 公共请求参数: 公共响应参数: 请求参数 响应参数 点击获取key和secret 请求示例 TaobaoClient client new DefaultTaobaoClient(url, appkey, secr…

centos7合并home分区到root分区

最近在尝试通过物理机安装 CentOS&#xff0c;官方镜像默认安装时&#xff0c;如果没有手动分区&#xff0c;默认设置是会将 home 单独分区&#xff0c;系统分区默认为 50 GB&#xff0c;这里提供方法将 home 分区合并到 root 分区。 1.查看当前系统分区情况 输入命令&#x…

华为OD机试用Python实现 -【删除重复数字后的最大数字】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲删除重复数字后的最大数字题目输入输出示例一输入输出示例二输入输出Python 代码展示编码思路华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查看地址:blog.csdn.ne…

RedisTemplate和StringRedisTemplate的区别

RedisTemplate和StringRedisTemplate的区别&#xff1a; 两者的关系是StringRedisTemplate继承RedisTemplate。两者的数据是不共通的&#xff1b;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据&#xff0c;RedisTemplate只能管理RedisTemplate中的数据。…

图解鼠标事件的 ScreenX ,LayerX,clientX,PageX,offsetX,X

前言&#xff1a; 完在上一篇文章 &#x1f381;如何实现原生 JS 的拖拽效果我中使用到了 MouseEvent 事件对象身上的 clienX 的属性&#xff0c;但同时我也注意到了事件对象身上关于 X 的相关属性还有很多&#xff0c;并且在移动端开发中&#xff0c;这些属性需要频繁的用到&a…

golang 实现链表爽不爽?

犹记得刚学 C 语言的时候&#xff0c;学到指针这一章&#xff0c;就会有让我们写链表的需求&#xff0c;头插法&#xff0c;尾插法&#xff0c;翻转链表&#xff0c;合并链表&#xff0c;约瑟夫环等等 学的不亦乐乎&#xff0c;但是 对于指针刚学的时候&#xff0c;真是摸不着…

DolphinDB实现动量交易策略详解

动量策略是最流行的量化策略之一。商品期货的CTA策略&#xff0c;绝大多数都是基于动量策略。在股票市场&#xff0c;动量策略也是常用的量化因子之一。通俗地讲&#xff0c;动量策略就是“追涨杀跌”。下面我们将介绍如何在DolphinDB中测试动量交易策略&#xff0c;并计算动量…

第三阶段04-同步请求和异步请求,get/post,Josn,pojo,Session/Cookie,过滤器Filter

文章目录同步请求和异步请求客户端如何发出异步请求自定义模板代码Get和Post请求异步版本的注册和登录商品管理系统(异步版本)商品列表步骤:前后端分离为什么需要前后端分离?为什么以后不再使用同步请求?JSONPOJO会话对象Session如何记住登录状态后端的MVC会话管理Cookie通过…

交叉编译 iceoryx

交叉编译 iceoryx 概述 iceoryx 是用于各种操作系统的进程间通信&#xff08;IPC&#xff09;中间件&#xff08;目前支持 Linux、macOS、QNX、FreeBSD 和 Windows 10&#xff09;。它起源于汽车行业&#xff0c;当涉及到驾驶员辅助或自动驾驶系统时&#xff0c;需要在不同的过…

一起来学 next.js - getStaticProps、getStaticPaths 篇

之前讲过 next.js 中的 getServerSideProps&#xff0c;今天来讲一讲另一个很类似的 API&#xff1a;getStaticProps&#xff0c;以及和 getStaticProps 紧密相关的 getStaticPaths。 getStaticProps 主要用于构建时落地一些静态数据&#xff0c;但不同于 getServerSideProps&…

动态规划背包问题

背包问题的分类 拿到背包问题,最重要的是会归类到哪一种背包问题中,常见的考题里主要是01背包和完全背包,leetcode上连多重背包的题目都没有。实际完全背包问题就是01背包的一种。 对一和零这道题,很多人容易把m看成一个背包,n看成另一个背包,从而当做多重背包。然而这…

ChatGPT创业潮来了,我既兴奋又焦虑

最近一段时间&#xff0c;ChatGPT从AI领域破圈&#xff0c;成了互联网领域的新风口。创业者和投资人也兴奋起来了。 创业的方向已经很明了。做中国版对标ChatGPT的大模型&#xff0c;是显而易见的一条路。目前百度的“文心一言”已经呼之欲出&#xff0c;原美团联合创始人王慧…

超店有数分享:2023还有哪些tiktok数据值得关注?

目前&#xff0c;tiktok是全球增长最迅猛的社交媒体软件之一。很多商家瞄准了tiktok的变现转化潜力&#xff0c;纷纷入局tiktok电商赛道。在入局这个赛道之前&#xff0c;我们需要了解一些tiktok的相关数据&#xff0c;这样才能更好的了解大局&#xff0c;及时调整自己的业务情…

Swagger2基本使用

这里写目录标题废话篇前言什么是openAPISwagger简介Springfox使用篇swagger的基本使用废话篇 前言 接口文档对于前后端开发人员都十分重要。尤其近几年流行前后端分离后接口文档又变成重中之重。接口文档固然重要&#xff0c;但是由于项目周期等原因后端人员经常出现无法及时…