扫地机 SDK

更新时间:2023-06-27 08:24:55下载pdf

涂鸦智能扫地机 SDK 提供扫地机器人相关接口,帮助您获取清扫地图、路径及历史地图等功能。涂鸦智能扫地机 SDK 依托于涂鸦 智能生活 App SDK。更多详情,请参考 涂鸦智能生活 App SDK 集成

名词解释

目前扫地机 SDK 支持 陀螺仪、视觉、激光 三种类型扫地机器人。

专有名词 说明
陀螺仪扫地机 陀螺仪在扫地机器人的功能,主要是判断出机器人的行走方向,配合室内导航定位系统,行走电机的运行状况,可以准确定位出 XOY 坐标。在绕过障碍物行走时,记录绕行方向,避免机器人重复行走,免除重复清扫,提高清扫效率。通过软件计算出机器人行走路线,可做行程记录,通过清扫路径覆盖算法,完成扫地规划并且保存起来。
运动过程中,可检测机器人水平转动与水平位置,调整机身运行状态。在扫地机器人需要充电的时候,可以通过自身 XOY 坐标,快速回到充电站。
充电完成后,还可以通过行程记录,回到扫地处继续进行清扫,效率大为提高。对于凹型或者死角地形,在清扫过程中做行程记录,可顺利清扫。
视觉扫地机 采用视觉导航的扫地机拥有真正的“眼睛”,即摄像头,通过摄像头拍摄周围的环境和物体,通过复杂的算法让机器人能够通过感知由亮度不同的光点组成的光学图像来进行定位。这些光学影像从不同的角度看起来是各不相同的,通过不断收集这些图像信息,机器人可以在自身构建的地图上进行定位,从而知道哪些位置已经扫过、哪些地方需要清洁。
激光扫地机 激光型扫地机采用激光雷达进行导航。激光导航是怎么实现定位的呢?
首先雷达利用激光扫描四周的环境,激光在遇到物体后会反射回来,而物体表面不同的点到雷达的距离是不一样的,计算激光发射到反射回来的时间就可以得到扫地机到不同物体的距离,同时也就描绘出了整个环境的轮廓,达到了定位和构建地图的目的。
激光定位理论研究也相对成熟,所以是目前被采用最多的技术。
OSS 即对象存储(Object Storage Service),是一种将数据对待成一个个对象进而存储起来的数据存储架构技术。

功能概述

  • 扫地机 SDK 提供实时数据的通道能力及全量数据获取能力。

  • 陀螺仪和视觉扫地机实时数据采用数据流的方式获取,通过 MQTT 协议机器实时上报清扫的增量数据。

  • 激光扫地机实时数据是全量数据,由于数据量大,不适用 MQTT 流服务传递数据。实际是激光扫地机把清扫的全量数据(即地图和路线)上传到涂鸦 IoT 开发平台,以二进制文件存储,并通过 MQTT 通知 App 服务器上的文件存储路径。

准备工作

涂鸦智能 Android 扫地机 SDK 依赖于涂鸦智能生活 App SDK,基于此基础上进行拓展开发,在开始开发前,您需要在 涂鸦 IoT 开发平台 上注册账号、创建扫地机产品等,并获取到激活 SDK 的密钥。具体的操作流程,请参考 涂鸦智能生活 App SDK 集成

快速集成

配置 build.gradle

build.gradlerepositories 增加以下配置:

maven {
    url 'https://maven-other.tuya.com/repository/maven-private/'
        credentials {
            username "xxxxxx"
            password "xxxxxx"
        }
}
maven { url "https://maven-other.tuya.com/repository/maven-releases/" }
maven { url "https://maven-other.tuya.com/repository/maven-commercial-releases/" }

模块 build.gradle 配置

build.gradle 文件里添加集成准备中下载的 dependencies 依赖库。

dependencies{
implementation 'com.thingclips.smart:sweeper:2.0.0-cube.1'
}

SDK 初始化

ThingHomeSdk.init(appliction); //home sdk init
ThingOptimusSdk.init(appliction); // sweeper sdk init

IThingSweeperKitSdk 提供激光扫地机数据能力入口和语音包下载功能,调用方式如下:

IThingSweeperKitSdk iThingSweeperKitSdk = ThingOptimusSdk.getManager(IThingSweeperKitSdk.class);