当前位置: 首页 > news >正文

【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这一版本的,基于Ubuntu22Autoware.Universe界面相比之前有了大的改变,毕竟现在这个仓库还在持续更新中。

另外,除了跑官方的demo,还可以安装AWSimCarla进行联合仿真,难度还是有的,前者是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

在这里插入图片描述
手动选择起点和终点:

在这里插入图片描述
但车其实还是没有真正跑起来,大家如果知道原因的话可以评论区交流。

在这里插入图片描述

以上。

http://www.lryc.cn/news/378462.html

相关文章:

  • JavaScript的学习之旅之基本数据类型
  • oracle开放某些视图给特定用户,查询报视图不存在问题
  • es 更新索引mapping和setting
  • 广告联盟流量变现app开发
  • 【Python高级编程】pickle`文件处理:序列化与反序列化
  • 如何在 Linux 上安装 Docker Desktop
  • 勒索病毒猖狂,请提前做好安全防护,德迅卫士保护你的安全
  • Pycharm怎么默认终端连接远程服务器
  • CTFHUB-SSRF-端口扫描
  • 日期工具类:获取 当前周 | 上一周 | 下一周 的第一天(周一)和最后一天(周天)
  • 大数据学习-Hadoop
  • visualbox搭建linux环境双网卡配置
  • 一分钟了解Galaxybase银河图数据库先锋版升级功能!
  • C++并发之协程实例(二)(计算斐波那契序列)
  • 云邮件推送服务如何配置?有哪些优势特点?
  • QT 数值型坐标轴有那些?(QValueAxis)
  • 《数字图像处理-OpenCV/Python》第16章:图像的特征描述
  • React的服务器端渲染(SSR)和客户端渲染(CSR)有什么区别?
  • 安全生产第一位,靠谱的漏油监测系统有哪些?
  • 基于C#、Visual Studio 2017以及.NET Framework 4.5的Log4Net使用教程
  • C# —— 构造函数
  • HTML5的新属性
  • [C语言] 常用排序算法
  • 【前端vue3】TypeScrip-interface(接口)和对象类型
  • 神经网络 torch.nn---nn.RNN()
  • RocketMQ-记一次生产者发送消息存在超时异常
  • ls命令的参数选项
  • 网络安全:Web 安全 面试题.(文件上传漏洞)
  • 智源联合多所高校推出首个多任务长视频评测基准MLVU
  • Linux系统:线程概念 线程控制