ROS:yaml文件解析:base_local_planner、global_costmap、local_costmap、base_local_planner

news2024/12/24 10:04:25

一.costmap_common_params.yaml

# 设置了代价地图中障碍物信息的阀值

# obstacle_range:确定了最大范围传感器读数,这将导致障碍物被放入代价地图中。

# 此处设置为2.5m,意为着机器人只会更新其地图包含距离移动基座2.5m以内的障碍物信息

obstacle_range: 2.5

# raytrace_range:确定了用于清楚制定范围外的空间。

# 此处设置为3m,意味机器人将尝试清除3m外的空间

raytrace_range: 3.0

footprint: [[-0.1, 0.1], [-0.1, -0.1], [0.1, -0.1],[0.1,0.1]]

# robot_radius:设置机器人半径

robot_radius: 0.2

# inflation_radius:设定代价地图的膨胀半径。

# 此处设置为0.55,意味机器人针对相同的障碍物获取的所有路径都保持距离障碍物0.55m或更远

inflation_radius: 0.55

# observation_sources:传感器源参数定义把信息传递给代价地图的传感器列表,以空格分隔每个传感器,每个传感器分别定义。

observation_sources: laser_scan_sensor point_cloud_sensor

# 设置上述传感器源observation_sources的传感器信息

# “marking”和“clearing”参数确定传感器是否向代价地图添加障碍物信息或从代价地图中清除障碍物信息,或者同时都做

laser_scan_sensor: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true}

point_cloud_sensor: {sensor_frame: frame_name, data_type: PointCloud, topic: topic_name, marking: true, clearing: true}

 二.global_costmap_params.yaml

# 全局代价地图配置

global_costmap:

# global_frame:定义了代价地图应该运行的坐标系,在这种情况下,我们将选择/map坐标系

global_frame: /map

# “robot_base_frame”参数定义了代价地图应该为机器人的基座的坐标系

robot_base_frame: base_link

# update_frequency”参数决定了代价地图更新的频率(以Hz为单位)

update_frequency: 5.0

# static_map”参数确定是否由map_server提供的地图服务来进行代价地图的初始化(有是true)

static_map: true

三.local_costmap_params.yaml

local_costmap:

global_frame: odom

robot_base_frame: base_link

update_frequency: 5.0

publish_frequency: 2.0

static_map: false

#“rolling_window”参数设置为true意味着当机器人移动时,保持机器人在本地代价地图中心。

rolling_window: true

# “宽度”,“高度”和“分辨率”参数设置本地代价地图的宽度(米),高度(米)和分辨率(米/单元格)

width: 6.0

height: 6.0

resolution: 0.05

四.base_local_planner_params.yaml

TrajectoryPlannerROS:

#机器人的速度限制

max_vel_x: 0.45

min_vel_x: 0.1

max_vel_theta: 1.0

min_in_place_vel_theta: 0.4

#机器人的加速度限制

acc_lim_theta: 3.2

acc_lim_x: 2.5

acc_lim_y: 2.5

holonomic_robot: true

文件具体应用可以参考turtlebot3,文件路径如下:

参考:ROS与navigation教程-安装和配置导航包 - 创客智造/爱折腾智能机器人

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python学习之用QTimer计时器实现摄像头视频的播放和暂停

在上一篇文章《Python学习之简易视频播放器》中,通过python-opencv-pyqt5,实现了有界面的视频播放。但是,上文代码只有播放,却无法让播放的视频暂停。这是因为,我们在播放中使用的是while(self.cap.isOpened())循环。若…

上海亚商投顾:沪指震荡调整跌0.21% 两市成交金额不足8000亿

上海亚商投顾前言:无惧大盘涨跌,解密龙虎榜资金,跟踪一线游资和机构资金动向,识别短期热点和强势个股。 市场情绪 三大指数今日震荡调整,上证50午后一度跌超1%,以保险为首的权重板块走低。军工股逆市大涨&a…

玩机搞机----电脑端几种反编译apk工具操作步骤解析

经常玩机的友友避免不了有时候需要反编译有些app或者JAR文件等等。目前各种反编译工具很多。各有所长吧。很多都是就过工具结合使用。而且很多app涉及到加密加壳。由于有些工具没有及时更新。老版本的底层还是apktool_2.4这些。对于新款的app反编译有点吃力且兼容性不太好。当然…

yolov2

yolov2相对于yolov1的改进: 1、加入Batch Normalization 2、yolov2使用更大的分辨率图片 V1训练使用图片分辨率为224*224,测试图片分辨率为448*448。 V2在V1上的改进为:V2训练时额外又进行了10次448*448的微调。 3、yolov2的网络结构 相…

linux0.12-9-3-hd.c

1、 没找到。 就是个变量。 #define DEVICE_INTR do_hd 2、 哪里用到 setup((void *) &drive_info); sys_setup [403页] 9-3 hd.c程序 9-3-1 功能描述 hd.c程序是硬盘控制器驱动程序,提供对硬盘控制器块设备的读写驱动和硬盘初始化处理。 程序中所有函数按照…

C++ ---- 类和对象(下)

目录 初始化列表 初始化列表的语法 初始化列表的特性 explicit关键字 构造函数的隐式转换 explicit的作用 static修饰成员变量和成员函数 static修饰成员变量 static修饰成员函数 友元 友元函数 友元类 内部类 匿名对象 拷贝对象时的一些编译器优化 初始化列表 …

盘点 | 10大类企业管理系统有哪些

人类的发展史也是一部工具的进化史,企业管理手段同样不例外。移动互联网时代给了传统低下的手工操作方式致命一击,应运而生的各类企业管理系统工具为企业管理插上腾飞的翅膀,彻底颠覆了手动低效率的历史,变得更加移动化、智能化。…

C语言——史上最全通讯录讲解(附源码)

C语言——史上最全通讯录讲解(附源码) 一、开始界面的打印二、对六大板块进行定义操作三、对联系人进行初始化四、对通讯录进行初始化4.1动态版本4.2静态版本 五、通讯录六大功能的具体实现5.1判断是否需要扩容Checkcapcity5.2添加联系人ADDcontact5.3删…

Salesforce许可证和版本有什么区别,购买帐号时应该如何选择?

Salesforce许可证分配给特定用户,授予他们访问Salesforce产品和功能的权限。Salesforce版本和许可证是不同的概念,但极易混淆。 Salesforce版本:这是对组织购买的Salesforce产品和功能的访问权限。大致可分为Essentials、Professional、Ente…

E-office Server_v9.0 漏洞分析

漏洞简介 泛微e-office是一款标准化的协同OA办公软件,实行通用化产品设计,充分贴合企业管理需求,本着简洁易用、高效智能的原则,为企业快速打造移动化、无纸化、数字化的办公平台。由于泛微 E-Office 未能正确处理上传模块中输入…

解读赛力斯年报:华为智选车的B面

作者 | Amy 编辑 | 德新 赛力斯,华为智选车的B面。 2021年,赛力斯SF5进入华为渠道销售,华为自此开启了智选车模式。到年末,双方更是推出AITO品牌。AITO凭借M5/M7等车型在2022年拿下了超过7.5万台的销量,成为增长最快的…

无线模块|如何选择天线和设计天线电路

无线模块的通信距离是一项重要指标,如何把有效通信距离最大化一直是大家疑惑的问题。本文根据调试经验及对天线的选择与使用方法做了一些说明,希望对工程师快速调试通信距离有所帮助。 一、天线的种类 随着技术的进步,为了节省研发周期&…

Blender基础技巧小结(二)

本文续前一篇:Blender基础技巧小结_皮尔斯巴巴罗的博客-CSDN博客 由于2.83开始使用的是新版ui,但是2.83文档内并没有更新,所以最好参考3.3版文档 https://docs.blender.org/manual/zh-hans/3.3/interface/controls/buttons/menus.html 缩…

单片机:实战练习

目录 【1】GPIO 1.定义 2.应用 I - Input - 输入采集 O - Output - 输出控制 ​编辑​编辑 3.GPIO结构框图 4.功能描述 输入功能 输出功能 5.相关寄存器 【2】点亮一盏LED灯 1.实验步骤 2.编程实现 3.编译下载 4.复位上电 练习:实现LED灯闪烁…

“视频AI+职业教育”会碰撞出什么样的火花?

玩过腾讯智影、用过D-ID、体验过Vega Al,终于等到要出“视频AI教育”类的应用型产品了,很振奋。 展望: 已经实现AI情绪分析、AI智能审核、AI视频内容检索、AI多语言实时字幕、AI会议速记、AI窄带高清编码多种功能。 “视频AI职业教育”&#…

ubantu22里面配置apache2的cgi

在 Ubuntu 22.04 中配置 Apache2 的 CGI 1.安装 Apache2 在终端中使用以下命令安装 Apache2: sudo apt-get update sudo apt-get install apache22.启用 CGI 模块 在 Ubuntu 中默认情况下,CGI 模块是禁用的。您需要手动启用它。在终端中使用以下命令来启…

为什么要使用Thrift与Protocol Buffers?

编码数据的格式 程序通常(至少)使用两种形式的数据: 在内存中,数据保存在对象、结构体、列表、数组、散列表、树等中。 这些数据结构针对 CPU 的高效访问和操作进行了优化(通常使用指针)。如果要将数据写…

centos7中安装mattermost

centos7中安装mattermost 步骤如下: 第一步安装依赖项:在终端中执行以下命令以安装所需的依赖项 sudo yum install epel-release sudo yum install yum-utils sudo yum install wget第二步,下载Mattermost安装包:执行以下命令以下载Mattermo…

PowerShell Install 二进制方式部署Python3

Python 前言 Python 是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python 由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。像 Perl 语言一样, Python 源代码同样遵循 GPL(GNU General Public License) 协议。 Python downlo…

经典神经网络(3)Vgg-Net及其在Fashion-MNIST数据集上的应用

经典神经网络(3)VGG_使用块的网络 1 VGG的简述 1.1 VGG的概述 VGG-Net 是牛津大学计算机视觉组和DeepMind公司共同研发一种深度卷积网络,并且在2014年在ILSVRC比赛上获得了分类项目的第二名和定位项目的第一名。通过使⽤循环和⼦程序,可以很容易地在任…