< >
Home » ROS2版Turbot3-Multi仿真教程 » ROS2与Turbot3-Multi仿真教程-多机行为树导航

ROS2与Turbot3-Multi仿真教程-多机行为树导航

文章说明

  • 本教程主要介绍如何在ROS2仿真进行多机行为树导航的例程测试
  • 测试环境:Ubuntu 24.04 + ROS2 Jazzy + Gazebo Harmonic

相关设备

操作步骤

  • 新开终端,启动多机仿真
# 默认在Gazebo中加载turbot3_house环境,以及加载名为tb3_0和tb3_1的机器人
$ ./sim_scripts/sim_multi_robot_in_gazebo.sh

请输入图片描述

  • 新开终端,启动导航脚本
$ ./sim_scripts/sim_multi_nav.sh
  • 手动在RViz2界面进行初始化位姿的设置,点击界面上方的2D Pose Estimate 按钮,在地图上指定机器人的位置和方向

  • 可以使用初始化位姿的脚本

$ ./sim_scripts/sim_multi_nav_init_pose.sh
  • 但需要知道当前的机器人在地图中的位置,最佳做法是,用一台机器人放在gazebo原点开始建图,那么建出来的地图原点和gazebo原点是重合的
  • 从而在导航时,机器人在gazebo中的位置与在RViz2中地图的位置是一致的,但需要注意方向
  • 比如这次测试中tb3_0机器人在gazebo中的坐标是(-3, -3)但方向与建图时的机器人相差90度
  - name: tb3_0
    x_pose: -3.0
    y_pose: -3.0
    z_pose: 0.01
    roll: 0.0
    pitch: 0.0
    yaw: 1.57
  • 那么初始化位姿的坐标就应如下设置
    "pose": {
      "position": {"x": -3.0, "y": -3.0, "z": 0.0},
      "orientation": {x: 0.0, y: 0.0, z: 0.7071, w: 0.7071}
    },

  • 新开终端,启动多机行为树导航脚本
$ ./sim_scripts/sim_multi_send_goal_with_bt_tree.sh
  • 机器人将会依照导航到行为树配置文件中设置的目标点
  • 行为树配置文件存放在以下路径:/home/ubuntu/ros2_t3_ws/src/turbot3/turbot3_nav2/config/bt_tree/multi_bt_tree.xml

请输入图片描述

演示视频

纠错,疑问,交流: 请进入讨论区点击加入Q群

获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号


标签: ros2版turbot3-multi仿真教程