资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

SLAM

SLAM

SLAM (simultaneous localization and mapping)译为即时定位与地图构建,SLAM属于AR的基础模块,属于设备感知周围坏境的范畴。百度ARSLAM 2.0考虑到不同机型的通用性,在设计的技术方案时更侧重于即时跟踪(instant tracking)。

SLAM API

Json

targets.json文件中配置 详解

	"slam_model":{
        "id":"case_id",
        "place_type":1,
        "position":"0.5,0.5",
        "pitch_angle":-40,
        "distance":1000,
        "immediately_place_model":0
    }

place_type 模型放置坐标系类型 (0 屏幕坐标系 | 1 空间坐标系)

  • type为 0 时, pitch_angle 字段定义无效。
  • type为 1 时, position 字段定义无效。

LUA

SLAM类 : Slam

start_slam 开启slam (最低使用版本120)

slam_reset 重置slam

on_slam_direction_guide slam模式下引导提示的状态和位置

SLAM 实现

模型要求

  • 模型在网格中必须按照下图呈现效果设置,提高SLAM下模型的稳定性(确保模型中心点位于模型底部中心位置)。

SLAM模型制作示例图

API

place_type 模型放置坐标系类型。

  • 当type为0时,模型会出现在手机屏幕中心对应的真实世界的位置,可以通过改变position属性,改变现实位置(例如商品展示)。
  • 当type为1时,模型会出现在地理坐标系中的地面,此初始位置远近可以在项目制作时通过更改模型distance属性进行调整(类似打年兽项目,需要年兽必须出现在地面)。

百度AR对展示方式进行了高效调用封装,SLAM类型项目在制作时,仅需通过AppType调用Slam即可,如下图所示:

类型更替示例图

当SDK版本为120时,提供开启slam的接口,可根据项目需求,在特定逻辑之后开启slam。

使用此方案需注意:

  • 必须开启immediately_place_model字段,即为立即隐藏模型操作,确保逻辑正常。

使用限制

1、不能和手势识别结合使用。
2、使用slam能力时,注意模型面数不要过大,模型面数过大可能会对性能产生影响。
3、Slam类型下模型使用高级材质渲染对slam的效果也会产生影响,建议不要结合使用。

上一篇
AR语音交互
下一篇
粒子