Habitat是什么

Habitat-Lab 是 Meta(原 Facebook)AI Research 开源的具身智能开发框架。它是一个模块化的高级库,用于训练智能体在室内环境中执行多种任务,例如点目标导航、物体寻找、重排整理、遵循自然语言指令等。该框架支持灵活的智能体配置(包括传感器与动作空间)、提供基于强化学习与模仿学习的训练算法,并集成了标准化的评测指标。其核心仿真引擎为 Habitat-Sim,能够实现高效、逼真的三维环境模拟,是推动机器人、AR/VR 等具身智能应用研究的重要平台。

Habitat-sim基础实践

参考:DataWhale Every-Embodied课程

传感器配置

代码位于教程中的habitat_random.py

传感器模拟智能体的“感知器官”,通过相机捕捉环境信息。主要分为三类:

• RGB 颜色传感器 (COLOR):

◦   功能:获取场景的彩色图像,感知外观、颜色和纹理。
◦   输出:[H, W, 4]的RGBA数组(uint8)。

• 深度传感器 (DEPTH):

◦   功能:获取每个像素到相机的物理距离,感知3D几何结构。
◦   输出:[H, W]的浮点数组(float32),单位为米。

• 语义传感器 (SEMANTIC):

◦   功能:获取每个像素对应的物体类别ID,感知场景的语义信息。
◦   输出:[H, W]的整数数组(uint32/int32),数值对应特定物体。
semantic_sensor_spec = habitat_sim.CameraSensorSpec()
semantic_sensor_spec.uuid = "semantic_sensor"
semantic_sensor_spec.sensor_type = habitat_sim.SensorType.SEMANTIC
semantic_sensor_spec.resolution = [settings["height"], settings["width"]]
semantic_sensor_spec.position = [0.0, settings["sensor_height"], 0.0]
semantic_sensor_spec.sensor_subtype = habitat_sim.SensorSubType.PINHOLE
sensor_specs.append(semantic_sensor_spec)

配置要点:通过创建 CameraSensorSpec() 对象,设置其 uuid、sensor_type、resolution 等关键参数,并添加到传感器规格列表 (sensor_specs) 中。代码通常会将此过程封装在循环里以提高可维护性。

动作配置

动作定义了智能体的“行为库”,即它可以执行的操作。

agent_cfg = habitat_sim.agent.AgentConfiguration()
agent_cfg.sensor_specifications = sensor_specs
agent_cfg.action_space = {
    "move_forward": habitat_sim.agent.ActionSpec(
        "move_forward", habitat_sim.agent.ActuationSpec(amount=0.25)
    ),
    "turn_left": habitat_sim.agent.ActionSpec(
        "turn_left", habitat_sim.agent.ActuationSpec(amount=30.0)
    ),
    "turn_right": habitat_sim.agent.ActionSpec(
        "turn_right", habitat_sim.agent.ActuationSpec(amount=30.0)
    ),
}

默认配置:如果不指定,系统会提供一套预定义的动作空间。

自定义配置:通过 agent_cfg.action_space 字典进行自定义。可以精确定义每个动作(如move_forward、turn_left)的名称及其执行参数(如移动距离amount=0.25米,转向角度amount=30.0度)。

核心关系:配置好的传感器规格列表 (sensor_specs) 和动作空间字典 (action_space) 共同组成智能体的完整配置 (AgentConfiguration),使其能够在环境中感知并行动。

执行结果

运行

python habitat_random.py

可以得到机器人在导航过程中拍摄到的rgb图像,语义分割图,以及深度图:
运行结果

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐