Skip to content

[Robotics and Embodied AI Review] Robotics and Embodied AI Guide, Learning Resources, Course Materials, Paper Reviews, Awesome Blogs...

License

Notifications You must be signed in to change notification settings

yimouwu/Robotics-and-Embodied-AI-Review

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Robotics-and-Embodied-AI-Review

机器人学与具身智能学习综述库
Robotics and Embodied AI Guide, Learning Resources, Course Materials, Daily Paper Reviews, Awesome Blogs...

这是一个专注于机器人学与具身智能领域的综述库。包括领域入门指南、领域论文综述、教授/博主分享的优质资源等。 希望初学者可以通过本仓库快速建立关于相关领域的认知, 也希望能为大佬们提供些文献阅读上的便利~ 欢迎点Star、分享与提PR🌟~
Robotics-and-Embodied-AI-Review, Latest Update: Jul. 1, 2025 】GitHub repo stars Visitors license

Contents - 目录

0. Useful Info - 优质资源链接

- Awesome-Embodied-AI - 具身经典开源项目
- Xbot具身知识库 - Xbot具身智能知识库
- Embodied-AI-Guide - 具身智能系统性学习指南
- 具身智能招贤榜 - 业界学界招聘信息

1. Research Areas Guide - 研究领域入门指南

Classical Courses 经典课程

- Advanced Robotics at UC Berkeley by Pieter Abbeel (Fall 2019) CS287 高级机器人技术 加州伯克利 这门课是机器人的进阶课程,适合在学习完‘现代机器人 Modern Robotics’或者有相应基础后进一步学习。涉及的部分有马尔科夫决策过程LQR控制在约束条件下的最优化问题基于最优化的控制运动规划卡尔曼滤波模仿学习强化学习Sim2Real等等。课程中还涉及了很多实操演示,有助于进一步了解理论在真实世界中的应用。
- Modern Robotics 现代机器人 美国西北大学 这门课侧重于基础的机器人理论,涉及的概念有笛卡尔坐标系关节坐标系自由度齐次旋转矩阵正运动学(FK)逆运动学(IK) 等等,适合零基础入门。
- Introduction to Artificial Intelligence 人工智能导论 CS188 伯克利 这门课是伯克利经典的人工智能入门课程,适合零基础学习或作为AI领域的系统性入门。课程内容涵盖搜索算法博弈树强化学习概率推理机器学习基础等核心主题,并通过Pac-Man游戏项目将理论转化为实践。课程还涉及马尔可夫决策过程(MDP)贝叶斯网络等进阶内容,为后续学习更高级的AI技术(如深度学习、机器人学)打下坚实基础。
- Machine Learning 机器学习 CS229 斯坦福 这门课是斯坦福大学经典的机器学习权威课程,适合具备一定数学基础(线性代数、概率统计)的学习者系统入门机器学习。课程内容覆盖监督学习(线性回归、逻辑回归、SVM)无监督学习(聚类、降维)深度学习基础贝叶斯方法以及机器学习实践中的调参技巧等核心内容。通过理论推导与编程作业相结合的方式,帮助学习者掌握从数学原理到代码实现的完整链条,是进阶AI领域不可错过的奠基课程。
- Foundations of Deep RL -- 6-lecture series by Pieter Abbeel 深度强化学习基础 这门由加州伯克利Pieter Abbeel教授主讲的深度强化学习精要课程,通过6次讲座系统性地讲解了深度强化学习的核心理论与前沿应用。课程内容涵盖强化学习基础(MDP、贝尔曼方程)、价值函数方法(DQN及其变种)、策略梯度算法(REINFORCE、PPO)、Actor-Critic框架等关键技术,并深入探讨了模仿学习元强化学习多智能体系统等进阶主题。课程结合大量机器人控制游戏AI等实际案例,特别适合已掌握传统强化学习基础(如CS188)并希望深入深度强化学习领域的学习者。Abbeel教授以清晰的数学推导配合PyTorch代码实现,帮助学习者建立从理论到实践的全栈认知。
- Computer Vision CS231N by Fei-fei Li 李飞飞 斯坦福 计算机视觉 这门由斯坦福大学李飞飞教授主讲的计算机视觉标杆课程,系统性地介绍了深度学习时代的计算机视觉核心技术。课程从图像分类卷积神经网络(CNN)的基础原理出发,逐步深入到目标检测R-CNNYOLO)、语义分割视觉注意力机制生成模型GANDiffusion)等前沿方向,并结合PyTorch/TensorFlow实现细节进行讲解。课程特别强调理论与实践的结合,通过精心设计的作业(如从零实现CNN、风格迁移等),帮助学习者掌握将数学公式转化为高效代码的能力。适合具备Python和线性代数基础,希望进入计算机视觉或多媒体AI领域的学习者,是CV研究者公认的"必修课"。
- Deep Reinforcement Learning CS285 by Sergey Levine 加州伯克利 深度强化学习课程 (Fall 2021) 这门由加州伯克利Sergey Levine教授主讲的深度强化学习高阶课程,是机器人学与AI领域最具影响力的前沿课程之一。课程从深度RL基础理论(贝尔曼方程、策略梯度)出发,系统性地讲解了基于模型的RL(MBRL)、逆强化学习(IRL)、离线强化学习(Offline RL)、多任务迁移学习等尖端技术,并深入剖析了机器人控制自动驾驶等工业级应用场景。课程特别注重算法实现细节,通过PyTorch框架的编程作业(如实现PPO、SAC等算法),培养学习者解决复杂决策问题的工程能力。适合已完成CS188或基础RL课程,并希望掌握DRL前沿技术的研究者与工程师,被公认为进入深度强化学习领域的黄金标准课程。
- Robotic Manipulation (Fall 2021) by Russ Tedrake 麻省理工 MIT 机器人操作 这门由MIT Russ Tedrake教授主讲的机器人操作权威课程,系统性地讲解了现代机器人操作的核心理论与前沿算法。课程内容涵盖刚体运动学抓取力学接触建模轨迹优化运动规划等基础理论,并深入探讨了基于优化的控制鲁棒抓取规划柔性物体操作等尖端技术。 课程特别强调算法实现与物理仿真,通过Drake仿真框架和Python编程实践,帮助学习者掌握从理论到机器人系统落地的完整技术链条。Tedrake教授以其深厚的理论功底和丰富的工业经验,将复杂的机器人操作问题分解为直观的数学表达和可实现的算法方案。 适合已掌握现代机器人学基础(如机器人运动学、控制理论)并希望深入研究机器人操作领域的学习者,是进入工业机器人、服务机器人等领域的黄金课程。课程中大量来自MIT机器人实验室的真实案例(如灵巧手操作、仓储机器人等),为学习者提供了宝贵的工程实践参考。

1.1 Fundamentals of Robotics - 机器人学基础

1.1.1 Introduction - 基本概念入门

What Is A Robot? 什么是机器人?

  • A well-accepted opinion: 一个公认的观点: – Mechanical structure to interact with the environment 与环境互动的机械结构 – Electronics to sense, actuate and process information 传感、驱动和处理信息的电子学 – Software to generate commands and autonomous motions to assist humans 软件生成指令和自主动作来帮助人类

Classification 分类

  • Classification In terms of layout 按设计分类

    • Manipulator: With extendable structures 机械手:具有可伸缩结构 • robot arm 机器人臂/机械臂 • multi-fingered robot hands 多指机器人手

    • Mobile robot: With body mobility 移动机器人:具有身体移动能力 • wheeled mobile robots 轮式机器人 • humanoid robots 类人机器人 • autonomous aerial robots 自主空中机器人 • Unmanned Aerial Vehicle 无人机 • …

    • Manipulator + mobile platform: 机械手移动平台: • integration of above 以上的结合

  • Classification In terms of functionality 按功能分类 • Industrial robots 工业机器人 • Logistic robots 物流机器人 • Service robots 服务机器人 • Household robots 家庭机器人 • Medical robots 医疗机器人 • Professional service robots 专业服务机器人 • Aerial/Underwater/Space robots 空中/水下/空间 机器人 • …

Components of Robotic Systems 机器人系统组成

  • Mechanical Structure: It is the body! Design, Kinematics and Dynamic models 机械结构:是身体!设计,运动学和动力学模型
  • Sensors: Measure robots’ own and environmental information. Position, Velocity, Force, Vision, etc 传感器:测量机器人自身和环境信息。位置,速度,力,视觉等
  • Computing System: It is the brain! Tasks include Sensor Fusion and Integration, Motion planning, Control, etc. 计算机系统:是大脑!任务包括传感器融合和集成,运动规划,控制等。
  • Actuators: It generates power! There are electrical, hydraulic, and pneumatic actuators, etc 驱动器:它产生能量!有电动、液压和气动执行器等
  • Human-robot interfaces: Enable human-robot interactions. 人机界面:实现人机交互。

Robot Manipulator/Manipulation 机械臂

A Robot Manipulator is consisted of 1. Body(Mechanical body), 2. Actuators, 3. Sensors, 4. Controllers, 5. End-effectors 机械臂由以下部分组成:1.本体(机械本体), 2.致动器, 3.传感器, 4. 控制器, 5.末端执行器

  • A manipulator consists of a number connected rigid bodies. 机械臂由若干相连的刚体组成。 • The part connected to ground is called base 与地面相连的部分称为底座 • The movable modules are called joints, the 1st joint, 2nd joint, … 活动模块被称为关节,第一关节,第二关节,… • The rigid connections are called links(the 1st link, 2nd link...). 刚性连接被称为链接(第一链接,第二链接…)。
Joints 关节
  • Joints are used to connect links, being key components to generate robot motions 关节用于连接连杆,是产生机器人运动的关键部件
  • Joints are classified into revolute joints and prismatic joints 关节分为转动关节和移动关节 • Prismatic joints: relative linear motion 移动关节:相对线性运动 • Revolute joints: relative rotation 转动关节:相对转动
End-effector 末端执行器
  • End-effector is the tool for a robot to carry out a task. 末端执行器是机器人执行任务的工具。
    • gripper 钳子,drill 钻机,cutter 切割机,welding gun 焊枪,others 其他
Degree of Freedom (DOF) 自由度
  • The degree of freedom (DOF) is a parameter describing degree of motion of a manipulator. 自由度(DOF)是描述机械臂运动程度的参数。
    • It is equal to the number of joints (if there are only prismatic and revolute joints) of a robot manipulator. 它等于机械臂的关节数(如果只有移动关节和转动关节)。
    • It is equal to the number of parameters specifying the configuration of a manipulator or mechanical system. 它等于指定机械手或机械系统结构的参数数量。
  • A mobile robot in a plane has 2 translational degrees and 1 rotational degree. 在平面上移动的机器人有2个平移度和1个旋转度。
  • A free-flying rigid body in a space has 3 translational and 3 rotational degrees.
Actuation 驱动器
Sensors 传感器

1.1.2 Mathematical Concepts and Spatial Transformation - 数学概念与空间转换

Introduction

The configuration of a robot manipulator is determined by joint angles (variables) and joint-to-joint relationship (constant) • Task specification is usually given in Cartesian space, i.e. the desired position and orientation of the end-effector are given in a Cartesian coordinates frame. • Problem: How do we use joint information to obtain the position and orientation of the end-effector?

- Direction I: Forward Kinematics 正向运动学:机器人学中的一种方法,用于计算机器人末端执行器在给定关节角度下的位置和方向。

• Definition: Given a set of joint variables , determine the position and orientation of the end-effector with respect to a task (world, inertia) coordinate frame. 给定一组关节变量,确定末端执行器相对于任务(世界,惯性)坐标系的位置和方向。 alt text

- Direction II: Inverse Kinematics 逆向运动学:一种数学过程,从其他数据比如笛卡尔坐标系下的空间位姿中恢复物体的运动参数,常用于机器人技术。

• Definition: Given a position and orientation of the end-effector, find the corresponding joint variables of the robot manipulator. 给定末端执行器的位置和姿态,求出机器人机械臂相应的关节变量。 alt text

1.1.3 Forward Kinematics - 正向运动学

1.1.4 Inverse Kinematics - 逆向运动学

1.1.5 Velocity Kinematics - 速度运动学

1.2 Control - 控制

1.2.1 Concepts - 概念与术语

1.2.2 Control System - 控制系统

1.2.3 Controller - 控制器

1.2.3.1 LQR Controller - LQR 控制器

1.2.3.2 P.I.D. Controller - P.I.D. 控制器

1.3 Planning - 规划

1.3.1 Intro to Trajectory and Motion Planning - 轨迹与运动规划入门

'The problem of calculating and generating the robot’s future motion sequence is called “planning”' 计算和生成机器人未来运动序列的问题被称为“规划”。

  • Trajectory and motion planning are essential components in the field of robotics and autonomous systems. They involve determining the sequence of movements a robot must execute to perform a task effectively and safely within its environment. 轨迹和运动规划是机器人和自主系统领域的重要组成部分。它们包括确定机器人必须执行的动作顺序,以便在其环境中有效安全地执行任务。 alt text

  • End-effector motion planning: To generate in- between configurations given its initial and final configurations (or poses) 末端执行器运动规划:给定其初始和最终构型(或姿态)生成中间构型

  • Planning results could directly affect the robot’s automation performance 规划结果会直接影响机器人的自动化性能

  • Constraints include safety(Obstacle avoidance, singularity avoidance), efficiency(Fast tasks in industry), economy(To generate lowest cost), etc. 约束包括安全性(避障,奇异点规避),效率(工业中的快速任务),经济性(产生最低成本)等。

There are different types of planning problems: 不同类型的规划问题

• Motion Planning 运动规划; • Path Planning 路径规划; • Trajectory Planning 轨迹规划 alt text

  • Relationship alt text
Components in planning 规划的组成部分

• Boundary constraints 边界限制/约束; • Motion geometric profiles 运动几何轮廓; • Other constraints 其他约束

Trajectory generation 轨迹生成

1.3.2 Search-Based Methods - 基于搜索的方法

  • Dijkstra’s method 迪杰斯特拉算法

    • From the starting point, search every adjacent point in each new step until reaching the goal, then find the shortest path among all the goal-reachable solutions. 从起始点开始,在每一步中搜索每个相邻点,直至到达目标点,然后从所有能够到达目标点的方案中找出最短路径。 alt text
  • A* method A星算法

    • From the starting point, find the adjacent point and select the point with the lowest cost as a new starting point until reaching the goal. 从起点开始,寻找相邻的点,选择代价最低的点作为新的起点,直到到达目标。
    • It is a more efficient version of Dijkstra’s method. 它是迪杰斯特拉算法的一个更有效的版本。 alt text alt text
Comparison 比较

alt text

1.3.3 Sampling-Based Methods - 基于采样的方法

alt text

alt text

alt text

Summary so far

  • Search-based methods need to discretize the space first, and are generally used in low-dimensional space and could be inefficient in e.g. 6-DoF space 基于搜索的方法需要首先将空间离散化,通常用于低维空间,在6自由度空间中可能效率低下
    • Typical applications: Character moving in video games, decision making in AI, etc. 典型应用:电子游戏中的角色移动,AI中的决策制定等。
  • Sampling-based methods do not need to discretize the space, and is workable in high-dimensional space 基于采样的方法不需要对空间进行离散化,在高维空间中是可行的
    • Typical applications: Manipulator grasping, pick-and-place, etc. 典型应用:机械手抓取、取放等。
  • However, the above methods requires to know all the possible constraints appear in the whole space (e.g. obstacle positions and shapes, space limits) 然而,上述方法需要知道整个空间中出现的所有可能的约束(例如障碍物的位置和形状,空间限制)。
  • Unable to reliably deal with dynamic constraints 无法可靠地处理动态约束

1.3.4 Geometry-Based Methods - 基于几何学的方法

alt text alt text

1.3.5 Optimization-Based Methods - 基于最优化的方法

  • Generate an initial motion profile for the robot, followed by online refinement of it using global/local optimization
  • Example: CHOMP (Covariant Hamiltonian Optimization for Motion Planning) alt text alt text

1.3.5.1 Model Predictive Control - 模型预测控制

  • Using system model to online adjust its future behavior within a limited (future) time horizon using optimization. 利用系统模型在有限的(未来)时间范围内对其未来行为进行在线优化。

alt text

alt text

alt text

alt text

  • MPC is one of the most popular methods for integrated motion planning (by enforcing t→∞). MPC是最流行的综合运动规划方法之一(通过强制t→∞)。
  • Advantages 优势
    • Could plan future motions under various and dynamic constraints 能在各种的和动态的约束下规划未来的运动
    • Could be efficient within short time horizon 能在短时间视野内高效
  • Applications 应用
    • Iron boiler temperature control 铁锅炉温度控制
    • L2 Autonomous driving L2自动驾驶
    • Drone formation flying 无人机编队飞行
  • Robot Tasks 机器人的任务
    • Human-robot safe collaboration (robot manipulators) 人机安全协作(机械手)
    • Dynamic planning in human crowd (mobile robots) 人群动态规划(移动机器人)
1.3.5.1.1 Markovian Decision Process - 马尔可夫决策过程

Markov Process is a stochastic model describing how a system evolves over time, characterized by the memoryless property: the future state depends only on the current state, not the past history. It forms the foundation of environment modeling in robotics and reinforcement learning. 马尔可夫过程是描述系统状态随时间演化的一种随机模型,其核心特性是无记忆性,即未来的状态仅依赖于当前状态,与过去的状态无关。它是机器人学和强化学习中环境建模的基础。

  • Markov Property 马尔可夫性质:( P(s_{t+1} | s_t) = P(s_{t+1} | s_1, s_2, \ldots, s_t) )
  • Applications 应用
    • Markov Decision Process 马尔可夫决策过程 (MDP):A key framework in reinforcement learning. 强化学习中常用的环境建模框架。
    • Robot path planning and decision-making. 机器人路径规划和决策。
    • Dynamic system modeling. 动态系统建模。

Summary

  • Search-based methods 基于搜索的方法
    • pros:
      • Easy to implement 容易执行
    • cons:
      • Only efficient in low-dimensional space 只在低维空间有效
  • Sampling-based methods 基于采样的方法
    • pros:
      • Could scalability in arbitrary space 任意空间的可伸缩性
      • Completeness of path finding (given enough time) 路径查找的完整性(给定足够的时间)
    • cons:
      • Planning time cost is too random to predict 规划的时间成本/所花费的时间是随机的,无法预测
  • Geometry-based methods 基于几何学的方法
    • pros:
      • Model is simple and very efficient 模型简单,效率高
    • cons:
      • Chances to be trapped in local minima 有可能被困在局部极小值
  • Optimization-based methods 基于最优化的方法
    • pros:
      • Could be reactive to complex and dynamic situations 能够对复杂和动态的情况做出反应
    • cons:
      • Performance depends on model initialization 性能取决于模型初始化

1.4 Perception - 感知

1.4.1 Kalman Filter - 卡尔曼滤波器

- 卡尔曼滤波从理论到实践 华工机器人实验室 课程分为‘滤波概要’,‘基本滤波知识储备’,‘通俗公式理解’和‘从理论到实践’四个章节。适合新手入门。

Introduction

The Kalman Filter is a mathematical algorithm that provides an efficient computational solution to estimate the state of a dynamic system from a series of incomplete and noisy measurements. It is widely used in control systems, navigation, signal processing, and econometrics due to its ability to extract useful information from noisy data. 卡尔曼滤波是一种数学算法,它提供了一种有效的计算解决方案,从一系列不完整和有噪声的测量中估计动态系统的状态。由于它能够从噪声数据中提取有用的信息,因此被广泛应用于控制系统、导航、信号处理和计量经济学中。

Kalman Filter is a recursive estimation algorithm used to optimize the estimation of a dynamic system's state, particularly under noisy conditions. It is widely applied in robotics for localization, navigation, and sensor fusion. 卡尔曼滤波是一种递归估计算法,用于优化动态系统的状态估计,特别是在存在噪声的情况下。它被广泛应用于机器人学中的定位、导航和传感器数据融合。

  • Features 特点
    • Works for linear systems. 适用于线性系统。
    • Assumes Gaussian noise. 假设噪声为高斯分布。
  • Steps 步骤
    1. Prediction 预测:Predict the next state using the system model. 根据系统模型预测下一状态。
    2. Update 更新:Correct the prediction using measurement data. 结合测量值修正预测值。
  • Applications 应用
    • Robot localization (e.g., SLAM: Simultaneous Localization and Mapping). 机器人定位(SLAM:同步定位与建图)。
    • Sensor fusion (e.g., combining IMU and GPS data). 传感器数据融合(如 IMU 和 GPS 数据的结合)。

1.4.1.1. What is the Kalman Filter?

1.4.1.1.1. Overview

The Kalman Filter is a recursive estimator that estimates the state of a discrete-time controlled process governed by a linear stochastic difference equation. It operates in a two-step process: 卡尔曼滤波器是一种递归估计器,用于估计由线性随机差分方程控制的离散时间控制过程的状态。它分为两步:

  1. Prediction Step: The filter produces estimates of the current state variables, along with their uncertainties. 预测步骤: 过滤器产生当前状态变量的估计,以及它们的不确定性。
  2. Update Step (Correction): Once a new measurement is observed, these predictions are updated using a weighted average, with more weight given to estimates with higher certainty. 更新步骤(修正): 一旦观察到新的测量结果,这些预测将使用加权平均值进行更新,并将更多的权重赋予具有更高确定性的估计。

1.4.1.1.2. Mathematical Foundations

The Kalman Filter assumes the following: 卡尔曼滤波器假设如下

  • The system is linear. 该系统是线性的。
  • The system dynamics and measurement equations are known. 系统动力学和测量方程是已知的。
  • The process noise and measurement noise are both Gaussian, with zero mean and known covariance. 过程噪声和测量噪声均为高斯噪声,均值为零,协方差已知。

State-Space Representation 状态空间表示:

alt text

alt text

1.4.1.1.3. Applications for Linear Kalman Filter

  • Finance 金融: Estimating market trends and filtering economic indicators. 估计市场趋势,过滤经济指标。
  • Signal Processing 信号处理: Noise reduction in signals, system identification. 信号降噪,系统识别。
  • Control Systems 控制系统: Classical control applications with linear dynamics. 经典控制应用与线性动力学。

1.4.1.2. Variants of the Kalman Filter 卡尔曼滤波器的变体

Due to limitations in the basic Kalman Filter (e.g., linearity assumptions), several variants have been developed to handle nonlinear systems, improve numerical stability, and address specific application requirements. 由于基础的卡尔曼滤波器的局限性(例如,线性假设),已经开发了几种变体来处理非线性系统,提高数值稳定性,并满足特定的应用要求。

1.4.1.2.1. Extended Kalman Filter (EKF) 扩展卡尔曼滤波

1.4.1.2.1.1. Overview

The EKF linearizes the nonlinear system around the current estimate using Taylor series expansion. It approximates the system dynamics and measurement equations to first-order terms. EKF利用泰勒级数展开对当前估计周围的非线性系统进行线性化。它将系统动力学和测量方程近似为一阶项。

1.4.1.2.1.2. Mathematical Formulation 数学公式

alt text

alt text

1.4.1.2.1.3. Applications 应用
  • Navigation Systems 导航系统: Aerospace and marine navigation where the motion dynamics are nonlinear. 运动动力学非线性的航空航天和航海。
  • Robotics 机器人学: Mobile robot localization and mapping (SLAM). 移动机器人定位与制图(SLAM)。
  • Tracking Systems 追踪系统: Radar and sonar tracking of maneuvering targets. 机动目标的雷达和声纳跟踪。
  • Biomedical Engineering 生物医学工程: Heart rate estimation from noisy measurements. 从噪声测量中估计心率。

1.4.1.2.2. Unscented Kalman Filter (UKF) 无迹卡尔曼滤波器

1.4.1.2.2.1. Overview

The UKF addresses the inaccuracies arising from linearization in the EKF by using deterministic sampling (sigma points) to capture the mean and covariance estimates more accurately. UKF通过使用确定性采样(西格玛点)来更准确地捕获平均值和协方差估计,从而解决了EKF中线性化引起的不准确性。

1.4.1.2.2.2. Sigma Points 西格马点

The UKF generates a set of sigma points that are propagated through the nonlinear functions UKF生成一组sigma点,这些点通过非线性函数传播::

  • Captures up to the second-order statistics of the Gaussian distribution. 捕获高斯分布的二阶统计量。
  • Provides better approximations for nonlinear transformations. 为非线性变换提供更好的近似。
1.4.1.2.2.3. Applications 应用
  • Nonlinear Control Systems 非线性控制系统: Where higher accuracy is needed over the EKF. 需要比EKF更高精度的地方。
  • sensor fusion 传感器融: Combining data from multiple sensors with nonlinear measurements. 将多个传感器的数据与非线性测量相结合。
  • Autonomous Vehicles 自动驾驶车辆: State estimation in complex dynamic environments. 复杂动态环境下的状态估计。

1.4.1.2.3. Error-State Kalman Filter (ESKF) 误差状态卡尔曼滤波器

1.4.1.2.3.1. Overview

The ESKF estimates the error between the estimated state and the true state, rather than estimating the state directly. This is particularly useful for systems where the state variables exhibit slow changes or when initial estimates are available. ESKF估计 估计状态 和 真实状态 之间的误差,而不是直接估计状态。这对于状态变量表现出缓慢变化或初始估计可用的系统特别有用。

1.4.1.2.3.2. Mathematical Formulation 数学公式

alt text

1.4.1.2.3.3. Advantages 优势
  • Numerical Stability 数值稳定性: By focusing on small errors, numerical issues due to large state values are minimized. 通过关注小误差,由于大状态值的数值问题被最小化。
  • Simplified Linearization 简化线性化: The error dynamics are often more linear than the state dynamics, simplifying the computation. 误差动力学通常比状态动力学更线性,简化了计算。
1.4.1.2.3.4. Applications 应用
  • Mobile Robotics 移动机器人: High-precision localization in GPS-denied environments. 在gps拒绝的环境中进行高精度定位。
  • Virtual Reality (VR) 虚拟现实: Head and motion tracking for immersive experiences. 沉浸式体验的头部和运动跟踪。
  • Inertial Measurement Unit (IMU) Integration 惯性测量单元(IMU)集成: Correcting drift errors in accelerometers and gyroscopes. 修正加速度计和陀螺仪的漂移误差。
  • Inertial Navigation Systems (INS) 惯性导航系统: Where small errors in position, velocity, and orientation need to be accurately estimated. 需要精确估计位置、速度和方向的小误差。
  • Robotics 机器人: Precise localization and mapping, especially in SLAM applications. 精确定位和绘图,特别是在SLAM应用中。
  • Aerospace 航空航天: Attitude estimation for aircraft and satellites. 飞机和卫星的姿态估计。

1.4.1.2.4. Square Root Kalman Filter (SRKF) 平方根卡尔曼滤波

1.4.1.2.4.1. Overview

The SRKF maintains the square root of the covariance matrix to improve numerical stability. SRKF保持协方差矩阵的平方根以提高数值稳定性。

1.4.1.2.4.2. Advantages 优势
  • Numerical Stability 数值稳定性: Avoids direct computation of the covariance matrix, reducing round-off errors. 避免直接计算协方差矩阵,减少舍入误差。
  • Positive Definiteness 正定性: Ensures the covariance matrix remains positive definite. 确保协方差矩阵保持正定。
1.4.1.2.4.3. Applications 应用
  • High-Precision Systems 高精度的系统: Where numerical errors can accumulate over time. 随着时间的推移,数值误差会累积。
  • Space Missions 太空任务: Deep space navigation where precision is critical. 精度至关重要的深空导航。
  • Large-Scale Systems: With significant computational demands. 有大量的计算需求。

1.4.1.2.5. Information Filter (Inverse Covariance Filter) 信息滤波(逆协方差滤波)

1.4.1.2.5.1. Overview

The Information Filter operates on the information matrix (inverse of the covariance matrix) and information vector. 信息过滤器对信息矩阵(协方差矩阵的逆)和信息向量进行操作。

1.4.1.2.5.2. Advantages 优势
  • Sparsity Exploitation 稀疏剥削: Efficient for systems where the information matrix is sparse. 对于信息矩阵稀疏的系统是有效的。
  • Distributed Estimation 分布估计: Facilitates decentralized estimation in networked systems. 促进网络系统中的分散估计。
1.4.1.2.5.3. Applications 应用
  • Sensor Networks 传感器网络: Distributed state estimation. 分布式状态估计
  • Multi-Robot Systems 多机器人系统: Where robots share information to estimate a common state. 机器人共享信息来估计一个共同的状态。

1.4.1.2.6. Ensemble Kalman Filter (EnKF) 集合卡尔曼滤波器

1.4.1.2.6.1. Overview

The EnKF uses a Monte Carlo approach with an ensemble of random samples to estimate the state distribution. EnKF使用蒙特卡罗方法和随机样本集合来估计状态分布。

1.4.1.2.6.2. Applications 应用
  • Meteorology 气象学: Weather prediction and climate modeling. 天气预报和气候模拟。
  • Oceanography 海洋学: Estimating ocean states from sparse measurements. 从稀疏测量估计海洋状态。

1.4.1.2.7. Particle Filter (Sequential Monte Carlo Methods) 粒子滤波(顺序蒙特卡罗方法)

Although not a Kalman filter, particle filters are similar recursive Bayesian estimators suitable for highly nonlinear and non-Gaussian systems. 虽然不是卡尔曼滤波器,但粒子滤波器是类似于适用于高度非线性和非高斯系统的递归贝叶斯估计。

1.4.1.3. Choosing the Appropriate Kalman Filter Variant 选择合适的卡尔曼滤波器变体

1.4.1.3.1. System Linearity 系统线性

  • Linear Systems 线性系统: Use the standard Kalman Filter. 使用标准的卡尔曼滤波器。
  • Mildly Nonlinear Systems 轻度非线性系统: EKF may suffice, but be cautious of linearization errors. EKF可能足够了,但要小心线性化误差。
  • Highly Nonlinear Systems 高度非线性系统: UKF or particle filters are more appropriate. UKF(Unscented Kalman Filter)无迹卡尔曼滤波或粒子过滤器更合适。

1.4.1.3.2. Computational Resources 计算资源

  • Limited Resources 有限资源: EKF is less computationally intensive than UKF. 与UKF相比,EKF的计算强度更小。
  • High Accuracy Needed 需要高精度: UKF provides better estimates at the expense of computation. UKF以计算为代价提供更好的估计。

1.4.1.3.3. Noise Characteristics 噪声特性

  • Gaussian Noise 高斯噪声: Standard KF, EKF, UKF assume Gaussian noise. 标准KF, EKF, UKF假设高斯噪声。
  • Non-Gaussian Noise 非高斯噪声: Particle filters or other nonlinear estimators are preferable. 粒子滤波器或其他非线性估计器是优选的。

1.4.1.3.4. Application Requirements 应用需求

  • Precision vs. Speed 精度vs速度: SRKF is preferred for precision, while standard KF is faster. SRKF精度较高,而标准KF速度更快。
  • Distributed Systems 分布式系统: Information Filters are suitable for decentralized estimation. 信息过滤器适用于分散估计。

1.4.1.5. Kalman Filter Algorithm Steps 卡尔曼滤波算法步骤

1.4.1.5.1. Standard Kalman Filter Steps 标准卡尔曼滤波步骤

alt text


The following is a detailed step-by-step explanation of the above Kalman filter algorithm steps, including the definition of each symbol and its corresponding relationship in the formula: 以下是上述卡尔曼滤波算法步骤的详细分步解释,包含每个符号的定义及其在公式中的对应关系:

1. Initialization 初始化

alt text

2. Prediction Step 预测步骤

alt text

(2) Covariance Prediction 协方差预测

alt text


-> Derivation of the covariance prediction formula 协方差预测公式推导

alt text

1. Theoretical Basis 理论基础

Suppose the system satisfies the following linear Gaussian model: 假设系统满足以下线性高斯模型:

alt text

2. The definition of the covariance of the predicted state 预测状态的协方差定义

alt text

3. Covariance expansion 协方差展开

alt text

4. Key Point Explanation 关键点解释

alt text

5. Intuitive Understanding 直观理解

alt text

6. Extended Scenarios 扩展场景

alt text

Summary 总结

This formula is one of the cores of the Kalman filter. It quantifies the uncertainty in the prediction stage through the covariance propagation of the linear transformation and the superposition of noise, providing a basis for subsequent measurement updates. 该公式是卡尔曼滤波的核心之一,通过线性变换的协方差传播噪声叠加,量化预测阶段的不确定性,为后续的测量更新提供基础。


3. Update Step 更新步骤

(1) Calculate the Kalman gain 计算卡尔曼增益

alt text

(2) Update the State 状态更新

alt text

(3) Covariance Update 协方差更新

alt text

Symbol Summary Table 符号总结表

alt text

Intuitive Understanding 直观理解

The Kalman filter gradually optimizes the estimation through the prediction-update cycle: 卡尔曼滤波通过预测-更新循环逐步优化估计:

  1. Prediction 预测:Predict the current state (including uncertainties) based on the model. 基于模型推测当前状态(含不确定性)。
  2. Update 更新:The prediction is corrected with actual measurements, and the weights are dynamically adjusted by Kalman gain. 用实际测量修正预测,权重由卡尔曼增益动态调整。
  3. Core Idea 核心思想:Optimal estimation is achieved through probabilistic fusion of Gaussian distributions. 通过高斯分布的概率融合,实现最优估计。

Example 举例

  • Robot positioning: Predicted position (including error) + GPS measurement (including noise) → More accurate position estimation. 机器人定位:预测位置(含误差) + GPS测量(含噪声) → 更精确的位置估计。

1.4.1.5.2. EKF and UKF Adaptations

  • EKF: Incorporate Jacobians in prediction and update steps. 在预测和更新步骤中加入雅可比矩阵。
  • UKF: Use sigma points to approximate the distributions. 用sigma点来近似分布。

1.4.1.6. Practical Considerations

1.4.1.6.1. Tuning the Filter 微调滤波器

  • Process Noise Covariance ((\mathbf{Q})): Adjust to reflect how much uncertainty is in the model. 调整以反映模型中有多少不确定性。
  • Measurement Noise Covariance ((\mathbf{R})): Set based on the accuracy of the sensors. 根据传感器的精度设置。

1.4.1.6.2. Initialization 初始化

  • State Estimate: Should be as close as possible to the true initial state. 应该尽可能接近真实的初始状态。
  • Covariance Matrix: Reflect the confidence in the initial estimate. 反映对初始估计的信心。

1.4.1.6.3. Numerical Stability 数值稳定性

  • Covariance Matrix Symmetry 协方差矩阵对称性: Ensure that (\mathbf{P}) remains symmetric and positive semi-definite. 确保(\mathbf{P})保持对称和正半确定性。
  • Avoiding Divergence 避免发散: Monitor innovations (measurement residuals) to detect divergence. 监测新息(测量残差)以检测差异。

As the conclusion, the Kalman Filter and its variants are powerful tools for state estimation in various systems, especially when dealing with uncertainties and noise. By selecting the appropriate variant based on the system's characteristics and application requirements, one can achieve robust and accurate estimation results. 综上所述,卡尔曼滤波器及其变体是各种系统状态估计的有力工具,特别是在处理不确定性和噪声时。通过根据系统的特点和应用需求选择合适的变量,可以获得鲁棒和准确的估计结果。

Understanding the mathematical foundations, assumptions, and limitations of each filter variant is crucial for successful implementation. Continuous advancements in filter design and computation methods are expanding their applicability to increasingly complex and nonlinear systems. 了解每个过滤器变体的数学基础、假设和限制对于成功实现至关重要。滤波器设计和计算方法的不断进步扩大了它们在日益复杂和非线性系统中的适用性。

1.4.2 Computer Vision - 计算机视觉

1.4.2.1 2D Vision - 二维视觉

1.4.2.2 3D Vision - 三维视觉

1.4.2.3 4D Vision - 四维视觉

1.4.2.4 Subdivision of Application Domains - 应用领域细分

1.4.2.4.1 Visual Prompting - 视觉提示
1.4.2.4.2 Affordance Grounding - 可供性锚定
1.4.2.4.2.1 2D - 二维
1.4.2.4.2.2 3D - 三维

1.4.2 Scene Understanding - 场景理解

1.4.2.1 Segmentation - 图像分割

1.5 Learning - 学习

1.5.1 Intro to Machine Learning - 机器学习入门

1.5.2 Reinforcement Learning - 强化学习

1.5.3 Imitation Learning - 模仿学习

1.6 Multi-Robot Systems - 多机器人系统

1.7 Simulation and Modeling - 仿真与建模

1.8 Physical Interaction - 物理交互

1.9 Ethics and Social Implications - 伦理与社会问题

2. Tools - 工具

2.1 Software - 软件

2.1.1 General Tools - 常用工具

2.1.2 Simulators - 仿真器

2.1.3 Robot Description - 机器人描述格式

"URDF, Xacro, or MJCF formats" are file formats used to describe the object models in robots or simulation environments, and are usually referred to as robot model files or robot description formats. They are mainly used for robot simulation, control and rendering, and are common model description methods in robotics and simulators. The following is a detailed explanation: “URDF, Xacro, or MJCF formats” 是用于描述机器人或仿真环境中的物体模型的文件格式,通常被称为机器人模型文件机器人描述格式。它们主要用于机器人仿真、控制和渲染,是机器人学和仿真器中常见的模型描述方式。以下是详细解释:

2.1.3.1. Introduction 介绍

2.1.3.1.1 URDF (Unified Robot Description Format)
  • Terminology 全称:Unify the description format of robots. 统一机器人描述格式。
  • Function 作用:URDF is an XML-based file format used to describe the physical structure, kinematics, dynamics, geometry and joint configuration of robots. URDF 是一种基于 XML 的文件格式,用于描述机器人的物理结构、运动学、动力学、几何形状和关节配置。
  • Application 用途
    • Define the structure and attributes of the robot model. 定义机器人模型的结构和属性。
    • Load the robot in a simulator (such as Gazebo). 在仿真器(如 Gazebo)中加载机器人。
    • It is used for visualization and control in the Robot Operating System (ROS). 在机器人操作系统(ROS)中用于可视化和控制。
  • Content 内容: This includes the geometry, size, mass, inertia, joint type (such as rotary joints, sliding joints) and connection method of each component of the robot. 包括机器人每个部件的几何形状、大小、质量、惯性、关节类型(如旋转关节、滑动关节)及其连接方式。
2.1.3.1.2 Xacro (XML Macros)
  • Terminology 全称:XML Macros(XML 宏)。

  • Function 作用:Xacro is an extended XML format specifically designed to simplify the writing of URDF files. Xacro 是一种扩展的 XML 格式,专门为简化 URDF 文件的编写而设计。

  • Characteristic 特点

    • 通过 宏定义参数化 来减少重复代码。 Reduce repetitive code through macro definitions and parameterization.
    • 提高复杂机器人模型的可读性和可维护性。 Improve the readability and maintainability of complex robot models.
  • Application 用途

    • Generate dynamic or complex URDF files. 生成动态或复杂的 URDF 文件。
    • It is widely used in ROS to generate parametric robot descriptions. 在 ROS 中广泛用于生成参数化的机器人描述。
2.1.3.1.3 MJCF (MuJoCo XML Format)
  • Terminology 全称:MuJoCo(Multi-Joint Dynamics with Contact)描述格式。
  • Function 作用:MJCF is an XML format dedicated to the MuJoCo simulator, used to define the dynamic models of robots or environments. MJCF 是 MuJoCo 仿真器专用的 XML 格式,用于定义机器人或环境的动力学模型。
  • Characteristic 特点
    • It focuses on physical simulation and supports high-precision dynamic calculations. 侧重物理仿真,支持高精度的动力学计算。
    • It is able to define complex joint systems, contact models, controllers, etc. can be defined. 可定义复杂的关节系统、接触模型、控制器等。
  • Application 用途
    • Load the robot model in the MuJoCo simulator. 在 MuJoCo 仿真器中加载机器人模型。
    • It is used for reinforcement learning and robot control research. 用于强化学习和机器人控制研究。

2.1.3.2. Application 用途

These formats are typically used to describe object models in robots or simulation environments, including: 这些格式通常用于描述机器人或仿真环境中的物件模型,包括:

  1. Physical model of the robot 机器人物理模型
    • Define the shape, size, position, joint type, etc. of each component of the robot. 定义机器人各部件的形状、大小、位置、关节类型等。
    • Including various robot models such as robotic manipulations, wheeled robots, quadruped robots, etc.包括机器人臂、轮式机器人、四足机器人等各种机器人模型。
  2. Environment Description 环境描述
    • Define other objects in the simulation environment, such as obstacles, terrain, furniture, etc. 定义仿真环境中的其他物体,比如障碍物、地形、家具等。
  3. Dynamics and kinematics simulation 动力学和运动学仿真
    • Define the physical properties of the robot (such as mass and inertia tensor) and joint motion limitations for high-precision simulation in physical simulators (such as Gazebo and MuJoCo). 定义机器人的物理属性(如质量、惯性张量)和关节运动限制,用于物理仿真器(如 Gazebo、MuJoCo)中进行高精度仿真。
  4. Visualization 可视化
    • It is used to visualize robot models and help developers understand the structure and movement behavior of robots. 用于可视化机器人模型,帮助开发者理解机器人结构和运动行为。
  5. 机器人控制 Robot Control
    • Import the model into the control system for tasks such as path planning and motion control. 将模型导入到控制系统中,用于路径规划、运动控制等任务。

2.1.3.3. Category 类别

These formats can be classified as "object model description files in robot simulators", but more accurate terms include: 可以将这些格式归类为 机器人仿真器中的物件模型描述文件,但更准确的术语包括:

2.1.3.3.1 Robot description format 机器人描述格式
  • They are file formats specifically designed to describe the structure, kinematics and dynamics of robots. 它们是专门用于描述机器人结构、运动学和动力学的文件格式。
2.1.3.3.2 Simulation environment model 仿真环境模型
  • In addition to the robots themselves, they can also describe objects in the simulation environment, and thus can also be classified as "object model description files in the simulator". 除了机器人本身,它们也可以描述仿真环境中的物体,因此也可以归为 仿真器中的物件模型描述文件

2.1.3.4. Relationship and Differences 关系与区别

format 格式 Describing object 描述对象 Characteristic 特点 Scenarios 常用场景
URDF robot model 机器人模型 简单、直接,适合静态和基本的机器人描述。 Simple and straightforward, suitable for static and basic robot descriptions. ROS中的机器人建模与仿真。
Xacro Parametric robot model 参数化机器人模型 XML-macro-extension-based URDF is more suitable for the description of complex robot models and supports code reuse and dynamic generation. 基于 XML 宏扩展的 URDF,更适合复杂机器人模型的描述,支持代码复用和动态生成。 Generate complex URDF files for ROS simulation. 生成复杂 URDF 文件,用于 ROS 仿真。
MJCF Robots and environmental models 机器人和环境模型 Emphasizing dynamic simulation, supporting complex contact modeling, it is more often used in reinforcement learning and robot control research. 强调动力学仿真,支持复杂的接触建模,更多用于强化学习和机器人控制研究。 MuJoCo 仿真器(如 OpenAI Gym 环境)。

2.1.3.5. Usage tools and Simulator support 它们的使用工具和仿真器支持

  • URDF 和 Xacro
    • Support Tool 支持工具:ROS(Robot Operating System)。
    • Support Simulator 支持仿真器:CoppeliaSim(V-ERP), Gazebo、RViz 等 ROS 生态中的工具。 Tools in the ROS ecosystem such as CoppeliaSim(V-ERP), Gazebo, and RViz.
  • MJCF
    • Support Tool 支持工具:MuJoCo(Multi-Joint Dynamics with Contact)。
    • Support Simulator 支持仿真器:MuJoCo 仿真器,常与 OpenAI Gym 和强化学习框架结合使用。 The MuJoCo simulator, often used in combination with OpenAI Gym and reinforcement learning frameworks.

2.1.3.6. Sample Files 示例文件

URDF Example 示例
<robot name="simple_robot">
  <link name="base_link">
    <inertial>
      <mass value="1.0"/>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <inertia ixx="1.0" ixy="0" ixz="0" iyy="1.0" iyz="0" izz="1.0"/>
    </inertial>
    <visual>
      <geometry>
        <box size="1 1 1"/>
      </geometry>
    </visual>
  </link>
</robot>
Xacro Example 示例
<?xml version="1.0"?>
<robot xmlns:xacro="http://www.ros.org/wiki/xacro" name="param_robot">
  <xacro:property name="length" value="1.0"/>
  <link name="base_link">
    <visual>
      <geometry>
        <box size="${length} ${length} ${length}"/>
      </geometry>
    </visual>
  </link>
</robot>
MJCF Example 示例
<mujoco>
  <worldbody>
    <body name="box" pos="0 0 0">
      <geom type="box" size="0.5 0.5 0.5" rgba="1 0 0 1"/>
    </body>
  </worldbody>
</mujoco>

2.1.3.7. Conclusion 总结

  • URDF, Xacro, MJCF are model description files ** used to describe robots and simulation environments. URDF, Xacro, MJCF 是用于描述机器人和仿真环境的模型描述文件
  • URDF/Xacro : Mainly used in ROS and Gazebo simulation environments, focusing on robot modeling. URDF/Xacro:主要用于 ROS 和 Gazebo 仿真环境,专注于机器人建模。
  • MJCF : Used in the MuJoCo simulator, it focuses on high-precision dynamic simulation. MJCF:用于 MuJoCo 仿真器,专注于高精度动力学仿真。
  • They are key tools for defining robot or object models in robot simulators and can be simply understood as "object model description files in the simulator". 它们是机器人仿真器中定义机器人或物件模型的关键工具,可以简单理解为 “仿真器中的物件模型描述文件”

2.2 Hardware - 硬件

3. Literature Review - 文献综述

文献综述详见:Marvelous Literature Review - Yimou WU

4. Paper List Links - 论文列表链接

5. Acknowledgement - 致谢

文中部分内容可能包括我们有access权限但是不对公众开放的内容(比如部分论文的PDF),仅做学术分享,如有侵权,请您第一时间联系我们删除。请勿将本仓库中的任何内容用作商业目的。如有相应部分因我们疏忽(比如引用了相关的内容但是忘记标明出处),请麻烦联系我们,我们会第一时间进行update。

本文转载/引用了一下一些团体/个人的内容,我们对他们的贡献表示感谢,以下是引用列表:

[1] Course Materials from CUHK, Shenzhen Introduction to Robotics,[2] Feishu Docs Xbot具身知识库,[3] Github repo Embodied-AI-Guide,[4] Github repo Awesome-Embodied-AI

About us - 关于我们

"己欲立而立人,己欲达而达人"

我们是一个由机器人与具身初学者组成的团队, 希望能够通过我们自己的学习、科研经验, 为志同道合的朋友提供一些帮助。欢迎更多朋友加入我们的项目, 也很欢迎交友、学术合作, 有任何问题, 可以联系邮箱yimouwu0@gmail.com

🎠Contributors: 吴贻谋 (25'港中文MPhil)

关于本仓库的知识讨论,或者任何其他问题,欢迎联系吴贻谋(25'fall CUHK 医学院外科系 MPhil,方向为机器人(医疗手术)与具身智能)微信:yimouwu777 或 邮箱:yimouwu0@gmail.com

👍 Citation

如果本仓库对你的研究或学习有所帮助,请引用:

@misc{roboticsandembodiedaireview2025,
  title     = {Robotics-and-Embodied-AI-Review},
  author    = {Robotics-and-Embodied-AI-Review-Contributors},
  month     = {June},
  year      = {2025},
  url       = {https://github.com/yimouwu/Robotics-and-Embodied-AI-Review},
}

🏷️ License

This repository is released under the MIT license. See LICENSE for additional details.

⭐️ Star History

Star History

Star History Chart

About

[Robotics and Embodied AI Review] Robotics and Embodied AI Guide, Learning Resources, Course Materials, Paper Reviews, Awesome Blogs...

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages