【ROS2机器人入门到实战】配置 Navigation 2 参数

2. 配置 Navigation 2 参数

写在前面

  1. 当前平台文章汇总地址:ROS2机器人从入门到实战
  2. 获取完整教程及配套资料代码,请关注公众号<鱼香ROS>获取
  3. 教程配套机器人开发平台:两驱版| 四驱版
  4. 为方便交流,搭建了机器人技术问答社区:地址 fishros.org.cn

我们把 Navigation 2 当作一个模块,只要给它正确的数据输入,它就可以正常工作。所以在启动导航前,需要对一些参数进行调整,以适配我们的仿真机器人,这些参数主要有相关话题名称,坐标系名称和机器人描述等。

nav2_bringup 已经为我们提供了一个默认的参数,我们只需要在它的基础上进行修改即可。在功能包 fishbot_navigation2 下创建 config 目录,接着我们将 nav2_bringup 提供的默认参数复制到 config 目录下,命令如下:

cp /opt/ros/$ROS_DISTRO/share/nav2_bringup/params/nav2_params.yaml src/fishbot_navigation2/config

打开参数文件,可以看到有几百行的参数,不要害怕,这是因为将所有节点参数都放到同一个文件造成的,每一个节点的参数最多只有几十行。

参数名称中带有 topic 的基本都是关于话题的配置,比如 scan_topic 表示雷达数据话题名称,odom_topic 表示里程计话题名称。参数名称中带有 frame 的基本都是关于坐标系名称的配置,比如 odom_frame_id 表示里程计坐标系名称,robot_base_frame 表示机器人基础坐标系名称。仔细观察这些参数你会发现,它们默认值和我们上一章节机器人建模和仿真时,使用的值都是相同的,比如参数文件中默认里程计话题是 odom ,默认的雷达数据话题是 scan,默认的里程计坐标系是 odom,默认机器人基坐标系是 base_link。

除了修改话题和坐标系名称以保证数据的正确获取,在进行路径规划时还需要考虑机器人的大小即半径这一参数,如果半径设置的比真实的大,会造成窄的通道机器人过不去,如果过小则容易发生碰撞,因为是在基于地图做路径规划时才会考虑这一问题,所以机器人半径这一参数是在全局代价地图节点 global_costmap 和局部代价地图节点 local_costmap 进行配置的。分别修改两个代价地图节点robot_radius参数为建模时的半径,修改完成后对应参数值如下:

local_costmap:
  local_costmap:
    ros__parameters:
      ...
      robot_radius: 0.08

global_costmap:
  global_costmap:
    ros__parameters:
      ...
      robot_radius: 0.08

好了,关于导航相关的参数我们就暂时设置这么多,如果想更深入的修改参数以调整 Navigation 2 ,可以参考官方文档中的参数修改指南,地址如下:https://navigation.ros.org/configuration

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值