📝 Week 5:Linux 目录操作与机器人运动学
实验内容
- 本周完成了以下任务: Linux 目录深度操作:掌握了绝对路径与相对路径的区别,学习了 mkdir -p、rm -rf、cp -r 等进阶文件管理命令。
- 机器人运动学基础:学习了差速轮式机器人的前向运动学(Forward Kinematics),即如何根据左右轮速推算机器人在空间中的位姿。
- 坐标系与变换(TF):理解了机器人中常见的坐标系(World, Odom, Base_link),以及如何通过平移和旋转矩阵描述它们之间的关系。
- 实践:手算位姿更新:根据给定的线速度 $v$ 和角速度 $\omega$,计算机器人在一段时间 $\Delta t$ 后的新坐标 $(x, y, \theta)$。
实验截图
Linux 目录结构组织机器人运动轨迹推算
运行命令
Bash
递归创建多级目录
mkdir -p ~/ros2_ws/src/my_robot_pkg
查看当前系统中的坐标系树(TF Tree)
ros2 run tf2_tools view_frames
运行差速运动学模拟节点
ros2 run movement_pkg differential_drive_kinematics
遇到的问题
- 问题:在执行 rm 命令时误删了重要文件。 解决:养成了使用 ls 先确认文件列表的习惯,并学习了如何通过回收站机制或备份恢复。
- 问题:计算位姿时,角度 $\theta$ 的范围超出了 $[-\pi, \pi]$。
解决:引入了角度归一化函数(Normalization),使用 atan2(sin(theta), cos(theta)) 将角度始终保持在标准区间内。
学习心得
本周的学习让我意识到“底层基础”的重要性。Linux 的高效操作是机器人开发的基石,而运动学则是机器人能够感知自身位置的数学灵魂。通过手算运动轨迹,我理解了为什么传感器(如编码器)的微小误差会随着时间累积成巨大的位姿漂移,这为后面学习里程计校准打下了基础。
返回