Embodied AI

  • Habitat对Embodied AI的定义[1]:Embodied AI is the science and engineering of intelligent machines with a physical or virtual embodiment (typically, robots and egocentric personal assistants). The embodiment hypothesis is the idea that “intelligence emerges in the interaction of an agent with an environment and as a result of sensorimotor activity”.
  • 可以总结为:Embodied AI是指具有实体,并且该实体可以跟环境交互的智能。该实体可以是真实的机器人,也可以是虚拟的机器人。

仿真可视化

在这里插入图片描述
在这里插入图片描述

Example:PointGoal Navigation Task

  • 这里先通过一个论文中的实际导航任务来了解一下Habitat这个室内仿真平台的一些特点
  • 为了论证Habitat平台设计的效应,我们在不同的数据集即不用的环境中展开了一项关于目标驱动的一般视觉导航实验去比较“基于学习”和“传统经典”的agent的表现。
  • Task definition .我们使用PointGoal Task(以点为目标的任务)作为我们的试验台。这个实验表面上很好去定义–一个agent在环境中随意一个位置和随机朝向初始化,需要agent导航到给定的一个相对于agent位置的相对坐标;没有全局地图而且agent需要根据传感器输入去导航。
  • Agent embodiment and action space. agent被物理得具象为一个直径为0.2m高为1.5m的圆柱体。动作空间包含:转左转右往前停止。这些动作映射到理想的环境下每次转动为10° 每次前进为0.25m。“stop”允许agent发出到达目标位置的信号。Habitat平台支持噪声输入但是这个实验为了探究其他因素建立在没有噪声的环境下
  • Collision dynamics. 以前一些工作采用一种粗大的不规则的导航图导致agent实际上会从一个地方瞬间移动到另一个相差1-2m的地方;其他的一些工作采用一种0.01m为分辨率的细微规则网格导致agent在没有障碍的网格中移动所以没有碰撞和局部的动作。在Habitat和这个实验中,我们使用一更真实的碰撞模型,agent在一个连续的空间中导航;agent的动作可以产生碰撞,结果会出现一些局部的前进沿着一定的方向,比如说:agent可能沿着墙和障碍物“滑行”。关键的是,当agent选择前进时有可能最后到一个位置没有距离起始位置0.25m;因此,里程计是困难的甚至在一个没有噪声干扰的环境下。
  • Goal specification: static or dynamic? 一个在PointGoal Task中显眼的但是描述不足的问题是目标坐标是动态的(在每一个时间戳提供一次坐标)还是静态的(只在开始的时候提供一次坐标)。静态的是更为现实的–很难想象一个真实的任务中一个真实的地图会提供精确的动态的目标坐标。但是,在缺乏动作噪声和碰撞的的情况下,agent的每一步都是可以知道的转向或者平移,这些再与初始的目标位置相结合,就相当于这是一个动态目标的设定。因此我们假设这是为什么最近的工作都是使用动态目标的设定。我们规定一下概念性的描述–作为一个任务,我们采用静态的PointGoal导航,对于传感器套件,我们配置了理想化的GPS+Compass传感器。
  • Sensory input. agent配置了一个距离地面1.5m并朝前的RGB相机,分辨率为256*256像素,有一个90°的视野;一个深度相机配置在和RGB相机同样的位置,像素和视野也一样。我们规定使用RGB相机为“RGB”,使用深度相机为“Depth”,两者都使用为“RGBD”,两者都不使用为“Blind”。所有agnet都配置理想化的GPS(实时的坐标位置)和Compass(隐晦的表达相对于目标点的朝向)
  • Episode specification. 我们初始化agent位于地面上一个随机的坐标随机的朝向。目标点的选择在同一个地面上且存在一个可以导航的路径。在每一个Episode中,agent允许最多采取500此动作,每一次动作后,agent可以获取一系列来自传感器的observations。
  • Evaluation. 一个导航Episode会被认为成功当且仅当agent和goal的直线距离小于0.2m,此时agent发布“stop”的信号;如果超过500 steps但不满足上述条件是会被认定为不成功。agent的表现采用‘Success weighted by Path Length’ (SPL)的方法 :在一个Episode中定义l为 起始位置到goal的直线距离,agent的轨迹长度为pSPL = S×l/max(p,l) ;S代表成功的一个二值数。

安装

  • 我们需要安装habitat-labhabitat-sim两个包

  • habitat-sim安装的时候官方推荐使用conda的方式 这样安装下来会放进去site-packages 此时需要添加conda的软件源 conda config --add channels https://conda.anaconda.org/aihabitat/noarch

  • 这里建议虚拟环境的python版本>3.6 <=3.8 conda create -n habitat python=x.x

在这里插入图片描述

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐