[Embodied AI Tutorial] The Basic Frameworks and Techniques for Embodied AI (Part2)

news/2024/11/16 18:57:28/文章来源:https://www.cnblogs.com/fariver/p/18407282

目录
  • Embodied AI Tutorial
  • 课程内容
    • Modeling and approaches for Embodied AI
      • World Model
      • Get a Good Policy
      • Planning And Control
    • Simulation technology for Embodied AI
      • Rigid body simulation
      • Camera simulation
      • Asserts
  • 相关链接
  • 资料查询

Embodied AI Tutorial

课程主页:
slides
video
讲师:https://www.fbxiang.com/

课程内容

Modeling and approaches for Embodied AI

World Model

  • forward model
    -- \(S\) State Space:all possible world states,agent的位置、速度等状态。状态通常不是直接能获取到的,有时需要通过Sensor的观测间接获取。
    -- \(A\) Action Space: all possible control signals,通常和外力有关,比如,电机。
    -- \(T\) Transition: environment dynamics
  • Markov Decision Process (MDP)
    除了{\(S\), \(A\), \(T\)}之外,还有\(R\)用来衡量{\(S\), \(A\)}的成功程度。
  • Policy
    \(Pi\) Policy: takes a state and outputs an action,根据当前状态采样出Action获得Policy的手段:
    -- Imitation learning模仿学习
    -- Learn in an MDP(Reinforcement learning、Model-free、Model-based)
    -- 人工定义规则

Get a Good Policy

  • Imitation Learning:输入当前状态观测,使用专家的Action作为GT,有监督地训练Policy预测模型,例如,Tesla的E2E自动驾驶可以算是这一类。
  • Learn from interaction experience.
    -- Interact with environment (env.step) to collect experience.
    -- Use collected experience to improve the current policy.
    -- Repeat ab.

Planning And Control

  • Motion Planning: generates a trajectory (position, velocity, and acceleration) of the robot.
    -- input:起点、终点、可行驶区域
    -- output:不同时间点的状态(位置、速度、加速度)
    -- Probabilistic roadmap method (PRM):一个暴力的Planning算法的例子
    在可行驶区域内随机采样位置,再使用最短路径算法将其连起来。
  • Control: Control executes the trajectory.
    -- 通过每个采样点的状态,使用Inverse dynamics反向推算出所需要的控制信息。
    -- 通常状态与理论有些误差,使用PID算法进行修正,参考下方解释。
‌‌PID算法的基本概念‌‌ FromChatGPT(提示词:XXX) PID算法是一种广泛应用于控制工程中的反馈控制算法,主要用于调节系统的输出以达到期望的目标值。PID算法由比例(P)、积分(I)和微分(D)三个基本部分组成,通过线性组合构成控制量,对被控对象进行控制。

‌PID算法的组成部分‌

‌比例(P)‌:根据当前的误差(目标值与实际值的差)直接产生控制动作,快速响应误差,但不能消除稳态误差。
‌积分(I)‌:根据误差的积累(误差时间积分)产生控制动作,消除稳态误差。积分作用太强会导致系统超调和振荡。
‌微分(D)‌:根据误差的变化率(误差的时间导数)产生控制动作,预测未来的误差变化趋势,减少系统的超调和振荡。
‌PID算法的工作原理‌

PID算法的工作原理基于反馈控制,通过计算偏差量(e(t))的比例、积分和微分三个控制作用,产生一个控制量u(t),对被控对象进行调节。比例控制快速响应误差,积分控制消除稳态误差,微分控制减少超调和振荡。

‌PID算法的应用领域‌

PID算法广泛应用于工业自动化、电力系统、温度控制、压力控制、流量控制、位置控制等领域。例如,在工业设备中,PID控制器用于保持系统运行在设定点;在电力系统中,PID控制器用于调节发电机的功率输出、变压器的电压水平、电网频率等参数。

‌PID算法的优缺点‌

‌优点‌:原理简单、易于实现、适用面广、控制参数相互独立、参数选定简单。理论上,对于过程控制的典型对象,PID控制器是一种最优控制。
‌缺点‌:积分作用过强会导致系统超调和振荡;微分作用过强会引入高频噪声,影响系统的抗干扰性。
‌PID算法的参数调节‌

PID算法的参数调节包括比例增益(Kp)、积分增益(Ki)和微分增益(Kd)。通过调整这些参数,可以优化系统的响应速度、超调量、调节时间和稳定性。参数调节方法包括试错法、Ziegler-Nichols法等。

Simulation technology for Embodied AI

Simulators/Engine/Environment三者的概念与层级关系

  • Simulators:A library (often a simple SDK) that simulates one or more physical processes.
  • Engine: A software that bundles together simulators to help developers.
  • Environment: Bundles of engines/simulators, assets, and tasks for studying specific embodied AI problems.

Rigid body simulation

主要关注刚体的Intetration、Collision Detection、Constraint Solving三方面

Camera simulation

主要关注相机模型、光照、材料、纹理 等信息。

Asserts

不同asserts的格式说明

相关链接

OpenAI RL:https://spinningup.openai.com/en/latest/user/introduction.html

资料查询

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/795173.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MIT6.824 课程-GFS

GFS原文:https://zhuanlan.zhihu.com/p/113161014 搬运用于参考学习概述 存储(Storage)是一个非常关键的抽象,用途广泛。 GFS 论文还提到了很多关于容错、备份和一致性的问题。 GFS 本身是 Google 内部一个很成功的实用系统,其关键点被很好的组织到一块发表成为了学术论文…

MIT6.824 课程-MapReduce

MapReduce:在大型集群上简化数据处理 概要 MapReduce是一种编程模型,它是一种用于处理和生成大型数据集的实现。用户通过指定一个用来处理键值对(Key/Value)的map函数来生成一个中间键值对集合。然后,再指定一个reduce函数, 它用来合并所有的具有相同中间key的中间value 。…

[Java并发]线程安全的List

线程安全的List 目前比较常用的构建线程安全的List有三种方法:使用Vector容器 使用Collections的静态方法synchronizedList(List< T> list) 采用CopyOnWriteArrayList容器使用Vector容器 Vector类实现了可扩展的对象数组,并且它是线程安全的。它和ArrayList在常用方法的…

章10——面向对象编程(高级部分)——内部类

重点掌握匿名内部类的使用! 1、内部类可以随意访问外部类的成员,包括私有的属性,而外部类不可以。 2、内外部类有重名属性时,内部类的访问采用就近原则,如想访问外部的成员,则用外部类名.this.属性名。内部类分类,四种局部内部类第七条解释:Outer02.this本质是一个外部…

【整理】虚拟地址全解析:操作系统内存管理与进程调度的深度揭秘!

原创 freedom47概述 在现代计算机系统中,虚拟地址是内存管理的关键组成部分。 虚拟地址不仅帮助操作系统高效地管理物理内存,还在进程的内存分配中发挥重要作用。 本文将详细介绍虚拟地址的定义、作用、操作系统的内存管理、进程内存分配、32 位与 64 位架构的内存分配差异,…

2024.9.10 搜索引擎+字体

今天是人工智能的第一节课!我们主要学了引擎的搜索以及字体两部分,干货满满!有一种走了20年弯路的感觉(⊙︿⊙)第一次拥有了博客账号,在我小学的时候我妈妈会用博客记录生活,对于博客有一种熟悉的陌生感hhha 【知识小课堂1】 搜索引擎分为两类: 一、目录式分类搜索引擎,…

The Teachers Day gift a future teacher wants

`#include include void printBanner(); void printHeart(); void printFlower(); int main() { std::cout << "\n"; printBanner(); std::cout << std::endl; printFlower(); std::cout << std::endl; printHeart();return 0;}`点击查看代码 vo…

解决路由缓存问题

路由缓存问题即:当再vue3中使用带参数的路由时,随着路由跳转,组件被重新复用,不能正常执行生命周期 尤其我们通常在onMounted中使用的请求的发送,那么如何解决呢 1.粗暴的方法:强制替换销毁 vue官方曾说,key可以强制替换一个元素或者组件,而不是复用它 那么我们可以在组件中使用…

第二章python基本语法

位运算符 例1:检测列表里重复元素l=[1,3,5,7,8,3,9,4,2,5,6]flag=0for i in range(len(l)): if(1<<l[i]&flag)>0: print("重复:%d"%l[i]) flag|=(1<<l[i])#flag=flag|(1<<l[i]) 注:flag记录已经出现过的元素,其实用对应位为…

VS安装插件,按CTRL+鼠标左键进入函数

1。菜单栏-》工具-》扩展和更新 2.进入扩展和更新,点击联机,vs库,右上输入“Go To Definition” 3.搜索 出插件,选择作者是“Noah Richards” 4.下载安装重启即可hello,world~~~