Skip to the content.

Week 4:机器人运动学基础与 Python 仿真

实验内容

本周学习了二维机器人运动学基础,包括世界坐标系、机器人坐标系、里程计 odom,以及使用 Python 模拟机器人位置变化。


理论整理

1. 世界坐标系

世界坐标系是固定不变的参考系,用来表示机器人在环境中的绝对位置。

2. 机器人坐标系

机器人坐标系以机器人自身为中心,会随着机器人移动和旋转而变化。

3. 里程计 odom

里程计是机器人根据传感器或运动数据估算自身位置的方法,可以得到机器人的 x、y、theta 等信息。


运动学公式

线速度:

v = (v_left + v_right) / 2

角速度:

ω = (v_right - v_left) / L

位置更新:

x_new = x + v × cos(theta) × dt

y_new = y + v × sin(theta) × dt

theta_new = theta + ω × dt


实验过程

启动 turtlesim:

ros2 run turtlesim turtlesim_node

监听小乌龟位置:

ros2 topic echo /turtle1/pose

运行 Python 仿真程序:

python3 kinematics_demo.py


实验截图

监听 turtlesim 位置

监听位置

Python 运动学仿真

Python仿真


总结

通过本周实验,我理解了机器人坐标系、世界坐标系和里程计的基本概念,并使用 Python 模拟了机器人在二维平面中的位置变化。