【Autoware】Autoware.universe安装过程与问题记录
😏★,°:.☆( ̄▽ ̄)/$:.°★ 😏
这篇文章主要介绍Autoware.universe安装过程与问题记录。
无专精则不能成,无涉猎则不能通。——梁启超
欢迎来到我的博客,一起学习,共同进步。
喜欢的朋友可以关注一下,下次更新不迷路🥞
文章目录
- :smirk:1. 项目介绍
- :blush:2. 环境配置
- :satisfied:3. 示例运行
😏1. 项目介绍
最近开始使用ROS2
,顺便来装一下基于ROS2的Autoware版本来跑跑。
Autoware.Universe
是一个开源的自动驾驶汽车软件栈,是 Autoware 项目的一部分。Autoware 项目旨在为自动驾驶车辆提供完整的软件解决方案,涵盖从感知到控制的所有核心功能。Autoware.Universe 作为其中的一个重要子项目,主要致力于为多种自动驾驶应用场景提供高性能和可扩展的解决方案。
Autoware.Universe 是基于 ROS 2的自动驾驶系统。ROS 2是为机器人应用设计的开源框架,提供了强大的通信机制和工具支持,特别适合分布式系统和实时控制场景。Autoware.Universe 采用了 ROS 2 的架构,以提供更好的性能、实时性和灵活性,满足自动驾驶系统的高要求。
Autoware.Universe 的架构由多个核心组件组成,每个组件负责不同的功能:
1.感知(Perception):负责从传感器数据中提取有用的信息,包括物体检测、障碍物识别、车道线检测等。
2.定位(Localization):通过融合多种传感器数据,实时估计车辆在地图上的位置,提供高精度的定位信息。
3.地图(Mapping):生成和管理高精度地图,提供自动驾驶所需的环境信息和路况数据。
4.规划(Planning):根据感知和定位信息,生成安全有效的行驶路径和决策,包括路径规划、轨迹规划和运动规划。
5.控制(Control):根据规划的路径和轨迹,生成控制指令来操作车辆的转向、加速和制动,实现车辆的自动驾驶。
6.仿真(Simulation):提供仿真环境和工具,用于验证和测试自动驾驶算法和系统。
😊2. 环境配置
源码安装官方指导:https://autowarefoundation.github.io/autoware-documentation/main/installation/autoware/source-installation/
首先,安装好ubuntu22.04和ROS Humble,配置好git、python环境,然后跟随官方指导走。
sudo apt-get -y update
sudo apt-get -y install git
git clone https://github.com/autowarefoundation/autoware.git
cd autoware
# 自动安装依赖,基于Ansible,期间如果有失败,可根据指导手动安装
# 这一步我没有选择安装cuda、cudnn和tensorrt这些,无GPU也能跑
./setup-dev-env.sh
# 这里我遇到的是安装egm2008-1太慢,手动下载下来再拷贝到系统目录这样快一点
sudo cp egm2008-1/ /usr/share/GeographicLib/geoids/# 克隆源码仓库
cd autoware
mkdir src
vcs import src < autoware.repos
# 安装src需要的依赖
source /opt/ros/humble/setup.bash
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
# 编译(总共369个包,universe版本对内存要求挺高,我16G的电脑总是会出现被kill,可以调整用几个核心)
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release
# colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 8 # 用8个核心并行编译
# 编译过程中如果有些包老卡死,可以先临时删除不影响功能的包,我这边注释了eagleye_rt和autoware_vehicle_cmd_gate。
其他参考1:http://t.csdnimg.cn/0s2fe
其他参考2:http://t.csdnimg.cn/3KpRg
Autoware.Universe相比Autoware.ai安装难度还是更大的,而且目前网上的教程都是基于Ubuntu20这一版本的,基于Ubuntu22
的Autoware.Universe
界面相比之前有了大的改变,毕竟现在这个仓库还在持续更新中。
另外,除了跑官方的demo,还可以安装AWSim
和Carla
进行联合仿真,难度还是有的,前者是Autoware官方的仿真器,但我这边不管是安装哪个版本启动都出现段错误,提了issue,更改了nvidia-smi版本也不行,还不完善;Carla如果是Ubuntu22的话一定去选择Carla 0.9.15版本,这样Python版本才能对上。
大家有兴趣的可以再折腾折腾,欢迎评论区交流。
😆3. 示例运行
安装完成后,可以下载demo地图和数据包:
# down map
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1A-8BvYRX3DhSzkAnOcGWFw5T30xTlwZI'
unzip -d ~/autoware_map/ ~/autoware_map/sample-map-rosbag.zip# down rosbag
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1VnwJx9tI3kI_cTLzP61ktuAJ1ChgygpG'
unzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip
我在运行logging_simulator这一步的时候总是报错退出,原因未知:
ros2 bag play $HOME/autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3
# run map&rosbag
source install/setup.bash
ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
然后运行规划仿真器,Rviz上点击起点和终点可规划出路线:
# run planning_simulator
source install/setup.bash
ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware_map/sample-map-rosbag vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit
手动选择起点和终点:
但车其实还是没有真正跑起来,大家如果知道原因的话可以评论区交流。
以上。
相关文章:

【Autoware】Autoware.universe安装过程与问题记录
😏★,:.☆( ̄▽ ̄)/$:.★ 😏 这篇文章主要介绍Autoware.universe安装过程与问题记录。 无专精则不能成,无涉猎则不能通。——梁启超 欢迎来到我的博客,一起学习,共同进步。 喜欢的朋友可以关注一下…...

JavaScript的学习之旅之基本数据类型
目录 一、字面量(常量)和变量 二、标识符 三、数据类型 1.String类型 2.Number类型 四、布尔值类型 五、Null和Undefined类型 一、字面量(常量)和变量 字面量:不可变的数据,一般位于等式的右边 变量&…...

oracle开放某些视图给特定用户,查询报视图不存在问题
以sysdba身份登录到Oracle数据库。 创建新用户。例如,创建一个名为new_user的用户,密码为password: CREATE USER new_user IDENTIFIED BY password;为新用户分配表空间和临时表空间。例如,将表空间users和临时表空间temp分配给新…...
es 更新索引mapping和setting
1.关闭索引 curl -X POST "localhost:9200/your_index_name/_close"2.修改setting 配置 无法更新一些默认数据,按照需求构建,我这边是构建增加了分词器 "settings": {"index": {"creation_date": "1718850346547…...
广告联盟流量变现app开发
广告联盟流量变现App的开发是一个涉及多个方面的综合性项目。以下是一个简要的开发流程和相关考虑因素: 市场分析与定位: 首先,需要对目标用户群体进行深入研究,了解他们的需求和偏好1。分析当前市场上的竞争对手和流行的广告模式…...
【Python高级编程】pickle`文件处理:序列化与反序列化
使用pickle模块可以在Python中方便地序列化和反序列化Python对象。以下是一个例子,展示了如何处理pickle文件,包括如何保存数据到pickle文件和从pickle文件加载数据。假设我们有一些数据需要保存并在之后加载。 示例代码 保存数据到 pickle 文件 impo…...
如何在 Linux 上安装 Docker Desktop
如何在 Linux 上安装 Docker Desktop Docker 是一个用于开发、部署和运行应用程序的开放平台。Docker Desktop 是 Docker 在 macOS 和 Windows 上的官方客户端,现在也支持 Linux 系统。本文将详细介绍如何在 Linux 上安装 Docker Desktop。 系统要求 在开始安装之…...

勒索病毒猖狂,请提前做好安全防护,德迅卫士保护你的安全
随着互联网的飞速发展,网络安全问题日益凸显。其中,勒索病毒作为一种极具危害性的网络安全威胁,已经引起了广泛关注。为了帮助大家更好地预防和应对勒索病毒攻击,我们特地为您精心准备了这份超实用的勒索病毒自救预防指南。让我们…...

Pycharm怎么默认终端连接远程服务器
因为经常需要从宿舍到学校内通勤,期间所有连接都会中断,所以每次开SSH特别麻烦,每次终端自动切换到本地: 每次都得点一下Start SSH Session 想要默认终端连接远程服务器,需要点File->Setting->Tools->SSH T…...

CTFHUB-SSRF-端口扫描
已经提示我们需要扫描8000~9000的端口 ?urlhttp://127.0.0.1:8000/flag.php 访问用burp抓包爆破 通过Burp扫描8000-9000端口开放的web服务,发现8718开放web服务...
日期工具类:获取 当前周 | 上一周 | 下一周 的第一天(周一)和最后一天(周天)
问题背景 获取 当前周 | 上一周 | 下一周 的第一天(周一)和最后一天(周天)。 例如: 输入:2024-6-21, current 输出:{"firstDay": "2024-6-17","lastDay": "2024-6-23"}输入:2024-6-21, last 输出:{"firstDay": …...

大数据学习-Hadoop
介绍 是 Apache 的顶级开源项目,一个分布式框架,主要功能: 分布式大数据存储——HDFS 组件分布式大数据计算——MapReduce 组件分布式资源调度——YARN 组件 可以通过它来构建集群,完成大数据的存储和计算 学习起来相对简单&…...

visualbox搭建linux环境双网卡配置
文章目录 1. 双网卡模式简介2. 网络模式配置2.1 virtualBox说明2.2 host-only网络模式配置2.3 NAT网络模式配置 3. 虚拟主机网络设置3.1 网卡一设置3.2 网卡二设置 4. 网卡配置5. ssh访问 本篇的目的是为了搭建本地的linux测试环境用。 1. 双网卡模式简介 双网卡网络模式简介 …...
一分钟了解Galaxybase银河图数据库先锋版升级功能!
Galaxybase 银河图数据库是一款创邻科技自主研发的商用图数据库,具有高性能、高可用、企业级安全等特性,支持大规模数据查询实时返回,快速挖掘关联关系,发现深层商业洞见,可广泛应用于金融、能源、电信、政企等行业中的…...

C++并发之协程实例(二)(计算斐波那契序列)
目录 1 协程2 实例-计算斐波那契序列2.1 斐波那契序列2.2 代码 3 运行 1 协程 协程(Coroutines)是一个可以挂起执行以便稍后恢复的函数。协程是无堆栈的:它们通过返回到调用方来暂停执行,并且恢复执行所需的数据与堆栈分开存储。这允许异步执行的顺序代码…...

云邮件推送服务如何配置?有哪些优势特点?
云邮件推送的性能怎么优化?如何选择邮件推送服务? 云邮件推送服务是一种基于云计算的邮件发送解决方案,能够帮助企业和个人高效地发送大规模邮件。AokSend将详细介绍如何配置云邮件推送服务,以便你能够充分利用其优势。 云邮件推…...
QT 数值型坐标轴有那些?(QValueAxis)
在Qt中,QValueAxis类用于表示数值型坐标轴,它本身没有直接的子类,但它是从QAbstractAxis这个抽象类继承而来的。QAbstractAxis是定义坐标轴属性和行为的基类,而QValueAxis则在此基础上提供了针对数值数据的具体实现。 Qt的图表模…...

《数字图像处理-OpenCV/Python》第16章:图像的特征描述
《数字图像处理-OpenCV/Python》第16章:图像的特征描述 本书京东 优惠购书链接 https://item.jd.com/14098452.html 本书CSDN 独家连载专栏 https://blog.csdn.net/youcans/category_12418787.html 第16章:图像的特征描述 特征通常是针对图像中的目标或…...

React的服务器端渲染(SSR)和客户端渲染(CSR)有什么区别?
React的服务器端渲染(SSR)和客户端渲染(CSR)是两种不同的页面渲染方式,它们各自有不同的特点和适用场景: 服务器端渲染(SSR) 页面渲染: 页面在服务器上生成,然后将完整的…...

安全生产第一位,靠谱的漏油监测系统有哪些?
漏油监测系统,一般是由漏油绳、漏油控制器、监控云平台组成,用于实时检测油库、油罐、加油站、输油管道、油类化工厂等场所是否发生漏油事故。在这些地方一旦发生漏油,就极可能引发爆炸,损害到人员及财产安全。而一套靠谱的漏油监…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...

什么是VR全景技术
VR全景技术,全称为虚拟现实全景技术,是通过计算机图像模拟生成三维空间中的虚拟世界,使用户能够在该虚拟世界中进行全方位、无死角的观察和交互的技术。VR全景技术模拟人在真实空间中的视觉体验,结合图文、3D、音视频等多媒体元素…...

ubuntu系统文件误删(/lib/x86_64-linux-gnu/libc.so.6)修复方案 [成功解决]
报错信息:libc.so.6: cannot open shared object file: No such file or directory: #ls, ln, sudo...命令都不能用 error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory重启后报错信息&…...
node.js的初步学习
那什么是node.js呢? 和JavaScript又是什么关系呢? node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说, 需要在node.js的环境上进行当JavaScript作为前端开发语言来说,需要在浏览器的环境上进行 Node.js 可…...

小智AI+MCP
什么是小智AI和MCP 如果还不清楚的先看往期文章 手搓小智AI聊天机器人 MCP 深度解析:AI 的USB接口 如何使用小智MCP 1.刷支持mcp的小智固件 2.下载官方MCP的示例代码 Github:https://github.com/78/mcp-calculator 安这个步骤执行 其中MCP_ENDPOI…...
用js实现常见排序算法
以下是几种常见排序算法的 JS实现,包括选择排序、冒泡排序、插入排序、快速排序和归并排序,以及每种算法的特点和复杂度分析 1. 选择排序(Selection Sort) 核心思想:每次从未排序部分选择最小元素,与未排…...
python读取SQLite表个并生成pdf文件
代码用于创建含50列的SQLite数据库并插入500行随机浮点数据,随后读取数据,通过ReportLab生成横向PDF表格,包含格式化(两位小数)及表头、网格线等美观样式。 # 导入所需库 import sqlite3 # 用于操作…...

VSCode 没有添加Windows右键菜单
关键字:VSCode;Windows右键菜单;注册表。 文章目录 前言一、工程环境二、配置流程1.右键文件打开2.右键文件夹打开3.右键空白处打开文件夹 三、测试总结 前言 安装 VSCode 时没有注意,实际使用的时候发现 VSCode 在 Windows 菜单栏…...

(12)-Fiddler抓包-Fiddler设置IOS手机抓包
1.简介 Fiddler不但能截获各种浏览器发出的 HTTP 请求,也可以截获各种智能手机发出的HTTP/ HTTPS 请求。 Fiddler 能捕获Android 和 Windows Phone 等设备发出的 HTTP/HTTPS 请求。同理也可以截获iOS设备发出的请求,比如 iPhone、iPad 和 MacBook 等苹…...