ROS2与Turbot3-Multi仿真教程-多机行为树导航
文章说明
- 本教程主要介绍如何在ROS2仿真进行多机行为树导航的例程测试
- 测试环境:
Ubuntu 24.04
+ROS2 Jazzy
+Gazebo Harmonic
相关设备
- Turbot3-Multi套件: 采购地址
操作步骤
- 新开终端,启动多机仿真
# 默认在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
演示视频
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号