智能车调参经验(超级详细!!!手把手教)【一】

这篇具有很好参考价值的文章主要介绍了智能车调参经验(超级详细!!!手把手教)【一】。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        调参作为智能车比赛中最为耗时和痛苦的事情,在网上浏览了许多人的调参经验的博客却发现大家分享的内容对新手并不太友好,所以作为一枚小白打算记录一下此次参加智能车比赛中调参遇到的问题以及经验所得,不仅希望能帮助到更多人,让他们少走弯路,节省时间。同时也是对自己这段经历的一次总结回顾。

一、调参准备工作

        在正式开始调参之前我们需要做足充分的准备,如:知晓每个yaml文件里每个参数的意义(尤其的重要!!!!!希望各位莫要偷懒,老老实实地将各个参数的意思在文件中注释出来),知晓膨胀区域等基础概念。

        好了,准备工作完成到位后,我们要开始调参了。面对如此多的文件和参数我们到底应该从哪处着手呢?先从调配出一份合适的全局路径规划开始!于是我们需要将目光放在costmap_common_param.yaml ,global_costmap_params.yaml ,global_planner_params.yaml这三份文件上。

costmap_common_param.yaml

该文件是move_base 在全局路径规划与本地路径规划时调用的通用参数,包括:机器人的尺寸、距离障碍物的安全距离、传感器信息等。

#这个文件主要用于配置基本的参数,这些参数会被用于local_costmap和global_costmap http://wiki.ros.org/navigation/Tutorials/RobotSetup

#定义了将要向costmap传递信息的传感器列表,设定导航包所使用的传感器发布的话题,同时作为以下的命名空间
observation_sources: scan
#topic表示传感器发布的话题名称,而marking和clearing参数用来表示是否需要使用传感器的实时信息来添加或清除代价地图中的障碍物信息
scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true}

#将障碍物插入代价地图的最大范围/米,检测到一个距离小于2.5m的障碍物,就会将这个障碍物引入到代价地图中
obstacle_range: 2.5

#从地图中扫描出障碍物的最大范围/米,实时观察3m范围内代价地图中的障碍物
raytrace_range: 3

#代价比例系数,越大则代价值越小
cost_scaling_factor: 36.0

#将机器人的几何参数告诉导航功能包集,footprint表示多边形面积,robot_radius表示圆形
#footprint: [[0.1, 0.15], [-0.1, 0.15], [-0.1, -0.15], [0.1, -0.15]]
robot_radius: 0.01
#等待坐标变换发布信息的超时时间
transform_tolerance: 2 
#膨胀半径,扩展在碰撞区域以外的代价区域,给定机器人与障碍物之间必须要保持的最小距离0.25
inflation_radius: 0.25
#代价地图精度,即每个网格的尺寸
resolution: 0.01

map_type: costmap




        其中的代价比例系数以及膨胀半径是否合适都会对后续的导航产生巨大的影响和干扰。

global_costmap_param.yaml

该文件用于全局代价地图参数设置

#Description:
#  全局代价地图参数配置文件,各参数的意义如下:

global_costmap:
  global_frame: map  #地图坐标系
  robot_base_frame: base_link  #机器人坐标系

  #膨胀半径,扩展在碰撞区域以外的代价区域,使得机器人规划路径避开障碍物
  #inflation_radius: 19.25
  #代价比例系数,越大则代价值越小
  #cost_scaling_factor: 29.5 #20.5

  update_frequency: 1.8       #代价地图更新频率
  publish_frequency: 0.5      #代价地图的发布频率
  transform_tolerance: 10     #等待坐标变换发布信息的超时时间

  static_map: false             # 是否使用一个地图或者地图服务器来初始化全局代价地图,如果不使用静态地图,这个参数为false.
  plugins:
    - {name: static_layer,    type: "costmap_2d::StaticLayer"}
    - {name: obstacle_layer,  type: "costmap_2d::ObstacleLayer"}
    - {name: inflation_layer, type: "costmap_2d::InflationLayer"}

调参利器rqt

rosrun rqt_reconfigure rqt_reconfigure 

        它可以帮助我们进行动态调参,尤其是在我们需要调节出一份合适的膨胀半径以及一份合适的路径规划时,它的帮助是巨大的,能帮助我们节省不少不必要的时间去重启rviz等一系列反复的动作。强烈推荐!!!!!!!!!!!!当然在开始使用rqt调参之前我们需要让小车不在地图上乱跑,乖乖地呆在起点,让我们可以自由舒适地调节出合适的全局路径。这时我们就需要使用到launch文件标签之remap,在move_base节点的调用launch文件中将我们的速度话题换个名称从而让move_base无法订阅到我们的cmd_vel的速度话题,从而让小车没有速度输出,安静地呆在原地。文章来源地址https://www.toymoban.com/news/detail-604854.html

到了这里,关于智能车调参经验(超级详细!!!手把手教)【一】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • NodeMCU ESP8266 点亮LED灯手把手教程(图文并茂+超级详细)

    大家如果学过编程,那么 Hello World 往往是大家写下的第一个程序,在C语言中,看着控制台输出 hello world ,也就意味着我们敲开了编程的大门。同样的,点亮一个LED灯可以说是嵌入式里的 hello world 。 NodeMCU ESP8266是一款基于ESP8266芯片的开发板。之前我们有做过介绍,这个开发

    2024年02月05日
    浏览(92)
  • 手把手带你调参Yolo v5(二)

    来源:投稿 作者:王同学 ​​​​​​​编辑:学姐 今天我们继续上次的YOLOv5参数解析,这次主要解析源码中train.py文件中包含的参数。 1.1\\\'--weights\\\' 1.2\\\'--cfg\\\' 1.3\\\'--data\\\' 1.4\\\'--hyp\\\' 1.5\\\'--epochs\\\' 1.6\\\'--batch-size\\\' 1.7\\\'--imgsz\\\', \\\'--img\\\', \\\'--img-size\\\' 1.8\\\'--rect\\\'🍀 1.9\\\'--resume\\\'🍀 1.10\\\'--nosave\\\' 1.11\\\'--nova

    2024年02月05日
    浏览(54)
  • 手把手调参 YOLOv8 模型之 训练|验证|推理配置-详解

    YOLO系列模型在目标检测领域有着十分重要的地位,随着版本不停的迭代,模型的性能在不断地提升,源码提供的功能也越来越多,那么如何使用源码就显得十分的重要,接下来通过文章带大家手把手去了解Yolov8(最新版本)的每一个参数的含义,并且通过具体的图片例子让大

    2024年02月05日
    浏览(44)
  • 【Oracle安装及使用】超级详细的初次在python中使用Oracl图文详解!手把手教你从安装Oracle到在python中连接Oracle!

    需要安装pycharm、 主要任务:安装Oracle、Oracle环境配置、新建数据库、测试、pycharm中下载包、pycharm中使用Oracle。 1.Oracle完整安装详解 这篇很详细了,还附了安装包,按照博主一套下来基本没问题。 此外有几个小改动: (1)HOST我改成了IP地址 * 查询自己的本机地址方式如下

    2024年02月01日
    浏览(47)
  • Fabric 超级账本学习【2】Fabric2.4网络环境下部署自己编写的go语言链码并实例化测试(手把手教学,步骤超详细)

    搭建部署 Fabric2.4网络的具体教程可见我写的这篇博客: Fabric 超级账本学习【4】Ububtu环境下部署搭建 Hyperledger Fabric2.4 (2.X)区块链网络 1、前提是搭建好了Fabric 2.4(Fabric2.x)版本的区块链网络,并在以此环境下部署自己编写的链码,如下图先进入 test-network 文件夹目录下 2、

    2023年04月16日
    浏览(48)
  • 全网最详细中英文ChatGPT接口文档(五)30分钟快速入门ChatGPT——手把手示例教程:如何建立一个人工智能回答关于您的网站问题,小白也可学

    This tutorial walks through a simple example of crawling a website (in this example, the OpenAI website), turning the crawled pages into embeddings using the Embeddings API, and then creating a basic search functionality that allows a user to ask questions about the embedded information. This is intended to be a starting point for more sophisticated applicat

    2023年04月17日
    浏览(52)
  • 2021 => 手把手搭建dhcp服务(详细)

    配置实验环境 关闭VMware的dhcp服务 给虚拟机添加网卡为VMnet1 安装与配置dhcp服务 给新添的网络配置IP 配置dhcp服务 在真实的主机系统上查看dhcp配置 为真实主机系统分配固定的IP 修改dhcp配置文件 再次重启真实主机的网络 为其他的VMware上的虚拟机分配dhcp服务器的IP 在开启一台

    2024年02月08日
    浏览(52)
  • 手把手搭建KVM云平台(详细教学)

    1.点击“文件”,选择“新建虚拟机”。 2.选择“自定义(高级)”,点击“下一步”。 3.硬件兼容性选择“Workstation 16.x”,点击“下一步”。 4.选择“稍后安装操作系统”,点击“下一步”。 5.操作系统选择“Linux(L)”,版本选择“CentOS 7 64位”,点击“下一步”。 6. 自

    2024年02月02日
    浏览(48)
  • gitee使用教程(手把手,简单详细,中文包)

    目录 1.gitee介绍 2.gitee注册 3.软件安装 下载git 下载tortoise git 安装git  安装tortoise git  4.建立仓库 ​编辑 5.使用git工具—4大功能 1.克隆/下载  2.add、commit、push、pull操作 gitee译为码云,是国内创建的一个类似与github的网站,可以上传自己的代码放在云端保存,下面介绍gitee如何

    2024年02月05日
    浏览(47)
  • git安装教程(保姆级手把手详细图文)

    一. 认识Git Git是一个分布式版本控制系统,主要用于项目版本管理,一般使用过程为创建分支,修改代码、合并分支 二. 下载Git安装包 1. 登录Git官网: https://git-scm.com/ (官网看版本号,缺点是下载太慢) 2.淘宝镜像下载: https://registry.npmmirror.com/binary.html?path=git-for-windows/ (找到

    2024年01月17日
    浏览(65)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包