Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt
本页提供了基于Android操作系统开发SLAMWARE SDK的API参考。

...

本页内容

Table of Contents
maxLevel2
exclude本页内容
stylecircle

...

  1. 在上述步骤完成后,将下载的SDk文件夹中的文件slamtec_agent.jar和文件夹armeabi复制到下图所示文件加中,并在右侧添加两行代码。
  2. 让测试手机连接上开发的SDP,运行该程序出现界面无崩溃,则代表成功。

    Note
    iconfalse
    title注意

    1. 测试的手机需是ARM处理器的,×86的将无法运行

    2. 不支持模拟器运行


概览

包名

描述

com.slamtec.slamware

 包含有主要与slamware相关的类。

com.slamtec.slamware.action

 包含有与运动方式相关的类。

com.slamtec.slamware.discovery

 包含有与发现设备相关的类。

com.slamtec.slamware.FirmwareUpdate

 包含有与固件更新相关的类。

com.slamtec.slamware.geometry

 包含有与geometry相关的类。

com.slamtec.slamware.robot

 包含有与robot相关的类。

类列表

类名

描述

AbstractDiscover

类, 表示abstract discover interface。

AbstractDiscover.BleConfigureListener

类, 表示BleConfigureListener。

AbstractDiscover.DiscoverStatus

类,表示DiscoverStatus。

AbstractDiscover.DiscoveryListener

类,表示DiscoveryListener。

AbstractSlamwarePlatform

类,定义统一的接口用于和SLAMWARE设备通讯。

ActionStatus

枚举,列举动作状态。

BleDevice

类,表示BleDevice。

Device

类,表示设备。

DeviceManager

类,表示管理设备的管理程序。

DiscoveryMode

枚举,列举发现机器人的模式。

FirmwareUpdateInfo

类,表示固件更新信息。

FirmwareUpdateProgress

类,表示固件更新进程。

HealthInfo

类,表示健康状况。

HealthInfo.BaseError

类,表示底盘健康状况和错误信息。

IAction

接口,表示机器人动作。

IMoveAction

接口,表示移动动作。

ISweepMoveAction

接口,表示清扫动作。

LaserPoint

类,表示激光扫描点。

LaserScan

类,表示一次激光扫描。

Line

类,表示线。

Location

类,表示机器人在3D空间中的位置。

Map(Robot)

类,表示机器人所在的位置地图。

Map(SDP)

类,表示SDP所在的位置地图。

MapKind

枚举,列举地图种类。

MapType

枚举,列举地图数据类型。

MdnsDevice

类,MdnsDevice。

MoveDirection

类,列举人工控制机器人时的方向指令。

NetworkMode

类,表示网络模式。

Path

类,表示路径。

PointF

类,表示2D浮点小数数据类型。

Pose

类,表示机器人姿态。

RestartMode

枚举,列举重启模式。

Rotation

类,表示旋转。

ScheduledTask

类,表示预约任务

Size

类,表示整数型的Size类别。

SlamwareCorePlatform

类,Abstract Slamware Platform类的子类。

SlamwareSdpPlatform

类,表示SDP扩展平台。

SystemParameters

类,表示系统参数。


com.slamtec.slamware包

AbstractSlamwarePlatform 类

...

添加预约扫地任务。返回数据类型为布尔值boolean。

参数
参数名称描述
task计划任务

addWall(Line wall)

添加虚拟墙至SLAMWARE。

参数
参数名称描述
wall需要添加的虚拟墙

addWalls(java.util.List<Line> walls)

添加多个虚拟墙至SLAMWARE。

参数
参数名称描述
walls需要添加的多个虚拟墙。

clearMap()

清除当前地图。

clearWallById(int id)

移除指定的虚拟墙。

参数
参数名称描述
id需要移除的虚拟墙的id

clearWalls()

从Slamware清除所有虚拟墙。

...

配置Slamware Core的网络工作模式。数据返回类型布尔值boolean。

参数
参数名称描述
mode网络模式
options选项
说明

当前支持的工作模式主要有:

模式名称描述
AP模式Slamware Core本身作为一个WiFi热点,当用户设备通过Wifi或者有线网络连接该WiFi热点时,会通过DHCP获得一个IP地址,而后通过192.168.11.1来访问设备,这个模式也是Slamware Core出厂的预置模式。
Station模式Slamware Core本身最为一个WiFi设备,连接到其他的WiFi热点上。同时Slamware Core会自动成为无线网桥,为High Speed Bus上的设备分配IP地址并提供外网访问服务。
Disable模式Slamware Core关闭自身的无线访问功能,只能通过有限网络访问,其IP地址、网关和DNS服务器均由API调用的参数决定。
代码示例
  • 将Slamware Core配置成AP模式

    Platform.configureNetwork(NetworkMode.NetworkModeAp, new HashMap<String, String>());

...

是否删除预约的清扫任务。数据返回类型为布尔值boolean。

参数
参数名称描述
taskId任务id

disconnect()

断开与平台之间的连接。

getAvailableMaps()

...

获取已探索到的地图区域。返回值为已探索的地图区域。

参数
参数名称描述
type地图数据类型
kind地图种类

getLaserScan()

获取最新的LASER扫描。返回值最新的LASER扫描。

...

从SLAMWARE获取地图数据。返回值为局部地图对象。

参数
参数名称描述
type地图数据类型
kind地图种类
area地图区域

getMap(MapType type, android.graphics.RectF area)

从SLAMWARE获取地图数据。返回值为局部地图对象。

参数
参数名称描述
type地图数据类型
area地图区域

getMapLocalization()

获取SLAMWARE是否在进行定位。返回值为布尔值表明SLAMWARE是否在进行定位。

...

getScheduledTask(int taskId)

获取预约任务。

参数
参数名称描述
taskId任务id

getScheduledTasks()

获取预约的任务。返回值为预约的任务列表。

...

getSystemParameter(java.lang.String param)

获取系统参数。返回值为当前参数的值。

参数
参数名称描述
param获取的参数

getWalls()

获取当前存在的虚拟墙。返回值为当前存在的虚拟墙列表。

...

(注意:在此状态下,机器人不会进行避障)。需要反复调用该函数来保持机器人的移动状态并调用MoveAction.cancel()函数来及时使机器人停止移动,否则机器人会在持续调用moveBy函数一段时期后停止移动。

参数
参数名称描述
direction期望机器人移动的方向

moveTo(java.util.List<Location> locations)

使机器人移动到一系列指定位置。返回值为执行该项操作的移动动作。

参数
参数名称描述
locations机器人前往指定位置经过的一系列节点。

moveTo(java.util.List<Location> locations, boolean appending)

使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。

参数
参数名称描述
locations机器人前往指定位置经过的一系列节点。
appending布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。

moveTo(java.util.List<Location> locations, boolean appending, boolean isMilestone)

使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。

参数
参数名称描述
locations机器人前往指定位置经过的一系列节点。
appending布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。
isMilestone布尔值,用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。

moveTo(Location location)

使机器人移动到指定地点。返回值为执行该项操作的移动动作。

参数
参数名称描述
location 机器人将要到达的点。

moveTo(Location location, boolean appending)

使机器人移动到指定地点。返回值为执行该项操作的移动动作。

参数
参数名称描述
location机器人将要到达的点。
appending布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。

moveTo(Location location, boolean appending, boolean isMilestone)

使机器人移动到指定地点。返回值为执行该项操作的移动动作。

参数
参数名称描述
location 机器人将要到达的点。
appending布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。
isMilestone布尔值,用于决定SLAMWARE是规划路径到该节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。

restartModule()

重启SLAMWARE模块。

restartModule(RestartMode mode)

重启SLAMWARE模块。

参数
参数名称描述
mode重启SLAMWARE模块的模式

rotate(Rotation rotation)

使机器人旋转一个角度(不同的角度)。返回值为执行该项操作的移动动作。

参数
参数名称描述
rotation机器人被要求旋转的弧度。

rotateTo(Rotation orientation)

使机器人旋转到特定的朝向。返回值为执行该项操作的移动动作。

参数
参数名称描述
orientation要求的姿态

searchPath(Location location)

在地图中寻找使机器人从当前位置移动到指定目标位置的路径。返回值为一条从机器人的当前位置到指定目标位置的路径。

参数
参数名称描述
location目标位置

setMap(Map map)

上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)

参数
参数名称描述
map地图

setMap(Map map, MapType type)

上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)

参数
参数名称描述
map地图
type地图数据类型

setMap(Map map, MapType type, MapKind kind)

上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)

参数
参数名称描述
map地图
type地图数据类型
kind地图种类

setMapLocalization(boolean v)

获取是否启用定位功能。

参数
参数名称描述
v布尔值,表明SLAMWARE是否该进行定位。

setMapUpdate(boolean v)

获取是否更新地图。

参数
参数名称描述
v布尔值,表明SLAMWARE是否应该更新地图。

setPose(Pose pose)

设置机器人的姿态。

参数
参数名称描述
pose机器人的新姿态

setSystemParameter(java.lang.String param, java.lang.String value)

设置系统参数。

参数
参数名称描述

param

 将要进行设置的参数。
value将要设置的值。

startFirmwareUpdate()

获取是否开始固件更新。返回值为boolean表示是否开始更新固件。

...

updateScheduledTask(ScheduledTask task)

更新预约任务列表。

参数
参数名称描述
task将被更新的预约任务

com. slamtec slamware action包

...

直接连接到SLAMWARE Core(该方法常用于Android设备通过高速总线直接连接到SLAMWARE Core)。返回值为连接到的平台。

参数
参数名称描述
host设备主机(通常是192.168.11.1)
port端口

connect(Device device)

连接到指定的基于SLAMWARE的设备。返回值为连接到的设备。

参数
参数名称描述
device准备连接的设备

pair(Device device,java.lang.String wifiSSID, java.lang.String wifiPassword, AbstractDiscover.BleConfigureListener listener)

通过SSID和密码匹配SLAMWARE 设备。

参数
参数名称描述
device准备配对的设备
wifiSSIDWiFi的SSID
sifiPasswordWiFi的密码
listener配置监听器

setListener(AbstractDiscover.DiscoveryListener listener)

...

setError(boolean error)

是否设置错误信息。

参数
参数名称描述
error将要处理的错误信息

setErrors(java.util.ArrayList<HealthInfo.BaseError> errors)

设置为错误信息列表。

参数
参数名称描述
errors错误信息列表

setFatal(boolean fatal)

设置为致命错误信息。

参数
参数名称描述
fatal致命错误

setWarning(boolean warning)

设置为警告。

参数
参数名称描述
warning警告类错误信息

HealthInfo.BaseError类

封闭类: HealthInfo

...

BaseError(int id, int errorCode, int errorLevel, int errorComponent, int componentErrorCode, java.lang.String errorMessage)

创建对象BaseError()。

参数
参数名称描述
error code错误代码
error level错误等级
error component错误组件
componentErrorCode组件错误代码
errorMessage错误信息


方法

getComponentErrorCode()

...

获取是否开启预约任务, 返回数据类型为boolean。

setDay(int day)

设置日期.

参数
参数名称描述
day日期

setEnabled(boolean enabled)

是否开启。

参数
参数名称描述
enabled开启

setHour(int hour)

设置小时。

参数
参数名称描述
hour小时

setMaxDuration(int maxDuration)

设置最长持续时间。

参数
参数名称描述
maxDuration最长持续时间

setMinute(int minute)

设置分钟。

参数
参数名称描述
minute分钟

setMonth(int month)

设置月份。

参数
参数名称描述
month月份

setTask(java.lang.String task)

设置任务。

参数
参数名称描述
task任务名称

setTaskId(int taskId)

设置任务id。

参数
参数名称描述
taskId任务id

setWeekRepeat(int weekRepeat)

设置周重复。

参数
参数名称描述
weekRepeat周重复

setYear(int year)

设置年份。

参数
参数名称描述
year

SystemParameters 类

构造器

SystemParameters()

创建对象SystemParameters。

...