Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

勘误与补注(对照原书、课件与板书)

本页收录第五章整理过程中发现的问题:E5.1 与 E5.2 是平台接口层的关键陷阱(会直接影响其他各周的素材获取),E5.3–E5.6 是本周素材的具体情况。正文已按此处结论校正。

E5.1 平台接口的 guid 陷阱:search-ppt 与 search-trans-result 要用教师流 guid

现象:用课件录像的 resource_guid 去查这两个接口,返回的是空列表:

GET /pptnote/v1/schedule/search-ppt?...&resource_guid=62b684a59dc24fd78cb262415c63663a
  -> {"code":0,"list":[],"msg":"查询成功","total":0}

GET /courseapi/v3/web-socket/search-trans-result?...&resource_guid=62b684a5...
  -> {"code":10002,"msg":"未查询到语音数据","total":0,"list":[]}

看起来像「平台还没处理完」,实际只是 guid 传错了。

依据(播放器源码 1.d7ad451b8d86543165bc.js):

i.resource_guid = this.liveInfo.segment_video_list[this.clipKey].teacher_list.resource_guid

正确用法:查 segment_video_list[<clip>].teacher_list.resource_guid(get-sub-info 的 data.resource_guid 就是它)。本周值:

项值
course_id / sub_id144262 / 5877638
教师流 guid(两个接口都用它)cee46cc20d8f44a588afddb2374a5d53
课件流 guid(只用于取录像直链)62b684a59dc24fd78cb262415c63663a

第二个坑:search-trans-result 只认 resource_guid、忽略 sub_id。拿第 4 周的 guid 配第 6 周的 sub_id,返回的是第 4 周的内容(2716 句「讲轨迹规划」),不报错。所以核对时必须用 guid 与 sub_id 同时匹配的那一组。

验证方法:换对 guid 后,search-ppt 立刻返回 247 帧(ai3/ppt/20261013/e26a78a5-…/<毫秒>.jpg,公开直链,无需 cookie)。本编全部插图即由此获取。

E5.2 课件帧的时间轴:created 列早 120 秒,文件名的毫秒才是播放时刻

现象:search-ppt 每条记录同时给 pptimgurl(文件名是毫秒 id)与 created(秒)。两者的差恒为 −120 秒:

created=round(文件名毫秒/1000)−120\texttt{created}=\mathrm{round}(\texttt{文件名毫秒}/1000)-120

本编的实测(不靠推断,用图像对齐):取 8 个平台帧,在课件录像里做归一化互相关(NCC)搜索最佳匹配位置,结果

对比量平均偏差说明
最佳匹配时刻 − 文件名毫秒−0.6±0.8-0.6\pm0.8 s吻合(NCC 0.985–0.995,峰值很锐)
最佳匹配时刻 − created+119.2±1.0+119.2\pm1.0 s差整整 2 分钟

结论:文件名毫秒 = 播放时刻,created 是另一个时钟。课件录像与教师流本身是对齐的(两路时长只差 0.53 s;投影面 NCC 在偏移 0 处最大)。

注意:与 src/ch04/errata.md 的 E4.1 冲突——E4.1 需复核。 第 4 周当时判定「created_sec 才是播放时间、文件名毫秒是内部 id」,并据此重建了 ppt_frames.csv。 本编下载了第 4 周课件录像复算,结论相反:

第 4 周课件帧正文 / curated_map.tsv 标注在录像中的实测位置NCC
655994.jpg(封面标题页)0:08:5610:570.997
1587675.jpg(全章目录)0:24:2826:270.996

若按文件名毫秒为准,src/ch04/ 的 29 处「课堂幻灯片 · mm:ss」图注与 raw/week4/curated_map.tsv 整体早了 2 分钟。 核验材料已就位:raw/week4/videos/week4_ppt.mp4。本编未改动第 4 章正文(不属于本周范围),仅在此标记,待复核后统一修正。

E5.3 本周平台语音转写未生成,转录由本地 whisper 完成

现象:search-trans-result 对本周恒定返回 {"code":10002,"msg":"未查询到语音数据","total":0}。

已排除的可能:换过两种 guid、不带 guid、以及播放器源码里的另一个参数 resource_id(0 / 1 / 空)——结果全部相同。对照组:同一 cookie 下第 3 周(sub_id=5863922 + 60f3b413…)与第 4 周(sub_id=5869130 + 6758c35f…)都正常返回。因此是本周这一讲尚未生成,不是权限或参数问题。

处理:本周转录改由本地 whisper.cpp + ggml-large-v3-turbo-q8_0 完成。两个必须处理的失效模式:

  1. 整段一次性转写会退化——解码器把自身输出当上下文循环,2:29 的音频只吐出「1,2,3,4」。按 600 s 分块是决定性的修正。
  2. 静音上幻听——课前与两个课间(49:14–59:58、1:39:20–1:43:30)吐出 299 段「优独播剧场——YoYo Television Series Exclusive」及纯标点段。文本侧清洗后由 2139 句降为 1757 句。

建议:过 1–2 天重跑一次平台接口(第 3 周是课后 2 天、第 4 周是 3 天抓的),届时可用平台转写与本编的本地转写互校。

E5.4 课件插页:5.4.1 出现在 5.3.1 之前

01:48:31 处老师把 5.4.1 力传感器页翻出来看了一眼,随后翻回 5.3.1 本体传感器。因此课件序列里夹着一张顺序外的 5.4.1(7052373.jpg,01:48:33)。本编按教材与讲授顺序归档,未把这页当成本体传感器的内容。

E5.5 课件帧的构成本编与第 3、4 周不同(平台盲区)

本编课件集 = 平台 247 帧 + 本地补 9 帧 = 256 帧,去重后 79 页(raw/dedupe_slides.py --th 5 --collapse)。

补的原因:平台的课件检测器在 43:00–55:08 有 729 秒盲区(另在 0:00–16:52 有 950 秒盲区,那一段是静止的标题页,无信息损失)。盲区里恰好是 5.1.2 伺服发动机与液压伺服发动机几页,平台没有抓到。补入的 9 帧由本地 raw/detect_slides.py(从第 3、4 周的同类脚本沿用)全片检测后,按「与最近平台帧相差 > 30 s」的规则筛选得到:

补入时刻内容
44:11 / 46:51 / 49:03 / 49:075.1.2 伺服发动机(液压伺服发动机部分)
141:15–141:27(4 帧)老师播放的 Micro-Epsilon 测距传感器厂商演示视频

注意:141:15–141:27 那 4 帧不是课件、也不是重复帧,而是厂商演示视频(激光三角测量在汽车车身、铝轮毂、催化剂圆度检测上的应用,见 5.4.2)。

E5.7 覆盖率核查记录(本编完工时的一次全量比对)

本编完工后做了一次三方对照核查,方法与本编与结果一并存档,供后续各章复用:

核查对象方法结果
教材 §5 的 38 个编号公式(5.1–5.45)逐个在正文中检索38/38 全部引用
教材 §5 的 24 张图(图 5.1–5.24)逐个在正文中检索图号或内容关键词内容全部覆盖(其中 8 张以内容描述而非「图 5.x」直引,如力矩控制框图、两种激光原理、透视变换)
教材表 5.1(位置传感器对比)检索已收录
79 页课件逐页看图 → 对照正文全部有对应;第 60–78 页为厂商演示视频帧,非课件
1757 句转录稿术语表比对(105 个专业词)+ 老师叙述性段落精读首轮发现 7 处未收录,已补入(见下)
作业 5.1 / 5.6 / 5.7与官方解答手册逐项数值对照48 项断言全过(tools/verify_homework05.py)

首轮核查发现并补入的 7 处(老师讲授、教材未载的内容):

  1. 为什么需要功放的具体量级:控制器是快速微电子电路(如 TTL,约 3.3 V、微安到毫安级),算下来信号功率只有 3.3 mW 量级,而电机是几十瓦到上千瓦——差 10510^{5} 量级;但「信号有规律(幅值、相位)」,功放的任务是按这个规律调制能源的功率(00:09:29–00:11:20)。已补入 5.1。
  2. 本章与前后各章的对应关系表:老师开课前用约十分钟列了「第 2、3、7 章 = 机器人本体;第 4 章 = 为底层控制提供参考输入;第 8/9/10 章 = 控制器设计(运动 / 力 / 视觉);第 6 章 = 与控制硬件相关的系统级内容」(00:13:36–00:16:37)。已补入本章总览。
  3. 「模型不要求百分百准确,但要为参数调节提供初始参考」(00:14:53–00:15:37)——已补入总览。
  4. 本体感觉类比:人能感觉自身关节角度与输出力靠本体感觉,「机器人对应的是编码器与力矩传感器」(00:18:28–00:18:46)——已补入总览。
  5. 机械手还要接末端执行器:磨削工具 / 螺丝刀 / 剪刀等「跟实际应用相关的执行器」,其本身不属于本章(00:19:35–00:20:00)——已补入总览。
  6. 人也是控制回路的一环:可通过示教系统发指令、辅助完成动作;示教再现可借内部传感器储存轨迹,本身就是一种轨迹规划途径(00:20:59–00:21:28)——已补入总览并与 4.1 建立呼应。
  7. 讲授重点的明确交代(00:22:39–00:23:41):「三种驱动方式重点讲电气驱动」「尤其本体传感器重点讲位置传感器」「基本上用到电机就会用到编码器」——已补入总览,并与各节的优先级表对齐。

另补入两处老师的强调:

  • 框图化简是考点(01:13:23–01:13:44):「复习一下本科(学过)的框图简化——比较点、引出点、前移、后移……如果考研的话,应该可以考到这个:给出框图,化简之后写出传递函数。」已补入 5.2.1。
  • krk_r 两端情形的对比(01:29:05–01:29:49):krk_r 很大时「这个方程就可以线性化了」;krk_r 接近 1 时非线性「影响很大,我们做(控制)的时候就要考虑这个非线性」,而且「很多情况下即使知道(非线性)模型也不能处理」。已补入 5.2.3。

一处主动排除:老师提到的「外部传感器可以装在机器人上,也可能装在空间上」「温度传感器」等例子,前者属第 6 章系统级内容、后者教材已归入外部传感器一类,均按本章边界处理,未强行扩写。

E5.6 口述 ASR 系统性误识对照

本地 whisper 转写未逐字校对,技术名词的同音错字与第 2 周同源。代表例如下(括号内为本稿出现次数),引用前请核对原片:

转写原文应为转写原文应为
承擦器(1)/ 中暖器(2)/ 通感器(1)传感器四伏发动机(7)伺服电动机
缘码器(3)/ 码器(4)编码器电磁转局(4)/ 专局电磁转矩
三角森梁(2)三角测量升纳测距(1)声纳测距
万力传感器(2)腕力传感器视频相机(1)视觉相机(CCD/CMOS)
质量(多处,如「间接的质量」)速度(间接测速)类洗成功(1)类型与选型(存疑,已核对原片)
不受(多处)饱和(如「不受限制」→「饱和限制」)该量 / 该率增益(多处,按上下文订正)

课间段(49:14–59:58)整段无有效内容,正文不引用。


依据 Siciliano 等《机器人学:建模、规划与控制》第 5 章整理 · 三方对勘(中文版 / 英文原版 / 课件与录播)· 整理日期 2026-10-13