1. 实验背景ROS 2 (Robot Operating System 2) 是目前机器人开发的主流框架。本实验作为 ROS 2 学习的第一步通过turtlesim仿真器深入理解 ROS 2 的节点Node、话题Topic以及发布/订阅Pub/Sub通信机制。2. 实验目标启动 Turtlesim 仿真节点。通过键盘控制节点实现对小海龟的手动控制。编写 Python 脚本通过发布Twist消息实现小海龟的自动化圆周运动。3. 实验步骤与效果展示3.1 环境准备首先确保 ROS 2 环境配置正确启动仿真核心节点ros2 run turtlesim turtlesim_node3.2 手动控制Teleop开启一个新终端运行键盘控制节点。通过键盘方向键我们可以实时改变小海龟的速度。ros2 run turtlesim turtle_teleop_key在手动控制下小海龟会在屏幕上留下运动轨迹。3.3 自动化控制编写 Python 绘圆脚本 实验源码下载文件名draw_circle.py获取方式点击立即下载按钮或者查看资源绑定列表。适用环境ROS 2 Humble / Foxy / Galactic手动控制虽然直观但机器人开发的内核在于自动化。我们编写了一个名为draw_circle.py的 Python 节点通过定时向/turtle1/cmd_vel话题发送恒定的线速度和角速度使海龟画出一个完美的圆。代码核心实现# 核心逻辑设置线性速度 x2.0, 角速度 z1.0msgTwist()msg.linear.x2.0msg.angular.z1.0self.publisher_.publish(msg)运行过程python3 draw_circle.py最终效果可以看到在原有乱序轨迹的基础上小海龟划出了一个规范的圆形。4. 实验总结通过本次实验我掌握了以下核心知识点节点 (Node)turtlesim_node和控制节点是相互独立的进程。话题 (Topic)控制指令是通过/turtle1/cmd_vel话题进行传递的。消息类型 (Message Type)使用了geometry_msgs/msg/Twist来表达三维空间中的速度。这种“发布/订阅”的异步通信模式是 ROS 2 系统的基石。 下一步预告圆满完成小海龟任务后我将挑战目标二三维导航3D Navigation。我们将告别二维平面进入 Gazebo 仿真环境探索激光雷达与 3D 避障的奥秘