\documentclass[a4paper]{article}

\usepackage[fontset=fandol]{ctex}
\usepackage{amsmath,amssymb}
\usepackage{graphicx}
\usepackage[margin=2.5cm]{geometry}
\usepackage[most]{tcolorbox}
\usepackage{etoolbox}
\usepackage{subcaption}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{booktabs}
\usepackage{float}

\newtcolorbox{knowledgebox}[1]{
    enhanced, colback=blue!5!white, colframe=blue!75!black, colbacktitle=blue!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, boxrule=1pt, sharp corners
}

\newtcolorbox{importantbox}[1]{
    enhanced, colback=yellow!10!white, colframe=yellow!80!black, colbacktitle=yellow!80!black,
    coltitle=black, fonttitle=\bfseries, title=#1, sharp corners
}

\newtcolorbox{warningbox}[1]{
    enhanced, colback=red!5!white, colframe=red!75!black, colbacktitle=red!75!black,
    coltitle=white, fonttitle=\bfseries, title=#1, sharp corners
}

\lstset{
    basicstyle=\ttfamily\small,
    keywordstyle=\color{blue},
    stringstyle=\color{red!60!black},
    commentstyle=\color{green!60!black},
    breaklines=true,
    frame=single,
    numbers=left,
    numberstyle=\tiny\color{gray},
    captionpos=b,
    extendedchars=false
}

\newcommand{\notetitle}{CS224R Lecture 17: 用强化学习推进机器人智能}
\newcommand{\noteauthors}{基于公开课程资料整理}
\newcommand{\notedate}{2025 年春季}
\newcommand{\videochannel}{Stanford Online}
\newcommand{\videopublishdate}{2025}
\newcommand{\videoduration}{约 60 分钟}
\newcommand{\videourl}{https://cs224r.stanford.edu/}
\newcommand{\videocoverpath}{cover.jpg}
\newcommand{\repourl}{https://github.com/hqhq1025/ai-course-notes}


% Footer with repo info
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyfoot[C]{\thepage}
\fancyfoot[R]{\footnotesize\color{gray}\href{\repourl}{AI Course Notes}}
\renewcommand{\headrulewidth}{0pt}
\renewcommand{\footrulewidth}{0pt}

\begin{document}

\begin{titlepage}
\centering
{\Large 课程笔记\par}
\vspace{1.2cm}
{\huge\bfseries \notetitle\par}
\vspace{0.8cm}
{\large \noteauthors\par}
\vspace{0.3cm}
{\large \notedate\par}
\vspace{1.1cm}

\ifdefempty{\videocoverpath}{
{\small 封面图未提供。\par}
}{
\includegraphics[width=0.82\textwidth,height=0.45\textheight,keepaspectratio]{\videocoverpath}\par
}

\vfill
\begin{tcolorbox}[width=0.9\textwidth, colback=black!2!white, colframe=black!60, sharp corners]
\textbf{视频作者/频道}：\videochannel\par
\textbf{发布日期}：\videopublishdate\par
\textbf{视频时长}：\videoduration\par
\textbf{讲者}：Ashish Kumar (Guest Lecture)\par
\textbf{课程主页}：\href{https://cs224r.stanford.edu/}{cs224r.stanford.edu}\par
\textbf{项目主页}：\href{\repourl}{\nolinkurl{\repourl}}\par
\end{tcolorbox}
\end{titlepage}

\tableofcontents
\newpage

%% --- 正文内容开始 --- %%

\section{模仿学习 vs 强化学习：实际对比}

本讲由 Ashish Kumar 客座讲授，聚焦于 RL 在机器人领域（特别是移动和操作）中的实际应用。讲者首先对比了"实际有效的"模仿学习和强化学习。

\begin{importantbox}{IL vs RL 的实践特征}
\begin{itemize}
    \item \textbf{模仿学习}：
    \begin{itemize}
        \item 数据高效，适合能获取高质量演示的场景
        \item 性能上限受限于演示者的能力
        \item 难以超越人类水平
    \end{itemize}
    \item \textbf{强化学习}：
    \begin{itemize}
        \item 可以发现超越人类的策略
        \item 通常需要仿真环境（sim-to-real transfer）
        \item 奖励设计是关键挑战
        \item 训练周期长但推理高效
    \end{itemize}
\end{itemize}
\end{importantbox}

\subsection{何时选择 RL}

\begin{knowledgebox}{RL 的适用条件}
RL 在以下场景中相比 IL 更有优势：
\begin{itemize}
    \item 有高质量的\textbf{仿真器}可用
    \item 任务目标可以用奖励函数量化
    \item 需要\textbf{超越}人类演示者的水平
    \item 演示数据难以获取（如危险操作）
    \item 需要对环境变化具有\textbf{鲁棒性}
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}

IL 和 RL 各有适用场景，实际系统中常常结合使用（如 IL warm-start + RL fine-tuning）。

\section{Sim-to-Real Transfer}

\subsection{为什么需要仿真}

在真实机器人上做 RL 面临巨大挑战：
\begin{itemize}
    \item 数据收集慢（真实时间运行）
    \item 安全风险（机器人可能损坏自身或环境）
    \item 难以大规模并行化
\end{itemize}

仿真环境解决了这些问题，但引入了\textbf{sim-to-real gap}：仿真和真实世界之间的差异。

\begin{importantbox}{Sim-to-Real Gap 的来源}
\begin{itemize}
    \item \textbf{动力学差异}：仿真器无法完美模拟真实物理（摩擦、接触、变形）
    \item \textbf{感知差异}：仿真的视觉/触觉与真实传感器不同
    \item \textbf{执行器差异}：真实电机有延迟、噪声、非线性特性
    \item \textbf{环境差异}：真实环境有未建模的物体、光照变化等
\end{itemize}
\end{importantbox}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{slides-images/slide-12.jpg}
\caption{讲者用带外参编码器的训练框架说明：在仿真中随机化质量、摩擦、地形等因素，是把策略迁移到真实机器人前的关键准备步骤。}
\end{figure}

\subsection{Domain Randomization}

\begin{importantbox}{域随机化}
Domain Randomization 是弥合 sim-to-real gap 的主要方法之一：

在仿真中随机化各种环境参数（摩擦系数、物体大小、质量、视觉外观、传感器噪声等），使策略在训练阶段就"见过"各种可能的环境变体。

核心假设：如果策略能在足够多样的仿真环境中都表现良好，那么真实世界可以被视为这些变体中的一个。
\end{importantbox}

\begin{warningbox}{Domain Randomization 的局限}
\begin{itemize}
    \item 过度随机化可能导致策略过于保守
    \item 需要确保真实世界参数在随机化范围内
    \item 对某些物理现象（如软体接触），即使随机化也难以覆盖
    \item 选择哪些参数进行随机化以及随机化的范围需要领域知识
\end{itemize}
\end{warningbox}

\subsection{本章小结}

Sim-to-real transfer 是 RL 用于真实机器人的关键桥梁，domain randomization 是目前最常用的方法。

\section{机器人移动：腿式运动}

\subsection{四足机器人行走}

讲者展示了使用 RL 训练四足机器人（如 Unitree Go1/A1）在各种地形上行走的案例。

\begin{importantbox}{腿式运动的 RL 框架}
\begin{itemize}
    \item \textbf{状态}：关节角度、角速度、IMU 数据（倾斜角、角速度）
    \item \textbf{动作}：每个关节的目标角度（PD 控制器跟踪）
    \item \textbf{奖励}：前进速度 + 能量惩罚 + 姿态惩罚 + 脚步频率奖励
    \item \textbf{训练}：在 Isaac Gym 等 GPU 并行仿真器中进行，可以同时运行数千个环境
\end{itemize}
\end{importantbox}

\subsection{Teacher-Student 框架}

\begin{knowledgebox}{特权信息蒸馏}
一种强大的 sim-to-real 训练范式：
\begin{enumerate}
    \item \textbf{Teacher 阶段}：在仿真中训练 teacher 策略，允许访问\textbf{特权信息}（如精确的地形高度图、物体质量、摩擦系数）
    \item \textbf{Student 阶段}：训练 student 策略仅使用\textbf{真实可用的传感器}（如本体感知、摄像头），通过蒸馏模仿 teacher 的行为
\end{enumerate}
Teacher 可以学得更好（因为有更多信息），student 则学会从有限传感器中推断出等效的信息。
\end{knowledgebox}

\begin{figure}[H]
\centering
\includegraphics[width=0.9\textwidth]{slides-images/slide-16.jpg}
\caption{部署阶段的关键不是“直接复用仿真策略”，而是根据历史观测在线估计外参并持续校正控制器，这也是现代腿式机器人鲁棒性的核心来源。}
\end{figure}

\subsection{本章小结}

RL + sim-to-real 已经成为腿式机器人控制的主流范式，teacher-student 框架有效解决了感知受限问题。

\section{机器人操作}

\subsection{灵巧操作的挑战}

灵巧操作（如用多指手抓取和操作物体）比移动更具挑战性：
\begin{itemize}
    \item 接触动力学高度非线性
    \item 状态空间维度更高
    \item 任务多样性更大
    \item Sim-to-real gap 在接触建模上更严重
\end{itemize}

\subsection{RL 在操作中的应用}

讲者展示了多个使用 RL 进行灵巧操作的案例，包括：
\begin{itemize}
    \item 旋转魔方（OpenAI Rubik's Cube）
    \item 笔旋转（pen spinning）
    \item 灵巧抓取（dexterous grasping）
\end{itemize}

这些任务都使用了大规模并行仿真 + domain randomization + teacher-student 的范式。

\subsection{本章小结}

RL 已经在多种机器人操作任务上展示了超越人类水平的能力，但仿真器质量仍是关键限制因素。

\section{人形机器人}

\subsection{双足行走与全身控制}

讲者简要介绍了 RL 在人形机器人上的应用进展：
\begin{itemize}
    \item 双足稳定行走
    \item 全身协调（同时走路和操作）
    \item 对外力扰动的鲁棒性
\end{itemize}

\begin{knowledgebox}{人形机器人的特殊挑战}
相比四足机器人，人形机器人的 RL 训练面临更大挑战：
\begin{itemize}
    \item 不稳定的双足支撑（更窄的稳定裕度）
    \item 更高的自由度（全身 30+ 关节）
    \item 上肢和下肢需要协调
    \item 跌倒的后果更严重（硬件昂贵）
\end{itemize}
\end{knowledgebox}

\subsection{本章小结}

人形机器人代表了 RL for robotics 的前沿挑战，当前进展快速但离稳定部署仍有距离。

\section{总结与延伸}

\begin{enumerate}
    \item RL 和 IL 各有优势，实际系统常结合使用
    \item Sim-to-real transfer 是 RL 用于真实机器人的核心流程
    \item Domain randomization 和 teacher-student 框架是弥合 sim-to-real gap 的关键技术
    \item RL 已在腿式运动和灵巧操作上取得突破性进展
    \item 人形机器人代表了下一代挑战
    \item 仿真器质量和奖励设计仍然是实际应用的瓶颈
\end{enumerate}

\begin{knowledgebox}{拓展阅读}
\begin{itemize}
    \item Kumar et al., ``Rapid Motor Adaptation (RMA),'' RSS 2021
    \item Tobin et al., ``Domain Randomization for Transferring Deep Neural Networks from Simulation to the Real World,'' IROS 2017
    \item OpenAI, ``Solving Rubik's Cube with a Robot Hand,'' 2019
    \item Rudin et al., ``Learning to Walk in Minutes Using Massively Parallel Deep RL,'' CoRL 2022
    \item Radosavovic et al., ``Real-World Humanoid Locomotion with RL,'' Science Robotics 2024
\end{itemize}
\end{knowledgebox}

\end{document}
