ROS2 Galactic nav2 使用自己的行为树插件

这篇博客介绍了在ROS2的foxy和galactic版本中如何使用自定义的行为树。在foxy版本中,可以通过设置default_bt_xml_filename参数来直接使用自己的XML文件。然而,galactic版本不支持这种方式,需要将默认参数文件复制到bt_diy文件夹下,改名为nav2_diy.yaml,并在其中添加default_nav_to_pose_bt_xml参数指向XML文件。同时,XML文件也需要放在根目录下。通过指定参数文件启动导航带入点击点的测试命令和bringup命令可以验证配置是否成功。

following_point.xml 为例

  1. foxy版本的navigation2可以通过参数 default_bt_xml_filename:=/path/to/bt.xml来使用自己的行为树
  2. galactic版本不行
  3. 复制默认的参数文件到根目录的 bt_diy文件夹下,重命名为nav2_diy.yaml,在params文件中添加 default_nav_to_pose_bt_xml: track.xml
  4. 然后在根目录下添加track.xml,也就是follow point的xml文件,然后全部在根目录下运行
$ ros2 run nav2_test_utils clicked_point_to_pose

$ ros2 launch nav2_bringup tb3_simulation_launch.py params_file:=bt_diy/nav2_diy.yaml

运行成功

### 安装 mapviz 和插件ROS 2使用 `mapviz` 之前,需要先安装它及其插件。对于基于 Ubuntu 的系统,可以使用以下命令安装 `mapviz` 和 `mapviz_plugins`: ```bash sudo apt update sudo apt install ros-<ros2-distro>-mapviz ros-<ros2-distro>-mapviz-plugins ``` 其中 `<ros2-distro>` 应替换为当前使用ROS 2 发行版名称,例如 `foxy` 或 `galactic` [^1]。 ### 启动 mapviz 安装完成后,可以通过以下命令启动 `mapviz`: ```bash ros2 run mapviz mapviz ``` 启动后,将打开一个图形界面,用户可以通过点击“Add Display”按钮来添加不同的插件,从而实现地图数据的可视化 [^1]。 ### 配置插件 为了使 `mapviz` 能够正常显示地图数据,需要确保有一个发布 `/map` 主题的节点正在运行。这通常是由 SLAM 节点或地图服务器节点完成的。一旦插件被添加到 `mapviz` 界面中,可以通过插件的配置界面设置主题名称和其他参数,以确保与数据源匹配 [^1]。 ### 使用插件进行地图可视化 `mapviz` 支持多种插件,这些插件能够处理不同类型的数据,包括但不限于 `nav_msgs/MapMetaData` 和 `nav_msgs/OccupancyGrid`。通过 `mapviz_plugins` 包提供的插件,还可以实现对多分辨率图像和瓦片地图的支持,从而增强地图可视化的功能 [^2]。 ### 示例:添加地图插件 假设已经有一个节点在发布 `/map` 主题,可以在 `mapviz` 界面中执行以下操作: 1. 点击“Add Display”按钮。 2. 在弹出的窗口中选择“Map”插件。 3. 在插件配置界面中,确认主题名称设置为 `/map`。 4. 点击“OK”保存配置。 此时,`mapviz` 将开始订阅 `/map` 主题,并显示接收到的地图数据 [^1]。 ### 故障排除 如果 `mapviz` 无法正常显示地图数据,可以尝试以下方法进行故障排查: - **检查主题名称**:确保 `mapviz` 配置的主题名称与发布地图数据的主题名称一致,默认情况下应为 `/map`。 - **确认数据类型**:确保发布的地图数据类型与 `mapviz` 插件期望的数据类型一致。 - **查看日志信息**:如果 `mapviz` 没有按预期工作,可以通过 `ros2 log` 命令查看详细的日志信息,这有助于诊断问题所在。 - **更新软件包**:确保所有相关的 ROS 2 软件包都是最新的,有时问题可能是由于软件包过时引起的 [^1]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值