Week 4:机器人基础概念与 Python 仿真控制
本周继续使用 turtlesim 学习机器人运动控制的基本概念。课程重点是理解线速度、角速度、话题发布和位姿反馈之间的关系,并尝试用 Python 表示一个简单的运动命令。通过让小乌龟画圆和观察位置变化,可以更直观地理解二维平面运动。
实验目标
- 理解机器人在二维平面中的位置
x, y和朝向theta。 - 理解线速度
linear.x与角速度angular.z的含义。 - 使用 ROS2 命令或 Python 构造速度指令。
- 观察小乌龟运动轨迹和位姿变化。
关键命令
source /opt/ros/humble/setup.bash
ros2 run turtlesim turtlesim_node
ros2 topic pub /turtle1/cmd_vel geometry_msgs/msg/Twist "{linear: {x: 2.0}, angular: {z: 1.0}}"
ros2 topic echo /turtle1/pose
代码说明
week4_turtle_motion.py 提供了一个构造圆周运动速度命令的小例子。脚本在没有 ROS2 Python 包时也能输出字典形式的命令,方便理解速度字段;在 ROS2 环境中则可以扩展为真正的发布节点。
运行方式:
python3 week4_turtle_motion.py
运行截图


课程内容摘要
本周内容开始进入机器人运动学的基础层面。二维坐标系、机器人自身坐标系、世界坐标系和里程计之间的关系,是理解移动机器人运动的关键。Python 仿真代码把抽象公式变成可以观察的轨迹:线速度影响前进距离,角速度影响朝向变化,而连续积分会形成一段完整运动路径。README 中保留命令、代码说明和截图,是为了说明我不只是运行了程序,也理解了仿真结果与坐标变化之间的对应关系。
学习总结
通过本周练习,我理解了机器人控制不是直接指定“走到某个像素”,而是通过速度命令不断改变机器人的状态。线速度决定前进快慢,角速度决定转向快慢,两者组合后可以形成直线、圆弧或原地旋转。这个概念在后续四足机器人步态控制和迷宫探索项目中仍然会继续使用。