[{"content":"为什么机器人比纯软件难一个数量级 写软件时，世界是离散的、确定的、可回滚的——git reset --hard 能解决大部分人生难题。\n机器人不一样：\n电机有惯性，地面有摩擦，传感器有噪声 没有 Ctrl+Z。机械臂撞到人，就是撞到了 宇宙不会抛出异常，它直接抛出你的机器人 物理世界是最严格的代码审查员。\n运动学：机器人的\u0026quot;几何直觉\u0026quot; 正运动学（FK）：已知各关节角度，求末端在哪里。\n$$\\\\ mathbf{x} = f(\\\\boldsymbol{\\\\theta}), \\\\quad \\\\boldsymbol{\\\\theta} = [\\\\theta\\_1, \\\\theta\\_2, \\\\dots, \\\\theta\\_n]^T$$逆运动学（IK）才是硬菜：已知想让末端去 $\\mathbf{x}$，反求各关节该转多少。\n$$\\\\ boldsymbol{\\\\theta} = f^{-1}(\\\\mathbf{x})$$问题在于 $f^{-1}$ 通常没有解析解，甚至有无穷多解——你的手可以伸到同一个杯子，肘部却可以摆出完全不同的姿势。机器人得自己\u0026quot;决定\u0026quot;怎么动，这里面全是优化问题。\n一个两轮小车的速度分解 差速驱动是入门第一课。左轮 $v_l$、右轮 $v_r$、轮距 $L$：\n$$v = \\\\frac{v\\_r + v\\_l}{2}, \\\\qquad \\\\omega = \\\\frac{v\\_r - v\\_l}{L}$$ 1 2 3 4 5 6 7 8 9 10 import math def diff_drive(v_l, v_r, L, x=0.0, y=0.0, theta=0.0, dt=0.1): \u0026#34;\u0026#34;\u0026#34;一步航位推算：由轮速更新位姿\u0026#34;\u0026#34;\u0026#34; v = (v_r + v_l) / 2.0 w = (v_r - v_l) / L theta += w * dt x += v * math.cos(theta) * dt y += v * math.sin(theta) * dt return x, y, theta 看着简单？等轮胎打滑、编码器丢脉冲、地面有个 2° 的斜坡，你就明白为什么机器人博士要读五年。\nROS2：机器人的神经系统 把机器人拆成节点（Node），节点之间用话题（Topic）发消息：\n1 [摄像头节点] --/image_raw--\u0026gt; [视觉节点] --/cmd_vel--\u0026gt; [底盘节点] --\u0026gt; 电机 ROS2 相比 ROS1 的杀手锏是 DDS 通信——去中心化的发布订阅，天生为分布式实时系统而生。之前 ROS1 那个 roscore 单点故障，终于进了历史垃圾堆。\n物理彩蛋：倒立摆 机器人学的\u0026quot;Hello World\u0026quot;不是走路，是倒立摆——一根杆子立在移动小车上不许倒。\n它是不稳定平衡点问题：$\\theta = 0$ 处势能最高，任何微扰都会发散，必须持续反馈控制。这和人生一样——所谓稳定，不过是持续的主动纠偏。\n折腾清单 攒一台差速底盘，跑通 SLAM（gmapping → Cartographer） 给机械臂写 IK 求解器，先数值解再解析解 倒立摆实物：电位器测角度 + PID 调参地狱 终极目标：把 LLM 接上机器人，让它听懂\u0026quot;帮我把桌上的可乐拿过来\u0026quot; imcuer 的矩阵空间\n","date":"2026-10-19T06:40:00+08:00","permalink":"/p/robotics-notes/","title":"机器人：给硅基生命造一具躯体"},{"content":"一切始于预测下一个词 大语言模型（LLM）的本质朴素得令人失望：给定上文，预测下一个 token 的概率分布。\n$$P(x_t \\mid x_1, x_2, \\dots, x_{t-1})$$就这么简单。但当你把这个目标放在万亿级语料、千亿级参数上反复优化，奇迹发生了——涌现（Emergence）。模型开始展现出训练目标里从未明确要求的能力：推理、翻译、写代码，甚至冷幽默。\n这让我想起物理学里的相变：水分子只是水分子，但量变引起质变，0°C 时突然结成冰。智能，也许也是一种相变。\nTransformer：注意力的胜利 2017 年的《Attention Is All You Need》改写了历史。核心公式：\n$$\\text{Attention}(Q, K, V) = \\text{softmax}\\left(\\frac{QK^T}{\\sqrt{d_k}}\\right)V$$用大白话说：每个词都环顾四周，决定该\u0026quot;关注\u0026quot;哪些别的词，然后加权吸收它们的信息。就是这样一层层堆叠，语义在向量空间里被折叠、变换、提纯。\n一个极简的自注意力直觉 1 2 3 4 5 6 7 8 9 10 import numpy as np def softmax(x): e = np.exp(x - x.max(axis=-1, keepdims=True)) return e / e.sum(axis=-1, keepdims=True) # Q: 我在找什么 K: 我是什么 V: 我携带的信息 def attention(Q, K, V): scores = Q @ K.T / np.sqrt(Q.shape[-1]) return softmax(scores) @ V 四行代码，就是千亿美金产业的数学内核。\n哲学角落：它在\u0026quot;理解\u0026quot;吗？ 中文房间思想实验（Searle, 1980）说：一个不懂中文的人按规则手册操作符号，屋外的人以为他懂中文。LLM 是那个房间里的人吗？\n我的立场：这个问题可能问错了。当行为上不可区分时，\u0026ldquo;理解\u0026quot;的定义本身就需要升级。毕竟——\n神经元也只是在按电化学规则\u0026quot;操作符号\u0026rdquo; 我们无法证明彼此有意识，只能靠行为推断（他心问题） 也许智能不在于\u0026quot;有没有灵魂\u0026quot;，而在于结构的复杂度是否越过了某个阈值。\n备忘清单 手撕一遍微型 GPT（nanoGPT 级别） 精读《Attention Is All You Need》原文 搞懂 RLHF 里的 PPO 到底在优化什么 思考：如果把我的全部文章喂给模型，微调出的\u0026quot;数字我\u0026quot;算是我吗？ ","date":"2026-10-19T06:30:00+08:00","permalink":"/p/llm-how-it-thinks/","title":"AI 笔记：大模型是如何「思考」的"},{"content":"这是我的第一篇文章，站点基于 Hugo + Stack 主题 搭建。\nMarkdown 示例 支持加粗、斜体、行内代码。\n代码块 1 2 def hello(): print(\u0026#34;Hello, Hugo!\u0026#34;) 列表 第一项 第二项 第三项 test 引用 学如逆水行舟，不进则退。\n","date":"2026-10-19T06:00:00+08:00","permalink":"/p/hello-world/","title":"你好，世界"}]