ROS2与Open-RMF仿真教程-turtlebot3使用free_fleet
ROS2与Open-RMF仿真教程-turtlebot3使用free_fleet
说明:
- 介绍如何结合turtlebot3使用free_fleet
步骤:
cs -s install_tb3_humble_source
- 执行命令,确认安装
- 安装free_fleet教程,参考上一篇文章
- 确保安装完后,可以正常运行turtlebot3仿真, 具体turtlebot3仿真教程参考
测试:
- 启动Turtlebot3 Fleet Server
source ~/ros2_free_fleet_ws/install/setup.bash
ros2 launch ff_examples_ros2 turtlebot3_world_ff_server.launch.xml
- 效果图:
- 启动Turtlebot3仿真
source ~/ros2_free_fleet_ws/install/setup.bash
export TURTLEBOT3_MODEL=burger; ros2 launch ff_examples_ros2 turtlebot3_world_ff.launch.xml
- 此启动文件启动 gazebo 中的模拟、rviz2 中的可视化以及单个 turtlebot3 的模拟导航堆栈。
- 一旦模拟和可视化显示出来,就可以通过 rviz2 上的按钮2D Nav Goal 的 正常命令机器人。
- gazebo效果图:
- rviz效果图:
- 查看fleet_states 话题
source ~/ros2_free_fleet_ws/install/setup.bash
ros2 topic echo /fleet_states
- 目的地请求,允许对机器人发出单一目的地命令
source ~/ros2_free_fleet_ws/install/setup.bash
ros2 run ff_examples_ros2 send_destination_request.py -f turtlebot3 -r ros2_tb3_0 -x 1.725 -y -0.39 --yaw 0.0 -i unique_task_id_1
- 效果如下:
fleet_name: fake_fleet
robot_name: fake_ros2_robot
x: 1.725
y: -0.39
yaw: 0.0
level_name: B1
task_id: unique_task_id_1
topic_name: robot_destination_requests
all done!
- 路径请求,请求机器人执行一串目标命令
source ~/ros2_free_fleet_ws/install/setup.bash
ros2 run ff_examples_ros2 send_path_request.py -f turtlebot3 -r ros2_tb3_0 -i unique_task_id_2 -p '[{"x": 1.725, "y": -0.39, "yaw": 0.0, "level_name": "B1"}, {"x": 1.737, "y": 0.951, "yaw": 1.57, "level_name": "B1"}, {"x": -0.616, "y": 1.852, "yaw": 3.14, "level_name": "B1"}, {"x": -0.626, "y": -1.972, "yaw": 4.71, "level_name": "B1"}]'
- 模式请求,目前只支持暂停和恢复的
ros2 run ff_examples_ros2 send_mode_request.py -f turtlebot3 -r ros2_tb3_0 -m pause -i unique_task_id_3
ros2 run ff_examples_ros2 send_mode_request.py -f turtlebot3 -r ros2_tb3_0 -m resume -i unique_task_id_4
- 请注意,任务 ID 需要是唯一的,如果使用以前使用过的任务 ID 发送请求,则免费队列客户端将忽略该请求
获取最新文章: 扫一扫右上角的二维码加入“创客智造”公众号