< >
Home » ROS2轻松学第1季_视频版 » ROS2轻松学1-系统篇6-Turtlesim演示讲义(含视频)

ROS2轻松学1-系统篇6-Turtlesim演示讲义(含视频)

ROS2轻松学1-系统篇6-Turtlesim演示讲义

说明:

  • 本文主要介绍Turtlesim基本使用,并再后面的教程,结合Turtlesim理解ROS2的相关概念
  • 适合ROS-EASY-OS20.04/ROS-EASY-OS22.04镜像安装的虚拟机或实体机系统

参考:

控制小乌龟移动

  • 启动仿真
ros2 run turtlesim turtlesim_node 
  • 启动键盘控制
ros2 run turtlesim turtle_teleop_key 

查看话题,节点,服务,动作列表

ros2 node list
ros2 topic list
ros2 service list
ros2 action list

画方形

ros2 run turtlesim turtlesim_node 
ros2 run turtlesim draw_square #启动仿真画方形

通过spawn服务来生成小乌龟turtle2

  • 通过节点名来区别不同小乌龟
  • 方法1: 通过rqt的Service Caller调用spawn实现增加
#启动一个小乌龟
ros2 run turtlesim turtlesim_node 
#利用rqt调用`Plugins > Services > Service Caller`然后指定名称turtle2生成新的小乌龟
rqt 
#启动键盘指定小乌龟
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
#用键盘控制turtle2乌龟移动,turtle1乌龟会跟随同样的路径
  • 方法2: 通过service命令调用spawn实现增加
#启动一个小乌龟
ros2 run turtlesim turtlesim_node 
#启动第二小乌龟
ros2 service call /spawn turtlesim/srv/Spawn "{x: 1.0, y: 1.0, theta: 0.2, name: 'turtle2'}"
#启动键盘指定小乌龟
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=turtle2/cmd_vel
#用键盘控制turtle2乌龟移动,turtle1乌龟会跟随同样的路径

让turtle2模仿turtle1

  • 在上面的例子,继续执行
#启动跟随
ros2 run turtlesim mimic --ros-args --remap input/pose:=turtle1/pose --remap output/cmd_vel:=turtle2/cmd_vel

#控制turtle1
ros2 run turtlesim turtle_teleop_key

通过launch同时启动多个小乌龟

  • 使用命名空间来区分不同小乌龟,命名空间分别为turtlesim1,turtlesim2
ros2 launch turtlesim multisim.launch.py
  • 查看话题列表 ros2 topic list
  • 控制移动
ros2 run turtlesim turtle_teleop_key --ros-args --remap turtle1/cmd_vel:=/turtlesim1/turtle1/cmd_vel

ros命令管理器启动乌龟

  • 启动commands
commands

演示视频

  • 在线版本

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

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


标签: turtlesim