...
Excerpt |
---|
本页提供了基于Android操作系统开发SLAMWARE SDK的API参考。 |
...
本页内容
Table of Contents maxLevel 2 exclude 本页内容 style circle
...
Note | ||||
---|---|---|---|---|
| ||||
基于Android 操作系统对Slamware SDK进行应用开发,您的开发环境需满足如下条件:
|
SDK内容
- Slamware Android SDk主要包括slamtec_agent.jar文件和armeabi文件夹。使用该SDK可以开发Android应用程序。
创建项目工程
新建工程
- 打开Android Studio并点击点击File>New>New Project来新建一个项目(未曾建立过其他项目或者Android Studio 刚下载安装请点击Start a new Android Studio Project来新建项目);
- 为新建项目命名,选择域名,选择存放位置,然后点击下一步;
- 选择所编译的应用程序将要运行的目标设备,然后点击Next;
- 为该设备的应用程序选择一个Activity,此处选择Empty Activity,然后点击Next;
- 进一步设置该Activity并点击完成。
Hello World
- 在上述步骤完成后,将下载的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相关的类。 |
com.slamtec.slamware.exceptions | 包含有与异常有关的类。 |
com.slamtec.slamware.message | 包含有与message有关的类。 |
com.slamtec.slamware.sdp | 包含有与SDP有关的类。 |
类列表
类名 | 描述 |
---|---|
AbstractDiscover | 类, 表示abstract discover interface。 |
AbstractDiscover.BleConfigureListener | 类, 表示BleConfigureListener。 |
AbstractDiscover.DiscoverStatus | 类,表示DiscoverStatus。 |
AbstractDiscover.DiscoveryListener | 类,表示DiscoveryListener。 |
AbstractSlamwarePlatform | 类,定义统一的接口用于和SLAMWARE设备通讯。 |
ActionStatus | 枚举,列举动作状态。 |
BleDevice | 类,表示BleDevice。 |
CompositeMapHelper | 类,表示地图工具。 |
Device | 类,表示设备。 |
DeviceManager | 类,表示管理设备的管理程序。 |
DepthCameraFrame | 类,表示深度摄像头。 |
DiscoveryMode | 枚举,列举发现机器人的模式。 |
FirmwareUpdateInfo | 类,表示固件更新信息。 |
FirmwareUpdateProgress | 类,表示固件更新进程。 |
HealthInfo | 类,表示健康状况。 |
HealthInfo.BaseError | 类,表示底盘健康状况和错误信息。 |
IAction | 接口,表示机器人动作。 |
IMoveAction | 接口,表示移动动作。 |
ImpactSensorInfo | 类,碰撞传感器信息 |
ImpactSensorType | 枚举,表示碰撞传感器类型。 |
ImpactSensorValue | 类,表示碰撞传感器数据值。 |
ISweepMoveAction | 接口,表示清扫动作。 |
LaserPoint | 类,表示激光扫描点。 |
LaserScan | 类,表示一次激光扫描。 |
Line | 类,表示线。 |
Location | 类,表示机器人在3D空间中的位置。 |
Map(Robot) | 类,表示机器人所在的位置地图。 |
Map(SDP) | 类,表示SDP所在的位置地图。 |
MapKind | 枚举,列举地图种类。 |
MapLayer | 类,表示地图层。 |
MapType | 枚举,列举地图数据类型。 |
MdnsDevice | 类,MdnsDevice。 |
MoveDirection | 类,列举人工控制机器人时的方向指令。 |
NetworkMode | 类,表示网络模式。 |
Path | 类,表示路径。 |
PointF | 类,表示2D浮点小数数据类型。 |
PointMap | 类,表示点地图。 |
Pose | 类,表示机器人姿态。 |
PoseMap | 类,表示PoseMap。 |
RecoverLocalizationMovement | 枚举,列举当前重新定位时发生的位置变化。 |
RecoverLocalizationOptions | 类,表示重新定位需要的参数。 |
RestartMode | 枚举,列举重启模式。 |
Rotation | 类,表示旋转。 |
SensorType | 枚举,列举机器人传感器类型。 |
Size | 类,表示整数型的Size类别。 |
SlamwareCorePlatform | 类,Abstract Slamware Platform类的子类。 |
SlamwareSdpPlatform | 类,表示SDP扩展平台。 |
SlamcoreShutdownParam | 类,表示底盘重启参数。 |
SleepMode | 枚举,列举当前底盘的休眠模式。 |
SystemParameters | 类,表示系统参数。 |
com.slamtec.slamware包
AbstractSlamwarePlatform 类
Abstract Slamware Platform 类,定义统一的接口用于和SLAMWARE设备通讯。
已知子类:SlamwareCorePlatform
构造器
AbstractSlamwarePlatform()
AbstractSlamwarePlatform是一个抽象类,不能直接构造该类的对象。请使用DeviceManager连接设备并获取AbstractSlamwarePlatform的对象。
方法
addWall(Line wall)
添加虚拟墙至SLAMWARE。
参数
参数名称 | 描述 |
---|---|
wall | 需要添加的虚拟墙 |
addWalls(java.util.List<Line> walls)
添加多个虚拟墙至SLAMWARE。
参数
参数名称 | 描述 |
---|---|
walls | 需要添加的多个虚拟墙。 |
clearMap()
...
移除指定的虚拟墙。(id 不是设定的id,是通过AbstractSlamwarePlatform.getLines(ArtifactUsage var1)返回的line id。)
参数
参数名称 | 描述 |
---|---|
id | 需要移除的虚拟墙的id |
clearWalls()
...
配置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>());
...
获取已探索到的地图区域。返回值为已探索的地图区域。
参数
参数名称 | 描述 |
---|---|
type | 地图数据类型 |
kind | 地图种类 |
getLaserScan()
...
从SLAMWARE获取地图数据。返回值为局部地图对象。
参数
参数名称 | 描述 |
---|---|
type | 地图数据类型 |
kind | 地图种类 |
area | 地图区域 |
...
getSystemParameter(java.lang.String param)
获取系统参数。返回值为当前参数的值。
参数
参数名称 | 描述 |
---|---|
param | 获取的参数 |
getWalls()
...
(注意:在此状态下,机器人不会进行避障)。需要反复调用该函数来保持机器人的移动状态并调用MoveAction.cancel()函数来及时使机器人停止移动,否则机器人会在持续调用moveBy函数一段时期后停止移动。
参数
参数名称 | 描述 |
---|---|
direction | 期望机器人移动的方向 |
...
使机器人移动到一系列指定位置。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
locations | 机器人前往指定位置经过的一系列节点。 |
...
使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
locations | 机器人前往指定位置经过的一系列节点。 |
appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
...
使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
locations | 机器人前往指定位置经过的一系列节点。 |
appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
isMilestone | 布尔值,用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 |
...
使机器人移动到指定地点。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
location | 机器人将要到达的点。 |
...
使机器人移动到指定地点。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
location | 机器人将要到达的点。 |
appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
...
使机器人移动到指定地点。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
location | 机器人将要到达的点。 |
appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
isMilestone | 布尔值,用于决定SLAMWARE是规划路径到该节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 |
...
restartModule(RestartMode mode)
重启SLAMWARE模块。
参数
参数名称 | 描述 |
---|---|
mode | 重启SLAMWARE模块的模式 |
...
使机器人旋转一个角度(不同的角度)。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
rotation | 机器人被要求旋转的弧度。 |
...
使机器人旋转到特定的朝向。返回值为执行该项操作的移动动作。
参数
参数名称 | 描述 |
---|---|
orientation | 要求的姿态 |
searchPath(Location location)
在地图中寻找使机器人从当前位置移动到指定目标位置的路径。返回值为一条从机器人的当前位置到指定目标位置的路径。
参数
参数名称 | 描述 |
---|---|
location | 目标位置 |
setMap(Map map)
上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。)
参数
参数名称 | 描述 |
---|---|
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 | 将要设置的值。 |
...
使机器人开始定点清扫(注意:该方法仅适用于扫地机版本的SLAMWARE Core)。返回值为执行该项操作的清扫移动动作。
ArtifactUsage枚举
表示虚拟墙或者虚拟轨道。
枚举常量
ArtifactUsageVirutalWall
虚拟墙,用于限制设备的活动范围。
...
获取所有虚拟墙或虚拟轨道的信息。返回值为一个line的列表。
参数
参数名称 | 描述 |
---|---|
usage | 虚拟墙或者虚拟轨道 |
boolean addLine(ArtifactUsage usage, Line line)
...
当机器人被抱起时,可以先调用getAuxLocation()获取机器人当前大致位置信息,然后调用recoverLocalization传入包含有大致位置信息的区域,使机器人尝试重定位。
代码示例
auto locationPdf = platform. getAuxLocation(); Location location = locationPdf.location; float distant = locationPdf.circular_error_probability; area((location.x() - distant), (location.y() - distant), 2*distant, 2*distant);RectangleF auto act = platform. recoverLocalization(area); act.waitUntilDone(); |
...
将深度摄像头的数据传递给底盘,其中sensorId 是通过底盘配置的sensorId, depthCameraFrame是深度摄像头数据对象。
com. slamtec slamware action包
IAction接口
接口,表示机器人的动作。提供接口来执行该动作。
已知子接口:IMoveAction, ISweepMoveAction
方法
cancel()
取消本次操作。
getActionName()
...
获取动作进程(0~1)。返回值为动作进程(double)。
getStatus()
获取动作状态。返回值为动作状态。
waitUntilDone()
等待动作完成。返回值为完成的动作结果。
boolean isEmpty()
...
获取当前action结束后返回的字符串,成功后会返回不为null且长度为0的字符串,失败后会返回说明失败原因的字符串,如“failed”表示action失败, “aborted”表示action被打断(主动调用cancel或在action未结束时启动新的action),
对于moveTo接口返回的action,“unreachable”表示目标点不可达(搜索路径失败)。
IMoveAction IAction接口
继承自 IAction
已知超接口:IAction
已知子接口:ISweepMoveAction
接口:表示移动动作。
方法
getRemainingMilestones()
获取剩余里程碑。返回值为剩余的里程碑。
...
cancel, getActionName, getProgress, getStatus, waitUntilDone
ISweepMoveAction类
pause()
让当前机器人的动作暂停。
resume()
重新恢复当前机器人的动作。
ISweepMoveAction IAction接口
继承自 IMoveAction
已知超接口:IAction, IMoveAction
接口,表示清扫时的移动动作。
方法
继承自com.slamtec.slamware.action.IMoveAction接口的方法如下:
...
cancel, getActionName, getProgress, getStatus, waitUntilDone
path类
类,表示一条路径。
构造器
Path()
创建对象Path。
Path(Path path)
...
Path(java.util.Vector<Location> points)
创建参数为points的对象Path。
方法
getPoints()
获取点。
setPoints(java.util.Vector<Location> points)
设置点。
ActionStatus枚举
public enum ActionStatus, 继承自 java.lang.Enum<ActionStatus>, 表示动作的状态。
枚举常量
WAITING_FOR_START
动作已创建但未开始。
...
STOPPED
动作已停止。
ERROR
动作遇到错误。
MoveDirection 枚举
public enum MoveDirection, 继承自 java.lang.Enum<MoveDirection>, 人工控制机器人时要求机器人移动的方向。
枚举常量
FORWARD
当前移动动作为向前。
BACKWARD
...
当前移动动作为向右。
TURN_LEFT
当前移动动作为向左。
com.slamtec.slamware.discovery包
AbstractDiscover.BleConfigureListener 接口
封闭类:AbstractDiscover
方法
onConfigureSuccess()
配置成功。
onConfigureFailure(java.lang.String error)
配置失败。
String error枚举常量
BLE_CONFIG_ERROR_BLE_DISCONNECTED
...
BLE_CONFIG_ERROR_INVALID_PWD
密码错误
AbstractDiscover 类
public abstract class AbstractDiscover, abstract discover 接口。
已知子类:DeviceManager
嵌套类
AbstractDiscover.BleConfigureListener
AbstractDiscover.DiscoverStatus
AbstractDiscover.DiscoveryListener
构造器
AbstractDiscover()
创建对象AbstractDiscover。
方法
getMode()
获取模式。
setListener(AbstractDiscover.DiscoveryListener listener)
...
stop(DiscoveryMode mode)
结束。
AbstractDiscover.DiscoveryListener 类
封闭类:AbstractDiscover
构造器
DiscoveryListener()
创建对象DiscoveryListener。
方法
onStartDiscovery(AbstractDiscover discover)
...
onDeviceFound(AbstractDiscover discover, Device device)
发现设备的回调函数。
BleDevice 类
继承自 Device
构造器
BleDevice(BluetoothDevice device)
创建对象BleDevice。
方法
getDevice()
获取设备device。
canBeFoundWith(DiscoveryMode mode)
...
由Device 类中的canBeFoundWith指定
Device类
public abstract class Device, 表示一台设备。
已知子类:
BleDevice, MdnsDevice
构造器
Device()
创建对象Device。
方法
getManufactureId()
获取Manufacture id。
...
setDeviceName(java.lang.String deviceName)
设置device name。
DeviceManager 类
继承自 AbstractDiscover
The manager to manage devices。
...
AbstractDiscover.DiscoveryListener
构造器
DeviceManager(Context context)
创建对象DeivceManager。
方法
connect(java.lang.String host, int port)
直接连接到SLAMWARE Core(该方法常用于Android设备通过高速总线直接连接到SLAMWARE Core)。返回值为连接到的平台。
参数
参数名称 | 描述 |
---|---|
host | 设备主机(通常是192.168.11.1) |
port | 端口 |
...
连接到指定的基于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 | 配置监听器 |
...
由AbstractDiscover类中的getMode指定
MdnsDevice 类
继承自 Device
构造器
MdnsDevice(java.lang.String addr, int port)
创建对象 MdnsDevice。
方法
getAddr()
获取地址。
getPort()
获取端口。
...
由Device类中的canBeFoundWith指定
AbstractDiscover.DiscoverStatus 枚举
封闭类
AbstractDiscover
枚举常量
STOPPED
停止。
WORKING
工作。
ERROR
错误。
DiscoveryMode 枚举
表明机器人如何被发现。
枚举常量
BLE
BLE 模式。
MDNS
mdns
com.slamtec.slamware.FirmwareUpdate包
FirmwareUpdateInfo类
public class FirmwareUpdateInfo表示固件更新信息。
构造器
FirmwareUpdateInfo(java.lang.String current, java.lang.String latest, java.lang.String releaseDate, java.lang.String brief)
创建对象FirmwareUpdateInfo且参数为current/latest/releasedDate/brief。
方法
getBrief()
获取简明信息, 数据类型为字符串string。
...
获取固件发布日期, 数据类型为字符串string。
FirmwareUpdateProgress类
public class FirmwareUpdateProgress表示固件更新进程。
构造器
FirmwareUpdateProgress(int currentStep, int totalStep, int currentStepProgress, java.lang.String currentStepName)
创建对象FirmwareUpdateProgress且参数为currentStep/totalStep/currentStepProgress/currentStepName。
方法
getCurrentStep()
获取当前步骤,数据类型为int。
...
getTotalStep()
获取所有步骤,数据类型为int。
com.slamtec.slamware.geometry包
Line类
public class Line,表示一条线。
构造器
Line(int segmentId, PointF startPoint, PointF endPoint)
...
创建对象Line 且startP和endP为指定值。
方法
getStartPoint()
获取起始点。
setStartPoint(PointF startPointF)
...
setSegmentId(int segmentId)
设置Segment id。
PointF 类
public class PointF,表示一个2d浮点数据类型。
构造器
PointF()
创建对象PointF。
PointF(float x, float y)
...
PointF(PointF rhs)
创建对象PointF且以PointF为参数。
方法
getX()
获取X。
setX(float x)
设置X。
getY()
获取Y。
setY(float y)
设置Y。
Size 类
public class Size, 表示整数型的size数据类型。
构造器
Size()
创建对象Size。
Size(int width, int height)
...
Size(Size rhs)
创建对象Size且以Size为参数。
方法
getWidth()
获取width。
setWidth(int width)
...
setHeight(int height)
设置height。
com.slamtec.slamware.robot包
HealthInfo类
public class HealthInfo,表示机器人的健康状况。
嵌套类
HealthInfo.BaseError
构造器
HealthInfo()
创建对象HealthInfo()。
...
创建对象HealthInfo(),参数为warning/error/fatal/错误列表。
方法
getErrors()
获取错误信息。返回值为错误信息列表。
...
setError(boolean error)
是否设置错误信息。
参数
参数名称 | 描述 |
---|---|
error | 将要处理的错误信息 |
setErrors(java.util.ArrayList<HealthInfo.BaseError> errors)
设置为错误信息列表。
参数
参数名称 | 描述 |
---|---|
errors | 错误信息列表 |
setFatal(boolean fatal)
设置为致命错误信息。
参数
参数名称 | 描述 |
---|---|
fatal | 致命错误 |
setWarning(boolean warning)
设置为警告。
参数
参数名称 | 描述 |
---|---|
warning | 警告类错误信息 |
HealthInfo.BaseError类
封闭类: HealthInfo
Fields
BaseErrorLevelHealthy
机器人底盘健康错误等级
...
BaseComponentErrorTypeSensorMagSelfTestFailed
底盘组建错误类型为磁传感器自检失败
构造器
BaseError()
创建对象BaseError()。
BaseError(int id, int errorCode, int errorLevel, int errorComponent, int componentErrorCode, java.lang.String errorMessage)
创建对象BaseError()。
参数
参数名称 | 描述 |
---|---|
error code | 错误代码 |
error level | 错误等级 |
error component | 错误组件 |
componentErrorCode | 组件错误代码 |
errorMessage | 错误信息 |
...
setId(int id)
设置Id。返回值为Id。数据类型为int。
LaserPoint 类
public class LaserPoint, 表示一个激光扫描点。
构造器
LaserPoint()
创建对象LaserPoint。
...
创建对象LaserPoint且以LaserPoint为参数。
方法
getDistance()
获取距离。
setDistance(float distance)
...
setValid(boolean valid)
将值设为有效。
LaserScan 类
public class LaserScan,表示激光扫描。
构造器
LaserScan()
创建对象LaserScan。
...
创建对象LaserScan且以LaserScan为参数。
方法
getLaserPoints()
获取激光点。
setLaserPoints(java.util.Vector<LaserPoint> laserPoints)
...
获取姿态。
setPose(Pose pose)
设置姿态。
Location 类
public class Location,表示3d空间中机器人的位置。
构造器
Location()
创建对象Location。
Location(float x, float y, float z)
...
创建对象Location且以Location为参数。
方法
distanceTo(Location that)
...
getZ()
获取Z值。
setZ(float v)
设置Z值。
Map 类
public class Map,表示地图。
构造器
Map(PointF origin, Size dimension, PointF resolution, long timestamp, byte[] data)
创建对象Map。
...
setData(byte[] data)
设置data。
NetworkMode类
Fields
NetworkModeAP
网络模式为AP。
NetworkModeStation
...
NetworkModeWifiDisabled
Wifi禁用的网络模式。
构造器
NetworkMode()
创建对象NetworkMode()。
Pose 类
public class Pose,表示机器人姿态。
构造器
Pose()
创建对象Pose。
Pose(Location loc, Rotation rot)
...
Pose(Pose rhs)
创建对象Pose且以Pose为参数。
方法
Location getLocation()
获取Location。
...
setPitch(float v)
设置pitch。
Rotation 类
public class Rotation。
构造器
Rotation()
创建对象Rotation。
Rotation(float yaw)
...
创建对象Rotation且以Rotation为参数。
方法
getYaw()
获取yaw。
setYaw(float yaw)
...
setPitch(float pitch)
设置pitch。
SystemParameters 类
构造器
SystemParameters()
创建对象SystemParameters。
Fields
SYSPARAM_ROBOT_SPEED
机器人速度。
...
SYSVAL_ROBOT_SPEED_LOW
机器人低速度。
SleepMode枚举
枚举常量。
Unknown
目标Slamware固件不支持该命令。
...
睡眠模式。(当前雷达处于休眠状态,机器人不会立刻工作,调用wakeup()方法可以将雷达处于WakingUp状态,然后处于Awake)。
DockingStatus枚举
枚举常量。
Unknown
Docking状态未知(目标Slamware固件不支持)。
...
设备在充电座上。
NotOnDock
设备不在充电座上。
PowerStatus类
构造器
public PowerStatus(boolean isDCConnected, DockingStatus dockingStatus, boolean isCharging,int batteryPercentage, SleepMode sleepMode)
方法
public boolean isDCConnected()
...
public SleepMode getSleepMode()
设备休眠模式。
GridMap类
方法
public Location getOrigin()
...
public void clear()
清除grid地图信息。
CompositeMap类
构造器
public CompositeMap()
默认构造器。
public CompositeMap(CompositeMap another)
赋值构造器。
方法
public MapMetaData getMetaData()
...
public void setMaps(ArrayList<MapLayer> maps)
设置Composite map地图信息。
MapKind枚举
枚举常量
EXPLORE_MAP
利用SLAM算法创建的地图。
...
UWB_MAP
机器人根据UWB技术获取位置,形成的地图。
MapType枚举
枚举常量
BITMAP_8BIT
位图,每个像素是一个带符号的8bit integer。
MapLayer类
地图层。
构造器
MapLayer()
创建MapLayer对象。
方法
getMetaData()
获取到地图数据。
getName()
...
getUsage()
获取到地图用法。
clear()
清除所有数据。
PoseMap类
继承自MapLayer。
构造器
PoseMap()
创造PoseMap对象。
方法
getPoses()
获取到当前Poses map集合。
setPoses()
设置当前Poses map集合数据。
PointMap类
构造器
PointMap()
创建PointMap对象。
方法
PointMap(java.util.List points, long timestamp)
...
获取到所有的点,返回值类型是集合。
setPoints()
设置所有的点。
RecoverLocalizationMovement枚举
根据当前机器人行为,进行的重定位的枚举。
Unknown
...
当前机器人仅仅进行旋转时。
Any
当前机器人进行任意行为。
RecoverLocalizationOptions类
重新定位选项。
构造器
RecoverLocalizationOptions()
创建RecoverLocalizationOptions对象。
方法
getMaxRecoverTimeInMilliSeconds()
...
获取从新定位时,当前机器人发生的movement。
SensorType枚举
机器人传感器类型。
Bumper
碰撞传感器。
Cliff
...
深度摄像头传感器。
WallSensor
沿墙传感器。
SlamcoreShutdownParam类
底盘重启参数类。
构造器
SlamcoreShutdownParam()
创建SlamcoreShutdownParam对象。
方法
int getRestartTimeIntervalMinute()
...
setRestartTimeIntervalMinute(int restartTimeIntervalMinute)
设置底盘重启时间参数。
SleepMode 枚举
当前底盘休眠模式。
Unknown
未知模式。
Awake
...
睡眠模式。(当前雷达处于休眠状态,机器人不会立刻工作,调用wakeup()方法可以将雷达处于WakingUp状态,然后处于Awake)。
RestartMode枚举
枚举常量
SOFT
软重启模块,仅重启模块中的核心部分。
HARD
硬重启模块,整个模块重新启动,可能会花费较长的时间。
LineMap类
方法
public HashMap<String, CompositeLine> getLines()
...
public void clear()
清除line map数据。
PointsMap类
public ArrayList<PointPDF> getPoints()
...
public void clear()
清除points map数据。
ImpactSensorInfo 类
构造器
ImpactSensorInfo(int sensorId, Pose pose, ImpactSensorType type, SensorType coreSensorType, float refreshFreq)
创建ImpactSensorInfo对象。
方法
getSensorId()
获取传感器的id。
getPose()
...
获取到传感器种类。
getType()
获取到传感器类型。
ImpactSensorType枚举
Digital
数字类传感器。
Analog
模拟信号类传感器。
ImpactSensorValue类
构造器
ImpactSensorValue(long time, float value)
创建对象参数是 time,value。
方法
getTime()
获取时间。
getValue()
获取值。
com.slamtec.slamware.exceptions包
AlreadyConnectedException类
已连接到机器,异常信息为“Already Connected to the device”。
ConnectionFailException类
连接机器人失败,异常信息为“Connection Failed”。
ConnectionLostException类
连接丢失,异常信息为“Connection Lost” 。
ConnectionTimeOutException类
连接超时,异常信息为“Connection Time Out”。
InvalidArgumentException类
参数无效,异常信息为“Invalid Argument” 。
OperationFailException类
操作失败,异常信息为“Operation Failed”。
OutOfResourceException类
资源不足,异常信息为“Out of Resource”。
ParseInvalidException类
参数解析无效,异常信息为“Failed to parse device data” 。
PathFindFailException类
未能找到路径,异常信息为“Failed to find path”。
RequestFailException类
请求失败,异常信息为“Request Failed” 。
RequestTimeOutException类
请求时间超时,异常信息为“Request Time Out” 。
UnauthorizedRequestException类
请求未授权,异常信息为“Unauthorized request” 。
UnsupportedCommandException类
命令不支持,异常信息为“ Unsupported Command”。
com.slamtec.slamware.message包
DepthCameraFrame类
构造器
DepthCameraFrame()
创建DepthCameraFrame 对象。
方法
setMinValidDistance(float minValidDistance)
...
获取深度摄像头采集到的数据,数据大小为行*列(cols*rows),数据的排列由左到右依次往下 ,float的单位是米。
com.slamtec.slamware.sdp包
Action类
继承自 IAction。
方法
cancel()
取消本次操作。
getActionName()
...
releaseCPointer()
释放所有指针资源。
CompositeMapHelper
地图工具类。
构造器
CompositeMapHelper()
创建CompositeMapHelper对象。
方法
loadFile(String var1)
根据路径加载地图。
...