Excerpt |
---|
本页提供了基于Android操作系统开发SLAMWARE SDK的API参考。 |
...
本页内容
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
- 在上述步骤完成后,将下载的SDk文件夹中的文件slamtec_agent.jar和文件夹armeabi复制到下图所示文件加中,并在右侧添加两行代码。
让测试手机连接上开发的SDP,运行该程序出现界面无崩溃,则代表成功。
Note icon false 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 | 准备配对的设备 |
wifiSSID | WiFi的SSID |
sifiPassword | WiFi的密码 |
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。
...