10.8为Fishbot配置Nav2.md 3.2 KB

10.8 为FishBot配置Nav2

安装好了Nav2,我们开始针对我们的fishbot改变一些参数进行导航相关的参数配置。

Nav2可配置的参数比起Cartographer更多,但是不要害怕,因为大多数参数我们可能不会改变。

有关Nav2的更多参数介绍和详细的配置意义,可以参考Nav2中文网配置指南一节。

1.创建fishbot_navigation2

1.1创建功能包

和前面在Cartographer中一样,我们需要创建一个文件夹放置配置文件、launch文件、rviz配置和地图等。

进入到src目录下,使用下面指令创建功能包:

ros2 pkg create fishbot_navigation2 --dependencies nav2_bringup

这里我们添加了一个依赖nav2_bringup,后面写launch文件要用到,这里提前添加一下依赖。

创建完成后的目录结构:

.
├── CMakeLists.txt
├── include
│   └── fishbot_navigation2
├── package.xml
└── src

3 directories, 2 files

1.2添加launch、config、map、param、rviz文件夹

cd src/fishbot_navigation2
mkdir launch config maps param rviz

1.3复制地图文件

将上一节的地图文件复制到map文件夹下。

复制完成后fishbot_navigation2的文件结构如下

.
├── CMakeLists.txt
├── config
├── launch
├── maps
│   ├── fishbot_map.png
│   ├── fishbot_map.pgm
│   ├── fishbot_map.yaml
├── package.xml
├── param
└── rviz

5 directories, 5 files

2.添加配置文件

我们需要配置的文件是Nav2的参数文件,同样的,贴心的Nav2已经为我们准备好了参数模板

src/navigation2/nav2_bringup/bringup/params/nav2_params.yaml

src/fishbot_navigation2/param/目录下创建fishbot_nav2.yaml

cd src/fishbot_navigation2/param/
touch fishbot_nav2.yaml

然后将src/navigation2/nav2_bringup/bringup/params/nav2_params.yaml的内容复制粘贴到fishbot_nav2.yaml文件中。

参数文件中的参数是谁的?

5.1.4章节保存参数中,我们曾用ros2 param dump <node_name>指令将某个节点的参数保存为一个.yaml格式的文件。fishbot_nav2.yaml文件就是保存Nav2相关节点参数的文件。

3. 配置参数

其实参数不配置也是可以将Nav2跑起来的,但是后期想要更改运行的效果就需要对参数进行修改,所以这里小鱼会带你学会调参三宝:

  1. 了解参数含义
  2. 修改参数,再次运行看效果
  3. 根据效果,更新参数

以上三步可能是你工作生涯中用到的除复制粘贴外的另一大技能,所以一定要掌握。

3.1 参数列表

有关Nav2所有参数的详细介绍,可以访问Nav2中文网中的配置指南章节,非常的详细,无比的具体。

image-20220517203105467


技术交流&&问题求助:

  • 微信公众号及交流群:鱼香ROS
  • 小鱼微信:AiIotRobot
  • QQ交流群:139707339

  • 版权保护:已加入“维权骑士”(rightknights.com)的版权保护计划