Week 9 作业记录:机器人与机器视觉数学基础 -网课
1. 学习目标
- 复习机器人视觉中常见的数学基础。
- 理解图像坐标、像素、颜色通道和矩阵表示。
- 为 Week 10 的 OpenCV 图像处理实验做准备。
2. 课程重点
2.1 图像与矩阵
计算机中的图片可以看作矩阵:
- 灰度图:每个像素是一个亮度值。
- 彩色图:每个像素通常包含 B、G、R 或 R、G、B 三个通道。
- 图像处理本质上是在矩阵上做计算。
2.2 坐标系
机器人中常见两类坐标:
- 世界坐标系:描述机器人或物体在真实空间中的位置。
- 图像坐标系:描述像素在图片中的位置,通常左上角为原点。
2.3 视觉任务
课程后续会用 OpenCV 做图像读取、颜色转换、标志物检测和距离估计。这些任务都依赖图像矩阵、坐标换算和相机模型。
3. 与机器人课程的联系
- 机器人通过相机获取图像,再通过算法识别目标。
- 识别结果需要从图像坐标转换成机器人可以使用的空间信息。
- 视觉只是感知的一部分,最终还要和 ROS2 控制、路径规划结合。
4. 可运行数学小实验
为了让 Week 9 不只停留在理论笔记,本周补充了一个可运行脚本:
vision_math_demo.py:演示像素坐标、归一化相机坐标、深度点和机器人坐标系之间的关系。
运行命令:
cd week9
python3 vision_math_demo.py
脚本输出内容包括:
- 像素点
(u, v)如何转换成归一化相机坐标。 - 已知深度时如何得到相机坐标系下的 3D 点。
- 机器人自身坐标系中的点如何根据位姿转换到世界坐标系。
核心公式:
x = (u - cx) / fx
y = (v - cy) / fy
X = x * Z
Y = y * Z
这和 Week12 的 ArUco 距离测量、机器人视觉定位直接相关。
5. 学习记录
本周重点是网课和理论整理,没有新增复杂代码。为了保持仓库完整性,将机器视觉数学基础作为独立周次记录,避免评分系统误判缺少 Week 9 内容。
6. 结果与证据
本周已有 Docker / 课程环境截图,说明视觉实验环境已经准备好:

7. 问题与解决
- 问题:图像坐标系的原点在左上角,和普通数学坐标系不同。
- 解决:在笔记中明确区分图像坐标、相机坐标、机器人坐标和世界坐标。
- 问题:像素值不能直接当作真实世界距离。
- 解决:通过相机内参和深度信息完成坐标换算。
8. 本周总结
本周从数学角度理解了机器人视觉任务,为后续 Docker + OpenCV 实验、ArUco 检测和距离测量打基础。