autoware.universe 使用之Rosbag replay simulation放包仿真

本文将按照官方文档,通过播放rosbag录制包进行可视化模拟,中间也报了很多错误,特此记录下来,以免后续踩坑。
电脑配置如下:
   ubuntu20.04
   cuda: cuda-11.6
   nvidia-driver 535
   ros2: foxy

关于autoware.universe安装可参考我之前的博客链接,我是在ubuntu20.04上使用docker安装拉取环境进行手动安装,可供大家参考。

1. 下载bag包和对应的地图文件

将下载好的文件放到./autoware_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
  • 下载rosbag包
gdown -O ~/autoware_map/ 'https://docs.google.com/uc?export=download&id=1VnwJx9tI3kI_cTLzP61ktuAJ1ChgygpG'
unzip -d ~/autoware_map/ ~/autoware_map/sample-rosbag.zip

执行上述命令时报错:
在这里插入图片描述

参考文章安装gdown:

git clone https://github.com/wkentaro/gdown.git
cd gdown
pip install gdown

安装后发现在终端直接输入gdown仍然会报上述错误。故直接进入gdown项目,新建.py文件,写python代码下载:

import gdown
# 例如
url = "https://docs.google.com/uc?export=download&id=1A-8BvYRX3DhSzkAnOcGWFw5T30xTlwZI"
output = "sample-map-rosbag.zip"
gdown.download(url, output)

执行代码可能会因为时间问题报错,我这里是使用了代理才成功下载。
下载完成后,将压缩包解压放到autoware_map目录下。

unzip -d ~/autoware_map ~/autoware_map/sample-map-rosbag.zip

其他zip文件同理下载。之后我会把相关zip包和data放到百度云中,有需要的可自取。

2. 创建autoware_data文件夹

将以下文件放到autoware_data文件夹下:
image_projection_based_fusion
lidar_apollo_instance_segmentation
lidar_centerpoint
tensorrt_yolo
tensorrt_yolox
traffic_light_classifier
traffic_light_fine_detector
traffic_light_ssd_fine_detector
yabloc_pose_initializer
......

文件下载可以参官网地址进行下载,也可直接下载我分享的百度云链接。

3. 进入容器,放包测试

  • 进入容器
rocker --nvidia --x11 --user --volume $HOME/autoware --volume $HOME/autoware_map --volume $HOME/autoware_data/ -- ghcr.io/autowarefoundation/autoware-universe:latest-cuda
  • source
source ./autoware/install/setup.bash
  • ros2 launch 打开模拟器
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
  • 新开终端,和上述方法一致,进入容器,source环境
  • 放包,包里因为涉及隐私问题,没有图像
ros2 bag play ./autoware_map/sample-rosbag/sample.db3 -r 0.2 -s sqlite3

  上述命令执行完,正常情况下模拟器中会显示地图和雷达信息,小车会根据线路移动,并且周围车辆等会有包围框等信息输出,如下图所示:
在这里插入图片描述

但是,我的模拟器中出现两个问题:
  (1) 整个画面有延迟,点云地图加载有延迟,且时有时无;
  (2) 周围目标没有输出任何包围框信息,说明检测就没起作用。我查看终端信息,发现中间有error信息输出。
  有上述错误出现而且包里没有图像,故检测基本应该使用激光雷达相关的算法检测得到,但是上述并没有输出检测信息,说明激光雷达相关算法那里可能出了问题。从相关的launch.xml文件中也能看到激光雷达检测使用的是centerpoint,正好我主要目的是测试lidar_centerpoint检测结果。故现在单独启动lidar_centerpoint算法查看。

4. 测试lidar_centerpoint

# 里面涉及到的路径可以根据实际路径修改
ros2 launch lidar_centerpoint lidar_centerpoint.launch.xml model_name:=centerpoint_tiny model_path:=$HOME/autoware_data/lidar_centerpoint model_param_path:=$(ros2 pkg prefix lidar_centerpoint --share)/config/centerpoint_tiny.param.yaml build_only:=true

其中,build_only默认为False,当设置为True时,会将onnx转为engine。

在执行上述命令时报错:
在这里插入图片描述
解决方法:
  根据github上的问题,我查看了本机上的nvidia-driver是535的,故尝试将nvidia-driver 由535改为545。参考文章。

# 1. 添加 NVIDIA 图形驱动 PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

# 2. 查看可用的 NVIDIA 驱动版本:
apt search nvidia-driver

# 3. 安装最新的 NVIDIA 驱动:这个过程非常慢!
sudo apt install nvidia-driver-545

# 重启
reboot

# 再次查看,发现nvidia-driver 545成功安装
nvidia-smi

nvidia-driver 由535换为545后,上述错误消失。再次执行上述命令,又迎来新的报错:
在这里插入图片描述  我仔细看了终端输出发现engine已经生成了,是生成之后报的错误。查找了资料,其中有的是说是runtime和engine初始定义的顺序不对,导致最终销毁时runtime先被销毁就会出现这种错误。这个就涉及到代码层面的问题了,我查了autoware github上的报错问题,并没有找到类似的报错。我猜想可能不是上面说的这个问题。后来看到一篇博客说这个error不影响,可以忽略。然后我又重新执行了上述命令,将build_only设置为False。终端显示:
在这里插入图片描述没有报错。之后我通过Ctrl+C结束进程,发现有显示上述错误:
在这里插入图片描述上面报错应该没有什么影响,后续如果有影响,我会再回来更新。

5. 重新放包测试

回到前面第3节,重新打开模拟器、同时放包,发现已经可以显示包围框、轨迹规划路径等等
在这里插入图片描述

6. 其他报错

  • error1

在这里插入图片描述

原因是忘记source环境了

source ./autoware/install/setup.bash
  • error2

在这里插入图片描述报错原因是直接使用了别人生成的engine,将对应文件中的engine删除,设置build_only:=true重新生成engine即可。

7. 参考

官方文档

https://github.com/autowarefoundation/autoware.universe/issues/6461

https://zhuanlan.zhihu.com/p/674766674

百度云链接(有空会放)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

「MDN web 入门」学习笔记

目录 写在前面 1. MDN 简介 1.1 MDN 的主要特点 1.2 MDN 的主要功能 1.3 MDN 网页开发的指南 2. 安装基础软件 2.1 专业人士工具 2.2 初学者基本工具 3. 设计网站外观 3.1 计划 3.2 绘制草图 3.3 选定素材 3.4 文本 3.5 主题颜色 3.6 图像 3.7 字体 4. 处理文…

Redis(无中心化集群搭建)

文章目录 1.无中心化集群1.基本介绍2.集群说明 2.基本环境搭建1.部署规划(6台服务器)2.首先删除上次的rdb和aof文件(对之前的三台服务器都操作)1.首先分别登录命令行,关闭redis2.清除/root/下的rdb和aof文件3.把上次的…

认识卷积神经网络

我们现在开始了解卷积神经网络,卷积神经网络是深度学习在计算机视觉领域的突破性成果,在计算机视觉领域,往往我们输入的图像都很大,使用全连接网络的话,计算的代价较高,图像也很难保留原有的特征&#xff0…

oracle 数据库找到UDUMP的文件名称

oracle 数据库找到UDUMP的文件名称 select p.value||\||i.instance_name||_ora_||spid||.trc as "trace_file_name" from v$parameter p ,v$process pro, v$session s, (select sid from v$mystat where rownum1) m, v$instance i where lower(p.name)user_dump_…

Java_File

介绍: File对象表示路径,可以是文件,也可以是文件夹。这个路径可以是存在的,也可以是不存在的,带盘符的路径是绝对路径,不带盘符的路径是相对路径,相对路径默认到当前项目下去找 构造方法&…

英伟达推出视觉语言模型:VILA

NVIDIA和MIT的研究人员推出了一种新的视觉语言模型(VLM)预训练框架,名为VILA。这个框架旨在通过有效的嵌入对齐和动态神经网络架构,改进语言模型的视觉和文本的学习能力。VILA通过在大规模数据集如Coy0-700m上进行预训练,采用基于LLaVA模型的…

三.Django--ORM(操作数据库)

目录 1 什么是ORM 1.1 ORM优势 1.2ORM 劣势 1.3 ORM与数据库的关系 2 ORM 2.1 作用 2.2 连接数据库 2.3 表操作--设置字段 2.4 数据库的迁移 写路由增删改查操作 项目里的urls.py: app里的views.py: 注意点: 1 什么是ORM ORM中文---对象-关系映射 在MTV,MVC设计…

2024面试自动化测试面试题【含答案】

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

若依框架dialog弹窗取消点击空白出关闭

如果想全局取消的话就找到main.js在里面加上下面的一行代码,添加完成之后记得清楚浏览器缓存重新加载js文件。 Element.Dialog.props.closeOnClickModal.default false;如果想指定某个弹窗取消点击空白处关闭,那么就找到那个弹窗加上。添加完毕之后刷新…

扩散模型~

推荐:write_own_pipeline.ipynb - Colab (google.com) 基本管道 一直显示NVIDIA有问题,所以就把.to("cuda")去掉了,使用Colab运行的,代码如下: from diffusers import DDPMPipelineddpm DDPMPipeline.fr…

哈希题目总结

以下列举了可以用哈希方法(包括但不限于用HashMap和HashSet)的题目,实质上是把东西丢给这些数据结构去维护。请注意有些题目中用哈希是最优解,有些题目中不是最优解,可以自行探索其时间复杂度和空间复杂度的区别&#…

java入门1.1.1版本

前言: 上面的内容是1.0.0~1.1的内容总结 秉持着先做再定义的理念,这里会带着大家先体验一下类与对象 第一步:新建一个java文件 鼠标右键 → 新建 → 文本文档 → 右键 → 点击重名 → 全选 → hello.java 第二步:用笔记本打开 …

阿里云开发uniapp之uni-starter

一、为什么使用uni-starter uni-starter是集成商用项目常见功能的、云端一体应用快速开发项目模版。 一个应用有很多通用的功能,比如登录注册、个人中心、设置、权限管理、拦截器、banner... uni-starter将这些功能都已经集成好,另外,uni-s…

2023-2024年SaaS行业报告合集(精选22份)

SaaS行业报告/方案(精选21份) 2023-2024年 报告来源:2023-2024年SaaS行业报告合集(精选22份) 【以下是资料目录】 2024中国HCM SaaS领导者竞争力持续增强的行业龙头 2024年中国企业级SaaS行业研究报告 2024年SaaS…

基于Transformer网络的多步预测模型

包括完整流程数据代码处理: 多步预测数据集制作、数据加载、模型定义、参数设置、模型训练、模型测试、预测可视化、多步预测、模型评估 ● 环境框架:python 3.9 pytorch 1.8 及其以上版本均可运行 ● 使用对象:论文需求、毕业设计需求者…

Offer必备算法37_记忆化搜索_五道力扣题详解(由易到难)

目录 记忆化搜索概念和使用场景 ①力扣509. 斐波那契数 解析代码1_循环 解析代码2_暴搜递归 解析代码3_记忆化搜索 解析代码4_动态规划 ②力扣62. 不同路径 解析代码1_暴搜递归(超时) 解析代码2_记忆化搜索 解析代码3_动态规划 ③力扣300. 最…

最详尽的网络安全学习路线!涵盖所有技能点,带你成为网安专家!

目录 零基础小白,到就业!入门到入土的网安学习路线! 建议的学习顺序: 一、夯实一下基础,梳理和复习 二、HTML与JAVASCRIPT(了解一下语法即可,要求不高) 三、PHP入门 四、MYSQL…

QX-mini51单片机学习---(4)蜂鸣器

目录 1蜂鸣器工作原理 2三极管工作原理 3本节相关原理图分析 4实践 1蜂鸣器工作原理 2三极管工作原理 我们这里使用PNP三极管,低电压导通 做开关 PNP E(emitrer):发射极,B(base)&#x…

leetcode每日一题第七十二天

class Solution { public:TreeNode* searchBST(TreeNode* root, int val) {if(!root) return root;if(root->val val) return root;else if(root->val > val) return searchBST(root->left,val);else return searchBST(root->right,val);} };

WPF中页面加载时由于TreeView页面卡顿

示例&#xff1a;右侧界面的数据根据左侧TreeView的选项加载不同的数据&#xff0c;页面加载时会把所有的数据加载一遍&#xff0c;导致页面卡顿。 解决办法&#xff1a; <Setter Property"IsSelected" Value"{Binding IsSelected}"/>
最新文章