movebase导航和地图数据的使用 - 12 为传感器增加一个layer

1.需要修改./src/navigation-full/turtlebot_apps/turtlebot_navigation/param/costmap_common_params.yaml文件。模仿obstaclelayer,增加一个ultrasoniclayer,定义如下.



ultrasonic_layer:

enabled: true

max_obstacle_height: 1.0

origin_z: 0.0

z_resolution: 0.2

z_voxels: 6

unknown_threshold: 15

mark_threshold: 0

combination_method: 1

track_unknown_space: true #true needed for disabling globalpath planning through unknown space

obstacle_range: 1.0

raytrace_range: 3.0

publish_voxel_map: false

observation_sources: ultrasonic

ultrasonic:

data_type: LaserScan

topic: ultrasonic_scan

marking: true

clearing: true

min_obstacle_height: 0.05

max_obstacle_height: 1.0

2. 将这个layer加入到localcostmap里面。

修改./src/navigation-full/turtlebot_apps/turtlebot_navigation/param/local_costmap_params.yaml:



local_costmap:

global_frame: odom

robot_base_frame: /base_footprint

update_frequency: 40.0//这个是将各个layer数据综合处理的频率。这直接影响到传感器检测到的数据反应到地图中的速度。也影响到了机器人对传感器数据的感知速度

publish_frequency: 16.0 //这个是将costmap地图数据发送出去给rviz的频率

static_map: false

rolling_window: true

width: 4.0 //local cost map的直径4m

height: 4.0

resolution: 0.05 //local cost map是一个格子地图,每个格子对应5cm.

transform_tolerance: 0.5

plugins:

- {name: obstacle_layer, type: "costmap_2d::VoxelLayer"}

- {name: xtion_layer, type: "costmap_2d::VoxelLayer"}

- {name: ultrasonic_layer, type: "costmap_2d::VoxelLayer"} //我们的超声波地图数据

- {name: inflation_layer, type: "costmap_2d::InflationLayer"}//inflation负责给所有的障碍物数据周围膨胀出一定的范围,避免机器人把一个很狭小的空间当作通道



ROS naviagtion analysis: costmap_2d--CostmapLayer 这个类是为ObstacleLayer StaticLayer voxelLayer 这种维护了自己所在层的地图数据的类,提供了一些公共的操作方法。 从UML中可以看到,这个类提供了以下方法,这些方法的参数列表均为(costmap_2d::Costmap2D& master_grid, int min_i, int min_j, int max_i, int max_j)updateWithTrue 阅读详情

相关推荐

ROS 学习篇(八)机器人的导航功能--navigation

ROS 学习篇(八)机器人人的导航功能--navigation 1. 概述 ROS的二维导航功能包,简单来说,就是根据输入的里程计等传感器的信息流和机器人的全局位置,通过导航算法,计算得出安全可靠的机器人速度控制指令。但是,如何在特定的机器人上实现导航功能包的功能,却是一件较为复杂的工程。作为导航功能包使用的必要先决条件,机器人必须运行ROS,发布tf变换树,并发布使用ROS消息类型的传感器数据。...

Tansir94的博客 3万+

ROS 教程之 navigation :在 catkin 环境下创建costmap layer plugin

转自白巧克力亦唯心,保存下来方便自己学习! 在做机器人导航的时候,肯定见到过global_costmap和local_costmap。global_costmap是为了全局路径规划服务的,如从这个房间到那个房间该怎么走。local_costmap是为局部路径规划服务的,如机器人局部有没有遇到行人之类的障碍。costmap就是栅格图,每个栅格里存放着障碍物信息。但是hydro里的costmap不是...

shixiaolu63的博客 1351

ros2 Navigation 学习笔记 第五章(the construct 网站)

ROS2 Navigation 基础教程 第五章 避障

PC2721的博客 1947

ROS Navigation源代码剖析(6)-move_base 代价地图costmap_2d工作流程

4.2.4 costmap_2d工作过程 http://wiki.ros.org/costmap_2d/ 4.2.0节描述了MoveBase启动过程中创建和初始化global planner的costmap的过程。 planner_costmap_ros_ = new costmap_2d::Costmap2DROS("global_costmap", tf_); planner_costmap_ros_->pause(); //先暂定运行 costmap的动态库位于 /opt/ros/k.

Robin's Home 3690

slam--代价地图---参数说明

代价地图---参数说明

majingming123的博客 5510

【地图模块项目实战】costmap_2d代价地图生成原理

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 TODO:写完再整理 文章目录系列文章目录前言(1)【代价地图】costmap_2d功能包源码解读(1)代价地图生成的理论(1)构型空间( Configuration Space)定义(2)代价地图的类型(3)costmap_2d功能包原理(5)计算代价值的方法(6)聚合各层代价值,更新代价地图的方法(7)创建一层代价地图层的方法(2)costmap_2d源码解读(1)源码的框架(2)源码程序流程总结 前言 认知有限,望

qq_35635374的博客 7915

move base参数及global planner,local planner设置

gmapping建图,然后可以利用建好的图来定位和避障。如果你来做这个任务,会很自然的想到,静态障碍和动态障碍分层处理,这也就是为啥会有,静态层、障碍物层和膨胀层。而让机器人到达目标位置,当前点和目标点之间如何到达,需要一个全局的“天眼”——global_planner,在全局规划的过程中,遇到障碍了,需要局部做调整,因此引入了local planer。根据官网这里的描述,ROS1内置三种全局规划算法: global_planner、navfn和carrot planner。................

Learning by doing 1万+

差分运放电路输出电压偏置设计解析

差分运算放大电路是信号处理中的基础模块,通过差分对管结构实现共模抑制与差模放大。其核心原理基于运放的虚短虚断特性,当电阻网络满足对称条件时,输出电压与输入差分成正比。在工业测量系统中,由于ADC通常仅支持正电压输入,需要通过偏置电路将双极性信号平移至正电压范围。典型设计采用精密基准电压源和匹配电阻网络,既保持信号完整性又满足系统接口要求。本文以-100V高压测量为例,详细解析了分压网络设计、参考电压选取以及电阻匹配等关键技术要点,为传感器接口电路设计提供实践参考。

weixin_35750747的博客 471

costmap代价地图学习

为什么要有costmap ROS里的地图的概念,地图就是/map这个topic,它也是一张图片,一个像素代表了实际的一块面积,用灰度值来表示障碍物存在的可能性。然而在实际的导航任务中,光有一张地图是不够的,机器人需要能动态的把障碍物加入,或者清楚已经不存在的障碍物,有些时候还要在地图上标出危险区域,为路径规划提供更有用的信息。 因为导航的需要,所以出现了代价地图。你可以将代价地图理解为,在/map...

单线程的Daniel的博客 4598

麒麟V10系统命令实战指南:从入门到精通

本文为麒麟V10操作系统用户提供了一份从入门到精通的命令行实战指南。内容涵盖文件管理、进程监控、网络诊断、文本处理及系统管理等核心场景,旨在帮助用户转变思维,掌握高效解决实际问题的系统命令技巧,从而提升在麒麟V10环境下的运维与工作效率。

sat99的博客 597

ENVI学习总结(十二)——基于改进的 CASA 模型反演 NPP

基于改进的 CASA 模型反演 NPP 数据为地理空间数据云提供的 TM 影像,其具体信息如图 1 所示。该实验中所使用的 TM 数据已进行过 QUAC 快速大气校正,来消除大气和光照等因素对地物反射的影响。Landsat 主题成像仪(TM)是 Landsat4 和 Landsat5 携带的传感器,每 16 天扫描同一地区,即 16 天覆盖全球一次。 TM 影像包含 7 个波段,波段 1-5 ...

Arcgiser的博客 3万+

ros导航框架-代价地图

ObstacleLayer继承了CostmapLayer的父类,而CostmapLayer类又继承Layer类和Costmap2D类,因此ObstacleLayer的地图数据保存在继承于Costmap2D类的costmap_。从前面可以知道,这里传入到master_grid的是LayeredCostmap类的costmap_,也就是将该障碍物层的代价数据更新到LayeredCostmap类的costmap_上。将各层代价地图的代价值整合到costmap_上,costmap_就是master layer.

qq_42700518的博客 1925

OBD诊断协议:OBDⅡ (SAE J1979) 和 OBDonUDS (SAE J1979-2) 和ZEV OBD技术架构的详细对比

摘要:文章对比了2025年最新OBD技术标准(SAEJ1979系列)的三大架构:传统OBD-II(已淘汰)、OBDonUDS(燃油/混动车)和ZEVOBD(新能源车)。核心发现:1)OBDonUDS与ZEVOBD共享UDS协议栈和DoIP通信标准,仅应用层数据(DID/DTC)不同;2)物理层统一为CAN+以太网,支持远程诊断和OTA;3)诊断工具需同时兼容J1979-2/3数据库。技术演进呈现"协议统一化、数据专用化"趋势,2027年后所有新车将强制采用新标准。

m0_56482679的博客 2398

Costmap_2d ROS源码解析

mapUpdateLoop这个成员函数是用于不停刷新代价地图的,它在每个循环通过updateMap函数实现,而Costmap2DROS::updateMap函数是利用LayeredCostmap的updateMap函数进行更新。大家都知道,代价地图是由不同层级的plugins逐层累加的,包括静态地图层、障碍层、膨胀层等等,那么通过LayeredCostmap的对象,创造了一个由指向plugin的共享指针组成的容器,通过配置文件,向里一一添加插件层。最后,将回调函数设置为动态重新配置服务器的回调函数。

m0_47719724的博客 1341

AI Agent技术架构与规模化应用:2025年技术深度解析

2025年,AI Agent(人工智能智能体)迎来了规模化应用的拐点时刻。根据Gartner等权威机构预测,企业软件中整合自主型AI的比例将从2024年的不足1%跃升至2028年的33%。本文深入剖析AI Agent的核心技术架构,从规划模块、记忆模块、工具调用模块到底层实现原理,结合Python和Go语言的实际代码示例,全面阐述AI Agent的技术实现路径。同时,本文探讨多智能体协作系统、企业级部署架构以及未来的技术演进方向,为开发者和技术决策者提供系统性的技术参考。关键词:AI Agent、大语言模型

shao.bing的专栏 1348

Apollo Planning2.0决策规划算法代码详细解析 (1):环境搭建

1、官方提供连接:git clone https://github.com/ApolloAuto/application-pnc.git。此外,也更新了dreamview对pnc的支持,使得调试更加方便。apollo开源团队近期更新了planning版本,对代码进行了一定程度上的重构。(2)进入docker,并编译整个工程:./apollo.sh build_dbg。下载项目环境后使用aem进行环境配置;2、有一定基础建议直接拉取最新代码,自己手动进行编译。(1)环境安装: ./dev_start.sh。

自动驾驶Player的博客 1842

7.1-Move_base 参数调整

Move_base Tuining 前言 应项目需求,我需要调整move_base参数,使得机器人可以精确旋转到指定角度,之前只能实现较为精确的到达(x,y)坐标,现在要求,又要精确又要不震荡地达到目标要求。 需要全面了解局部避障算法,才能正确地调整参数。 全面定制ros_navigation_stack基本能够完成机器人导航要求 Move_base Tuining前言参考...

weixin_30907523的博客 754

04-协议基础03:USB 2.0信号与电气特性

USB 2.0使用两根差分信号线D+/D-进行数据传输,支持低速(1.5Mbps)、全速(12Mbps)和高速(480Mbps)三种速率。USB总线为主从模式,所有事务由Host发起。端电阻值作用HostRpd(D+)15KΩ±5%下拉,默认低电平HostRpd(D-)15KΩ±5%下拉,默认低电平全速设备Rpu(D+)1.5KΩ±5%上拉到3.3V,标识全速低速设备Rpu(D-)1.5KΩ±5%上拉到3.3V,标识低速USB 2.0硬件要点。

内核笔记 105

move_base 基本框架梳理

move_base 基本框架梳理

gene's blog 4949

xtop:multi_driven_net与incomplete_timing_cell fail reason 分析

man multi_driven_net”可以得知,这个问题是multi driven结构引起的,使用命令“get_failed_pins -reason multi_driven_net”,获取violation pin。“man incomplete_timing_cell”可以得知,这个fail reason的原因是缺少timing library cell,检查并补全后这个错误就显示了。这里选择的解决方法是修改lib文件,把inout改成input,重新lib2idb。通过这种方法解决了问题。

m0_61544122的博客 568

贝叶斯统计 [韦来生编]

贝叶斯(Bayes)统计是近几十年来迅速发展起来的数理统计的一个重要分支。贝叶斯方法与经典统计方法的主要不同之处是进行统计推断时除了利用样本信息外,还要利用参数的先验信息,因此可以提高统计推断或统计决策的效果。它在经济、金融、生物、医学、自然科学和社会科学等许多领域具有广泛的应用。贝叶斯方法的研究已渗透到了统计学的几乎所有领域。作者在给中国科学技术大学概率论与数理统计专业本科生开设的“数理统计”课程中有一章专门讲授“贝叶斯方法和统计决策理论”,近十年来也给中国科学技术大学概率统计专业研究生开设过几次“贝叶斯分析”课。本书是在对过去讲稿的内容作了适当的增减和调整的基础上完成的。  本书共分六章。第1章是绪论,介绍了贝叶斯统计的若干基本概念,同时对必要的数理统计的基础知识有重点地作了回顾。第二章介绍了确定先验分布的若干可供选择的方法。第三章介绍了几类常见统计模型参数的后验分布的主要结果和计算方法。第四章和第五章分别介绍了“贝叶斯统计推断”和“贝叶斯统计决策”的内容。第六章介绍了贝叶斯统计计算的若干方法,包括蒙特卡洛方法和马尔可夫链蒙特卡洛(MCMC)方法以及相关统计软件的简介。本书的每一章附右大量的例题和习题,书末附有常用的几个表格和部分习题解答供读者查用。  大约可在54学时内讲授本书的第1章至第六章的主要内容,教师可根据学时需要选讲本书第1章至第六章的部分内容。书中标“*”号的章节可略去不讲,留给读者作为阅读材料。第六章例题中的R代码和部分例题的数据文件等可从作者个人主页下载。  作者在编写本书的过程中参考了J.O.Berger教授的《统计决策论及贝叶斯分析》和茆诗松教授编写的《贝叶斯统计》等书中的一些内容,以及《贝叶斯分析》一书中由张伟平博士编写的有关贝叶斯统计计算的一些内容。在此表示衷心感谢。  本书编写准备过程中,中国科学技术大学统计与金融系的几个研究生帮助完成了本书部分中文的录入和排版,作者对他们的辛勤工作表示真诚的感谢。高等教育出版社为本书的出版给予了大力支持。在此一并致谢。

ROS基础教程--CostMap_2D包的一些理解

本文是在综合了多篇文章的基础之上进行的综合.1.基本概念 Voxel:体素,即顾名思义是体积的像素。用来在三维空间中表示一个显示基本点的单位。类似于二维平面下的pixel(像素)。voxel是三维空间中定义一个点的图象信息的单位。在平面中定义一个点要两个坐标X和Y就够了,而在三维世界中还要有一个坐标。光有3维坐标位置还不行,还要有颜色等信息,这就是voxel的含义。机器人在costmap_2D中的...

jinking01的专栏 2万+

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ROS基础学习(move_base节点中的5个组件的参数设置解析以及AMCL运行)(十五)

/

Kenneth666888的博客 1718

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

movebase导航和地图数据的使用 - 11 voxel layer数据的生成和使用

Voxel layer包含在localcostmap和globalcost map里面。是obstaclelayer的一个子类。 目前voxellayer数据来源于雷达扫描。 我们增加的超声波数据也成为一种voxellayer. 我们看看costmap_common_params.yaml的内容: obstacle_layer: enabled: true max_obstacle

2084

使用RGBD相机模拟激光数据,用于move_base中添加新图层避障功能

用RGBD模拟激光雷达数据:depthimage_to_laserscan ROS导航-向cost-map中添加超声波障碍图层

秃头队长 3227

一些关于ROS中move_base的理解,心得。

     又有好几个月没有写博客了,今天风和日丽,于是乎想写一篇关于自己对于move_base的理解、心得。move_base是ROS下关于机器人路径规划的中心枢纽。它通过订阅激光雷达、map地图、amcl的定位等数据,然后规划出全局和局部路径,再将路径转化为机器人的速度信息,最终实现机器人导航。这里又要盗官网的图了。上面这个图很好的展示了move_base的整个框架,下面我更加详细的介绍一下每个...

shenghuaijing3314的博客 3万+

costmap 用layer的设置方法

plugins: - {name: static_layer, type: "costmap_2d::StaticLayer"} - {name: obstacle_layer, type: "costmap_2d::VoxelLayer"} - {name: inflation_layer, type: "costmap_2d::InflationLayer"} - {name...

fly1ng_duck的博客 1919
上一篇: movebase导航和地图数据的使用 - 11 voxel layer数据的生成和使用
下一篇: Android布局优化--include, merge, viewStub
csshell2002
博客等级 码龄11年 30粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值