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

基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。

 1.首先安装autoware ,大家可以以下一下博客进行安装,如果缺少库什么的直接问ai安装对应的库就行。ubuntu18.04安装Autoware1.14---GPU版 最全环境配置说明_autoware1.14安装教程-CSDN博客

安装成功后运行:

source install/setup.bash

roslaunch runtime_manager runtime_manager.launch 

2.接下来进行点云地图的录制,点击在autoware可视化操作界面中点击Topics页面中点击左下角Refresh刷新一下看有没有点云信息看/points_raw,然后点击右上角的Echo看有没有数据信息:

3.之后点击 有下角的ROSBAG Record点击最下面的Refresh刷新话题列表,选择录制的点云话题/points_raw,之后点击最上方的Ref选择文件的保存地址,之后点击下方的Start开始录制,录制结束后点击Stop即可在指定文件夹看到录制的bag包,当然也可以通过ros录制:

rostopic list

rostopic   echo /points_raw

rostopic record -o  1.bag /points_raw

4.录制完bag包之后,点击Simulation中Ref选择我们录制的bag包之后点击play 会在下面显示详细地信息,之后点右下角的RViz界面,在弹窗里点击左下角的Add,之后选择By Topic中的/points_raw,并将fixed frame改为velodyne,之后就可以看到相应的点云数据。

5.之后在Simulation中点击Stop后重新点击play最后点击Pause使点云包处于以下状态便于时间同步。

6.之后点击Computing中Localization下的lidar_localizer中ndt_mapping进行点云地图的录制,首先点击app进行参数设置,在Method Type中可以默认选择第一个,当然如果有gpu,则选择第三个,在下面的Ref指定保存pcd文件的地址,之后关闭勾选ndt_mapping。

7.之后在Simulation中取消点击Pause使点云包处于播放状态便开始点云地图的制作:

注意: (processed/Input)的前后两个数字不要差超过1000否则后续加载地图会报错,如果两个数字差的太多就pause一下等等再接着加载。

8.保存完成后接下来开始录制循迹点,首先需要将刚才保存好的地图加载进来,在Point Cloud中右边的Ref中选择相应的PCD文件,同理TF选择/autoware/src/autoware/documentation/

autoware_quickstart_examples/tf_local.launch,点击右下角的RViz就可以看到相应的地图文件:

9.之后点击Setup中Localizer并选择 Velodyne,TF 按钮点击 Baselink to Localizer(默认值一般是 1.3, 0, 1.7, -1.5, 0, 0),然后点击 Vehicle Model,Autoware 会加载默认车辆模型

10.接着在Sensing页面进行传感器的设置,选择Velodyne HDL-32E,并需要选择Points Downsampler下的体素下采样voxel_grid_filter以及Points Preprocessor下的地面滤除ring_ground_filter,具体的参数可以默认就行(参数都在对应选项右边的app弹窗里面设置,设置完记得点ok保存)。

11.之后点击Computing中Localization下的lidar_localizer中ndt_matching进行点云定位,具体的参数设置如下图,注意选择Initipal Pos,点击ok保存,打开rviz中可以看到已经定位成功。

12.之后点击autoware_connector下的vel_pose_connect进行车速位置连接,参数设置如下所示

13.接着点击 Mission Planning下的“lane_rule”和“lane_select”,参数采用默认设置:

 

14.之后 点击 Motion Planning 下的waypoint_loader的waypoint_marker中的waypoint_loader,在multi_lane中找到步骤3中保存的路径的csv文件saved_waypoints.csv,之后重新点击右下角Rviz就看到相应的路径点,如果没有重新加载就行。​​

 

15. 之后点击 Motion Planning 下的waypoint_planer的astar_avoid相应的astar_avoid和velocity_set相应的参数采用默认值。

 

16.最后点击 Motion Planning 下的waypoint_follower的pure_pursuit(如果对于弯道循迹,转弯半径过大将lookahead_ratio以及minimun_lookahead_distanced的参数调小一点即可)以及相应的twist_filter进行速度过滤,相应的参数采用默认值。

17.最后核对一下相应的选择是否正确,一切顺利的话会看到小车跑起来:

相关文章:

基于autoware1.14的实车部署激光雷达循迹,从建图、定位、录制轨迹巡航点、到实车运行。

1.首先安装autoware ,大家可以以下一下博客进行安装,如果缺少库什么的直接问ai安装对应的库就行。ubuntu18.04安装Autoware1.14---GPU版 最全环境配置说明_autoware1.14安装教程-CSDN博客 安装成功后运行: source install/setup.bash roslau…...

数据类型相关问题导致的索引失效 | OceanBase SQL 优化实践

背景 针对在OceanBase 论坛中遇到的一些典型SQL调优问题,进行记录与总结,分享给大家。本文介绍的事3个场景:数据类型不匹配、字符集相关属性不匹配,和过滤/联接条件上包含系统函数。 场景一:数据类型不匹配 类型不匹…...

云计算(Cloud Computing)概述——从AWS开始

李升伟 编译 无需正式介绍亚马逊网络服务(Amazon Web Services,简称AWS)。作为行业领先的云服务提供商,AWS为全球开发者提供了超过170项随时可用的服务。 例如,Adobe能够独立于IT团队开发和更新软件。通过AWS的服务&…...

UE学习记录part18

225 animation blueprint templates: generic animation blueprints 在Animation Blueprint中选择template生成动画蓝图模板 在function中选择blurprintthreadsafeupdateanimation,用于做数据的更新 先创建变量,再将变量再blueprintinitializeanimation…...

刀片服务器的散热构造方式

刀片服务器的散热构造是其高密度、高性能设计的核心挑战之一。其散热系统需在有限空间内高效处理多个刀片模块产生的集中热量,同时兼顾能耗、噪音和可靠性。以下从模块化架构、核心散热技术、典型方案对比、厂商差异及未来趋势等方面展开分析: 一、模块化散热架构 刀片服务器…...

算法01-最小生成树prim算法

最小生成树prim算法 题源:代码随想录卡哥的题 链接:https://kamacoder.com/problempage.php?pid1053 时间:2025-04-18 难度:4⭐ 题目: 1. 题目描述: 在世界的某个区域,有一些分散的神秘岛屿&…...

【每日八股】复习计算机网络 Day1:TCP 的头部结构 + TCP 确保可靠传输 + TCP 的三次握手

文章目录 复习计算机网络 Day1TCP 的头部结构TCP 如何保证可靠传输?1. 数据完整性保障2. 顺序与去重控制3. 流量与拥塞控制4. 连接控制5. 其他辅助机制TCP 可靠传输的保障手段总结 TCP 的三次握手?TCP 为什么要三次握手?TCP 三次握手出现报文…...

device_fingerprint、device_id、hmac生成

文章目录 1. 写在前面2. 设备信息3. 数美指纹 【🏠作者主页】:吴秋霖 【💼作者介绍】:擅长爬虫与JS加密逆向分析!Python领域优质创作者、CSDN博客专家、阿里云博客专家、华为云享专家。一路走来长期坚守并致力于Python…...

高防IP如何针对DDoS攻击特点起防护作用

高防IP通过​​多层防护机制​​和​​动态资源调度能力​​,针对性化解DDoS攻击的核心特征(如大流量、协议滥用、连接耗尽等)。以下是其具体防护策略与技术实现: ​​一、DDoS攻击的核心特点与高防IP的针对性策略​​ ​​攻击特…...

python抓取HTML页面数据+可视化数据分析(投资者数量趋势)

本文所展示的代码是一个完整的数据采集、处理与可视化工具,主要用于从指定网站下载Excel文件,解析其中的数据,并生成投资者数量的趋势图表。以下是代码的主要功能模块及其作用: 1.网页数据获取 使用fetch_html_page函数从目标网…...

C++ std::function的含义、意义和用法,与std::bind的区别

在 C 中&#xff0c;std::function 是一个通用的多态函数包装器&#xff0c;它是 C 标准库 <functional> 头文件中的一部分。下面从含义、意义和用法三个方面详细介绍 std::function。 含义 std::function 是一个类模板&#xff0c;它可以存储、复制和调用任何可调用对…...

uboot下读取ubifs分区的方法

在uboot 的defconfig中增加以下内容&#xff1a; CONFIG_MTDIDS_DEFAULT"nand0nand0" CONFIG_MTDPARTS_DEFAULT"mtdpartsnand0:1M(boot1),1M(boot2),1M(hwinfo),6M(kernel1),6M(kernel2),56M(rootfs1),56M(rootfs2),-(ubi2)" CONFIG_CMD_UBIy 其中&#x…...

HAL详解

一、直通式HAL 这里使用一个案例来介绍直通式HAL&#xff0c;选择MTK的NFC HIDL 1.0为例&#xff0c;因为比较简单&#xff0c;代码量也比较小&#xff0c;其源码路径&#xff1a;vendor/hardware/interfaces/nfc/1.0/ 1、NFC HAL的定义 1&#xff09;NFC HAL数据类型 通常定…...

MCP(模型上下文协议)说明

背景 MCP&#xff08;Model Context Protocol&#xff0c;模型上下文协议&#xff09;旨在解决大型语言模型&#xff08;LLM&#xff09;与外部数据源及工具集成的问题。由Anthropic公司于2024年11月提出并开源&#xff0c;目标是实现AI模型与现有系统的无缝集成。 解决的问题…...

AI当前状态:有哪些新技术

一、到目前为址AI领域出现的新技术 到目前为止&#xff0c;AI领域涌现了许多令人兴奋的新技术。以下是一些关键的进展&#xff0c;涵盖了从基础模型到实际应用的多个方面&#xff1a; 1. 更强大的大型语言模型 (LLMs): 性能提升: 新一代LLM&#xff0c;例如OpenAI的GPT-4o和…...

如何校验一个字符串是否是可以正确序列化的JSON字符串呢?

方法1&#xff1a;先给一个比较暴力的方法 try {JSONObject o new JSONObject(yourString); } catch (JSONException e) {LOGGER.error("No valid json"); } 方法2&#xff1a; Object json new cn.hutool.json.JSONTokener("[{\"name\":\"t…...

orcad csi 17.4 DRC规则设置及检查

rCAD绘制完原理图之后总是需要开启DRC检测&#xff0c;但是DRC一般都是英文版的&#xff0c;下面基于Cadence17.4 的orCAD16.6 对DRC的界面做简单的介绍 首先&#xff0c;鼠标点击原理图&#xff0c;然后再点击右上方的小勾图标 desine rules check option选项的界面 电气规…...

k8s教程3:Kubernetes应用的部署和管理

学习目标 理解Kubernetes中应用部署的基本概念和方法掌握Deployment、ReplicaSet、StatefulSet、DaemonSet、Job与CronJob等控制器的使用了解Helm作为Kubernetes的包管理工具的基本使用通过实际示例学习应用的部署、更新与管理 Kubernetes提供了一套强大而灵活的机制&#xff…...

微信小程序获得当前城市,获得当前天气

// // 获取用户当前所在城市 // wx.getLocation({// type: wgs84, // 默认为 wgs84 返回 gps 坐标,gcj02 返回可用于 wx.openLocation 的坐标 // success: function(res) {// console.log(获取位置成功, res); // // 使用腾讯地图API进行逆地址解析 // wx…...

磁流变式汽车减振器创新设计与关键技术研究

摘要 本文针对智能悬架系统的发展需求&#xff0c;深入探讨磁流变减振器&#xff08;MR Damper&#xff09;的核心设计原理与工程实现路径。通过建立磁场-流场耦合模型&#xff0c;优化磁路结构与控制策略&#xff0c;提出具有快速响应特性的新型磁流变减振器设计方案&#xf…...

Python3.14都有什么重要新特性

目录 1、语法糖新宠&#xff1a;模式匹配再进化 1.1 结构化数据克星 1.2 类型守卫(Type Guard) 2、性能黑科技&#xff1a;尾递归与异步双杀 2.1 尾调用优化(TCO) 2.2 异步任务重构 3、注释系统重构&#xff1a;annotationlib深度解析 3.1 延迟评估机制 3.2 类型推导增…...

前端资源加载失败后重试加载(CSS,JS等引用资源)

前端资源加载失败后的重试 .前端引用资源时出现了资源加载失败(这里针对的是路径引用异常或者url解析错误时) 解决这个问题首先要明确一下几个步骤 1.什么情况或者什么时候重试 2.如何重试 3.重试过程中的边界处理 这里引入里三个测试脚本&#xff0c;分别加载里三个不同的脚…...

【HDFS入门】联邦机制(Federation)与扩展性:HDFS NameNode水平扩展深度解析

目录 引言 1 NameNode水平扩展原理 1.1 传统HDFS架构的局限性 1.2 联邦机制的基本原理 1.3 联邦架构的关键组件 2 多个Namespace的路由规则配置 2.1 客户端挂载表概念 2.2 挂载表配置示例 2.3 挂载表匹配规则 2.4 配置示例 3 BlockPool与Namespace的映射关系 3.1 B…...

C#学习第16天:聊聊反射

什么是反射&#xff1f; 定义&#xff1a;反射是一种机制&#xff0c;允许程序在运行时获取关于自身的信息&#xff0c;并且可以动态调用方法、访问属性或创建实例。用途&#xff1a;常用于框架设计、工具开发、序列化、代码分析和测试等场景 反射的核心概念 1. 获取类型信息…...

论文阅读:2024 arxiv AI Safety in Generative AI Large Language Models: A Survey

总目录 大模型安全相关研究&#xff1a;https://blog.csdn.net/WhiffeYF/article/details/142132328 AI Safety in Generative AI Large Language Models: A Survey https://arxiv.org/pdf/2407.18369 https://www.doubao.com/chat/3262156521106434 速览 研究动机&#x…...

AI推荐系统的详细解析 +推荐系统中滤泡效应(Filter Bubble)的详细解析+ 基于Java构建电商推荐系统的分步实现方案,结合机器学习与工程实践

以下是AI推荐系统的详细解析&#xff1a; 一、核心概念 定义 推荐系统是通过分析用户行为、物品特征或用户画像&#xff0c;向用户推荐个性化内容的技术&#xff0c;广泛应用于电商、视频、社交等领域。 目标 提升用户留存与转化率增强用户体验实现精准营销 二、技术原理 1…...

CSS 美化页面(五)

一、position属性 属性值‌‌描述‌‌应用场景‌static默认定位方式&#xff0c;元素遵循文档流正常排列&#xff0c;top/right/bottom/left 属性无效‌。普通文档流布局&#xff0c;默认布局&#xff0c;无需特殊定位。relative相对定位&#xff0c;相对于元素原本位置进行偏…...

java 设计模式之模板方法模式

简介 模板方法模式&#xff1a;定义一个算法的基本流程&#xff0c;将一些步骤延迟到子类中实现。模板方法模式可以提高代码的复用性&#xff0c; 模板方法中包含的角色&#xff1a; 抽象类&#xff1a;负责给出一个算法的基本流程&#xff0c;它由一个模板方法和若干个基本…...

基于大模型的腹股沟疝诊疗全流程风险预测与方案制定研究报告

目录 一、引言 1.1 研究背景与意义 1.2 国内外研究现状 1.3 研究目的与创新点 二、大模型技术概述 2.1 大模型基本原理 2.2 常用大模型类型及特点 2.3 大模型在医疗领域的应用潜力 三、腹股沟疝诊疗流程分析 3.1 腹股沟疝的发病机制与分类 3.2 传统术前评估方法与局…...

无约束最优化问题的求解算法--梯度下降法(Gradient Descent)

文章目录 梯度下降法梯度下降法原理&#xff08;通俗版&#xff09;梯度下降法公式学习率的设置**如何选择学习率&#xff1f;** 全局最优解梯度下降法流程损失函数的导函数三种梯度下降法**梯度下降法核心步骤回顾****优缺点详解****1. 全量梯度下降 (Batch Gradient Descent,…...