开放能力
开发平台
行业应用
生态合作
开发与教学
资讯 社区 控制台
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术
AR与VR
数据智能
场景方案
部署方案
行业应用
智能教育
智能医疗
智能零售
智能工业
企业服务
智能政务
信息服务
智能园区

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语音交互
下一篇
粒子