Sweeper SDK

Last Updated on : 2023-05-22 06:38:24download

Tuya Sweeper SDK provides the APIs to enable the functionality of robot vacuums. For example, get the cleaning maps, routes, and historical maps. You can integrate the SDK with your project based on Tuya Smart Life App SDK. For more information, see Fast Integration with Smart Life App SDK for Android.

Terms

The Sweeper SDK supports gyroscope, vision, and laser robot vacuums.

Term Description
Gyroscope robot vacuum A robot vacuum equipped with a gyroscope can sense and determine orientation and thus automatically navigate its way around a home. It steers with an indoor navigation system and accurately calculates xOy coordinates along the cleaning routes in light of the running status of its walking motor. When walking around obstacles, the robot vacuum records detour directions to avoid repeated cleaning and improve cleaning efficiency. The software-defined walking routes can also be recorded for the cleaning route coverage algorithm to generate and save cleaning route plans.
During the movement, the gyroscope detects the horizontal rotation and position of the robot vacuum and adjusts the running status accordingly. In need of charging, the robot vacuum easily returns to the charging dock, oriented by the xOy coordinates.
After the robot vacuum is fully charged, it automatically continues cleaning as scheduled in the walking routes to ensure efficient cleaning. It can reach concaves and blind corners, leveraging the cleaning route records and leaving no hidden dust behind no matter the angle.
Vision robot vacuum A vision robot vacuum supports visual navigation. It is equipped with a camera to capture surrounding objects. Sophisticated algorithms are embedded to sense optical images that are composed of light spots varying in brightness. The robot vacuum collects a large number of optical images from different angles, builds a map based on the image data, and then locates the positions where cleaning is finished and where further cleaning tasks are required.
Laser robot vacuum A laser robot vacuum supports laser radar navigation.
To implement the positioning, the radar scans the surroundings with laser beams. These beams will be reflected by encountered objects. The distance from the surface of each object to the radar differs. Based on the time elapsed between when radar beams are emitted and when they are received by the radar, the distances between the robot vacuum and these objects can be calculated. This allows the robot vacuum to outline the environment and run positioning and mapping tasks.
The laser positioning technology has been deeply researched and widely used in robot vacuums.
OSS Object Storage Service (OSS) provides a data storage architecture on which data is stored as objects.

Feature overview

  • Sweeper SDK: Provide capabilities to transmit real-time data through channels and return full data.

  • Gyroscope and vision robot vacuums: Return real-time data through streams and dynamically report incremental data from smart robot vacuums over Message Queuing Telemetry Transport (MQTT).

  • Laser robot vacuums: Transmit large amounts of full data in real time that is not suitable for MQTT-based streams. The robot vacuums report full cleaning data including maps and routes to the Tuya IoT Development Platform. The data is stored in binary files. The file storage path on the app server is published over MQTT.

Before you start

The Sweeper SDK serves your development as an extension of the Tuya Smart Life App SDK. Before you start development, register a developer account on the Tuya IoT Development Platform, create a product, and then get the key used to integrate with the SDK. For more information, see Fast Integration with Smart Life App SDK for Android.

Fast integration

Configure the root build.gradle

Add the following configuration to repositories of the file build.gradle:

maven {
  url "https://maven-other.tuya.com/repository/maven-releases/"
}

Configure build.gradle

Add dependencies downloaded in the preparation steps to the file build.gradle.

dependencies{
implementation 'com.tuya.smart:sweeper:4.1.0'
}

Initialize the SDK

TuyaHomeSdk.init(appliction); //home sdk init
TuyaOptimusSdk.init(appliction); // sweeper sdk init

ITuyaSweeperKitSdk provides access to data capabilities and supports downloading voice packages. Example:

ITuyaSweeperKitSdk iTuyaSweeperKitSdk = TuyaOptimusSdk.getManager(ITuyaSweeperKitSdk.class);

Changelog

SDK version New update
v0.0.1-v0.0.10 Separated Sweeper SDK from Smart Life App SDK. Both the Sweeper SDK and the Smart Life App SDK must be integrated into the same project during the app development.
v0.0.11 Supplied Sweeper SDK in combination with Smart Life App SDK. You only need to integrate with the Smart Life App SDK to implement robot vacuum functionality for your app.
v0.1.0 Separated Sweeper SDK from Smart Life App SDK (v3.15.0-beta3). Both the Sweeper SDK and the Smart Life App SDK must be integrated into the same project during the app development.

To improve the flexibility and openness of the Sweeper SDK, the APIs of Sweeper SDK v0.1.0 and later can be integrated independently from the Smart Life App SDK v3.15.0-beta3 and later. ITuyaSweeper of the Smart Life App SDK is still available. New features of robot vacuums will be developed only based on the Sweeper SDK. Therefore, you must integrate both the Sweeper SDK with the Smart Life App SDK into the same project to implement the new features.

New features of robot vacuums

  • Gyroscope robot vacuums and vision robot vacuums support streaming service channels. Therefore, the features of both types of robot vacuums can be implemented independently from the correlations between the Sweeper SDK and the Smart Life App SDK. You can access the Sweeper SDK from the Smart Life App SDK.
  • Data channels of laser robot vacuums supported by both the Sweeper SDK and the Smart Life App SDK.
  • Subsequent new features of robot vacuums are supported only by the Sweeper SDK v0.1.0 and later. For example, voice package download and multi-map management are included.