...
本页提供了基于ios操作系统开发SLAMWARE SDK的API参考。
...
本页内容
Table of Contents | ||||||
---|---|---|---|---|---|---|
|
...
概览
包含的所有类及其简要描述如下表所示,详细定义及参数介绍,请参考后文。
类名称 | 描述 |
---|---|
RLEWrapper | 类,表示封装。 |
RPAbstractDevice | 类,表示设备。 |
RPAbstractDiscover | 类,表示发现。 |
<RPActionProtocol> | 表示Action协议定义。 |
<RPBleConfigureListener> | 表示Bluetooth configure listener协议定义。 |
RPBleDevice | 类,表示蓝牙设备。 |
RPBleWifiInfo | 类,表示蓝牙WiFi信息。 |
RPDeviceManager | 类,表示设备管理器。 |
RPDeviceManager(Connect) | 类,表示设备管理器连接。 |
<RPDiscoveryDelegate> | Discovery delegate协议定义。 |
RPFirmwareUpdateInfo | 类,表示固件更新信息。 |
RPFirmwareUpdateProgress | 类,表示固件更新进程。 |
RPHealthError | 类,表示错误。 |
RPHealthInfo | 类,表示错误信息。 |
RPLaserPoint | 类,表示激光点。 |
RPLaserScan | 类,表示激光扫描。 |
RPLine | 类,表示线。 |
RPLocation | 类,表示位置。 |
RPMap | 类,表示地图。 |
<RPMoveActionProtocol> | MoveAction协议定义。 |
RPPath | 类,表示路径。 |
RPPoint | 类,表示点。 |
RPPointF | 类,表示点。 |
RPPose | 类,表示姿态。 |
RPRectangle | 类,表示区域。 |
RPRectangleF | 类,表示区域。 |
RPRotation | 类,表示旋转。 |
RPScheduleTask | 类,表示定时任务。 |
RPSize | 类,表示尺寸。 |
RPSizeF | 类,表示尺寸。 |
<RPSlamwarePlatformProtocol> | 协议,用于定义统一的接口和SLAMWARE设备通信。 |
<RPSweepMoveActionProtocol> | 清扫动作协议定义。 |
RPSlamwareEnums | 枚举,列出所有枚举。 |
类介绍
RLEWrapper 类
方法
+ encode
+ decode
...
+ encode
加密。
+ decode
解密。
RPAbstractDevice 类
类,表示设备。
方法
-canBeFoundWith:
是否由一种DiscoveryMode发现。参数是DiscoveryMode枚举类型。参见DiscoveryMode枚举。
属性
int manufacturerId
...
int modelId
NSString *manufacturerName
NSString *modelName
NSString *hardwareVersion
NSString *softwareVersion
...
NSUUID *deviceId
NSString *deviceName
解释
-canBeFoundWith:
是否由一种DiscoveryMode发现。参数是DiscoveryMode枚举类型。参见DiscoveryMode枚举。
int manufacturerId
表示生产商ID且数据类型为int。
int modelId
...
RPAbstractDiscover类
表示Abstract discover接口。
方法
-getStatus:
-start:
-stop:
-getMode
解释
-getStatus:
获取状态。
-start:
开始。
-stop:
停止。
-getMode
...
<RPActionProtocol>协议
RPAction协议定义。
方法
-status
-progress
-cancel
-waitUntilDone
-actionName
解释
-status
获取动作状态。
-progress
获取动作进程,数据类型为double。
...
RPBleConfigureListener协议定义。
方法
-onConfigureSuccess
...
解释
-onConfigureSuccess
配置成功。
- onConfigureFailure:(RPBleError)error
...
类,继承自RPAbstractDevice类。表示蓝牙设备。
方法
-canBeFoundWith:
是否由一种DiscoveryMode发现。参数DiscoveryMode。参考相关枚举。
属性
CBPeripheral *peripheral
解释
-canBeFoundWith:
是否由一种DiscoveryMode发现。参数DiscoveryMode。参考相关枚举。
CBPeripheral *peripheral
获取该蓝牙设备的CBPeripheral对象。
RPBleWifiInfo类
类,表示WiFi信息。用于配置设备WiFi。
属性
NSString *ssid
...
解释
NSString *ssid
属性,表示WiFi的SSID。
...
类,用于发现设备。继承自RPAbstractDiscover类。
方法
-initWithDelegate
...
:
-connect:
-pair:withWifiInfo:withListenter:
属性
id< RPDiscoveryDelegate > delegate
解释
-initWithDelegate:
初始化函数。参数为RPDiscoveryDelegate。
...
配置设备连接到指定的WiFi。参数为DiscoveryModeBLE类型的RPAbstractDevice。
属性
id< RPDiscoveryDelegate > delegate
...
RPDeviceManager(Connect)扩展类
方法
(nonnull id< RPSlamwarePlatformProtocol >) + connect:withPort
...
:
...
(nonnull id< RPSlamwarePlatformProtocol >) + connect:withPort:
静态方法。参数为IP地址和端口。IP地址的数据类型为NSString,端口的数据类型为int。
...
静态方法。参数是DiscoveryModeMDNS的RPAbstractDevice对象。
<RPDiscoveryDelegate>类
方法
-onStartDiscovery:
-onStopDiscovery:
-onDiscoveryStatusChanged:withStatus:withError:
-onDeviceFound:withDevice:
...
-onStartDiscovery:
开始发现。参数是RPAbstractDiscover,可以通过canBeFoundWith:函数得到是哪种类型的发现协议。
...
发现设备。参数是RPAbstractDiscover和RPAbstractDevice。
RPFirmwareUpdateInfo类
方法
-init
初始化函数,数据类型为NSString。
属性
current
...
releaseDate
brief
解释
-init
初始化函数,数据类型为NSString。
current
当前版本,数据类型为NSString。
latest
...
RPFirmwareUpdateProgress类
属性
- init
currentStep
totalSteps
currentStepProgress
...
解释
- init
初始化函数。
currentStep
当前步骤,数据类型为unsigned int。
...
当前步骤名称,数据类型为NSString。
RPHealthError类
属性
errorId
errorLevel
errorComponent
componentErrorCode
errorCode
errorMessage
...
errorId
错误消息id,数据类型为int。
errorLevel
...
错误信息,数据类型为NSString。
RPHealthInfo类
属性
hasWarning
hasError
hasFatal
errors
解释
hasWarning
表示是否有警告类错误。数据类型为布尔值。
hasError
...
表示错误列表。数据类型为NSArray<RPHealthError*>。
RPLaserPoint 类
类,表示激光点。
方法
-init
-initWithDistance:andAngle:
-initWithDistance:andAngle:andValid:
属性
float distance
float angle
...
解释
-init
初始化函数。
-initWithDistance:andAngle:
...
初始化函数。参数为float类型的Distance,float类型的Angle和boolean类型的Valid。
属性
float distance
获取distance。
...
激光点是否有效。
RPLaserScan 类
类,表示激光扫描。
方法
-initWithLaserPoints:
-initWithLaserPoints:andPose:
属性
NSArray<RPLaserPoint*>* laserPoints
RPPose* pose
解释
-initWithLaserPoints:
初始化函数。参数为NSArray类型的RPLaserPoint。
...
初始化函数。参数为NSArray<RPLaserPoint>和RPPose。
属性
NSArray<RPLaserPoint*>* laserPoints
...
RPPose* pose
获取姿态。
RPLine 类
类,表示线。
方法
...
-initWithStartPoint:andEndPoint
...
:
...
RPPointF* startPoint
RPPointF* endPoint
int lineId
解释
-initWithStartPoint:andEndPoint:
初始化函数。参数为RPPointF类型的StartPoint和RPPointF类型的EndPoint。
...
初始化函数。参数为RPPointF类型的StartPoint,RPPointF类型的EndPoint和int类型的lineId。
属性
RPPointF* startPoint
获取起点。
...
获取line id。
RPLocation 类
类,表示位置。
方法
...
-
...
属性
float x
float y
float z
解释
-init
初始化函数。
-initWithX:andY:andZ:
初始化函数且以x,y,z为参数。
属性
float x
获取x。
float y
获取y。
float z
获取z。
RPMap 类
类,表示地图。
方法
-initWithOrigin:andDimension:andResolution:andTimestamp:andData:
...
-
...
属性
RPPointF* origin
RPSize* dimension
RPPointF* resolution
long timestamp
NSData* data
解释
-initWithOrigin: andDimension:andResolution:andTimestamp:andData:
...
初始化函数。参数为RPPointF类型的origin,RPSize类型的dimension,RPPointF类型的resolution和NSData类型的data。
属性
-getMapArea
获取地图区域。
RPPointF* origin
...
<RPMoveActionProtocol>协议
方法
-remainingPath
-remainingMilestones
继承自<RPActionProtocol>的方法。
...
-remainingPath
获取剩余路径。
-remainingMilestones
获取剩余里程碑。
RPPath 类
类,表示路径。
方法
- init
...
-initWithPoints:
属性
...
解释
- init
初始化函数。
- initWithPoints:
初始化函数。参数为points,参数类型为NSArray<RPLocation> 。
属性
NSArray<RPLocation*>* points
获取点。
RPPoint 类
类,表示点。
方法
-init
-initWithX: andY:
属性
int x
int y
...
-init
初始化函数。
-initWithX:andY:
初始化函数且以x和y为参数。
属性
int x
获取x。
int y
获取y。
RPPointF 类
类,表示点。
方法
-init
...
-initWithX:andY:
...
float x
float y
解释
-init
初始化函数。
-initWithX:andY:
初始化函数且以x和y为参数。
属性
float x
获取x。
float y
获取y。
RPPose 类
类,表示姿态。
方法
-init
-initWithLocation:
-initWithRotation:
-initWithLocation:andRotation:
-initWithX:andY:andZ:andYaw:andPitch:andRoll:
-x
-setX:
-y
-setY:
-z
-setZ:
-yaw
-setYaw:
-pitch
...
- roll
-setRoll:
属性
RPLocation* location
RPRotation* rotation
解释
...
init
初始化函数。
-initWithLocation:
初始化函数且以location为参数。
...
-roll
获取roll。
-setRoll:
设置roll。
属性
RPLocation* location
获取location。
...
RPRectangle 类
类,表示rectangle。
方法
-init
...
-initWithOrigin:andSize:
-left
-top
-right
...
-empty
-unionOf:
-intersectionOf:
-area
属性
RPPoint* origin
RPSize* size
解释
-init
初始化函数。
-initWithOrigin:andSize:
...
取两个Recatngle的交集。参数为RPRectangle类型的dest。调用之后会改变被调用的对象。
-area
获取区域且参数为int类型的area。
属性
RPPoint* origin
获取原点。
RPSize* size
...
RPRectangleF类
类,表示rectangle。
方法
-init
-initWithOrigin:andSize:
-left
-top
-right
-bottom
-empty
-unionOf:
-intersectionOf:
-area
属性
RPPointF* origin
RPSizeF* size
...
-init
初始化函数。
- initWithOrigin:andSize:
...
取两个Recatngle的交集。参数为RPRectangleF类型的dest。调用之后都会改变被调用的对象。
-area
获取区域。
属性
RPPointF* origin
获取原点。
RPSizeF* size
获取size。
RPRotation类
类,表示旋转。
方法
-init
-initWithYaw:
-initWithYaw:andPitch:andRoll:
属性
float yaw
float pitch
...
解释
-init
初始化函数。
-initWithYaw:
初始化函数且以yaw为参数。
...
初始化函数且以yaw,pitch 和 roll为参数。
属性
float yaw
获取yaw。
float pitch
...
float roll
获取roll。
RPScheduleTask类
属性
int id
int hour
int minute
int year
int month
int day
int maxDuration
BOOL enabled
int weekRepeat
...
解释
int id
定时任务ID,数据类型为int。
int hour
...
定时任务名字,不能为空。数据类型为NSString。
RPSize类
类,表示size。
方法
-init
...
-initWithWidth:andHeight:
属性
int width
...
解释
-init
初始化函数。
-initWithWidth:andHeight:
初始化函数且以int类型的宽度和int类型的高度为参数。
属性
int width
获取宽度。
int height
获取高度。
RPSizeF类
类,表示size。
方法
-init
-initWithWidth:andHeight:
属性
float width
...
解释
-init
初始化函数。
-initWithWidth:andHeight:
初始化函数且以float类型的宽度和float类型的高度为参数。
属性
float width
获取宽度。
float height
...
RPSlamwarePlatformProtocol 协议
方法
-disconnect
- deviceId
- manufacturerId
- manufacturerName
- modelId
- modelName
- hardwareVersion
- softwareVersion
-availableMaps
-getMapWithMapType:inArea:ofMapKind:
-setMapWithMap:ofMapType:andMapKind:
-getKnownAreaOfMapType:andMapKind:
-clearMap
-location
-pose
-setPose:
-mapLocalization
-setMapLocalization:
-mapUpdate
-setMapUpdate:
-localizationQuality
-moveToLocations:andAppendingToCurrentTask:andSetAsMilestones:
-moveToLocation:andAppendingToCurrentTask:andSetAsMilestones:
-moveBy:
-rotateToOrientation:
-rotateBy:
-currentAction
-searchPathToLocation:
-batteryPercentage
-batteryIsCharging
-dcIsConnected
-slamwareVersion
-sdkVersion
-laserScan
-walls
-addWall:
-addWalls:
-clearWallById:
-clearWalls
-startSweep
-sweepSpot:
-goHome
-restartModuleWithMode:
-setSystemParameterNamed:withValue:
-valueOfSystemParameterNamed:
- getFirmwareUpdateInfo
- startFirmwareUpdate
- getFirmwareUpdateProgress
- getScheduledTasks
- addScheduledTask:
- getScheduledTaskWithId:
- updateScheduledTask:
- deleteScheduledTaskWithId:
...
-
...
解释
-disconnect
断开连接。
- deviceId
...
获取地图且以地图数据类型,地图区域及种类为参数。返回值为部分地图对象。
参数
...
type:地图的数据类型
rect:地图所要求的区域
...
参数名称 | 描述 |
---|---|
type | 地图的数据类型 |
rect | 地图所要求的区域 |
kind | 地图的种类 |
-setMapWithMap:ofMapType:andMapKind:
上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)
参数
...
Map:地图。
Type:地图的数据类型。
...
参数名称 | 描述 |
---|---|
Map | 地图的类型。 |
Type | 地图的数据类型。 |
Kind | 地图的种类。 |
-getKnownAreaOfMapType:andMapKind:
获取地图的已知区域。返回值为已探索的地图上的区域。
参数
...
参数名称 | 描述 |
---|---|
Type | 地图的类型。 |
Kind | 地图的种类。 |
Type:地图的类型。
...
-clearMap
清除当前地图。
-location
...
获取机器人的姿态(包含位置信息和角度信息)。返回值为机器人的姿态。
-setPose:
设置机器人的姿态。
参数
...
参数名称 | 描述 |
---|---|
pose | 机器人的新姿态 |
-mapLocalization
获取机器人是否在进行定位。返回值为布尔值,表明机器人是否在进行定位。
-setMapLocalization:
启用或停用定位功能。
参数
...
参数名称 | 描述 |
---|---|
V | 布尔值,用于决定SLAMWARE是否进行定位功能。 |
-mapUpdate
获取SLAMWARE是否更新地图。返回值为布尔值,表明SLAMWARE是否在更新地图。
-setMapUpdate:
启用或停用地图更新。
参数
...
参数名称 | 描述 |
---|---|
V | 布尔值,表明SLAMWARE是否应该更新地图。 |
-localizationQuality
获取定位信息可信度。
...
使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。
参数
...
Locs:机器人前往指定位置经过的一系列节点。
Appending:布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。
...
参数名称 | 描述 |
---|---|
Locs | 机器人前往指定位置经过的一系列节点。 |
Appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
isMilestone | 布尔值,用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 |
- moveToLocation:andAppendingToCurrentTask:andSetAsMilestones:
使机器人移动到指定点,返回值为执行该操作的动作。
参数
...
Loc:将要移动到的点。
Appending:布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。
...
参数名称 | 描述 |
---|---|
Loc | 将要移动到的点。 |
Appending | 布尔值,用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 |
isMilestone | 布尔值,用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能 |
- moveBy:
人工控制机器人的移动。返回值为执行该项操作的移动动作。(注意:在此状态下,机器人不会进行避障)。需要反复调用该函数来保持机器人的移动状态并调用MoveAction
Note | ||
---|---|---|
| ||
在此状态下,机器人不会进行避障。需要反复调用该函数来保持机器人的移动状态并调用MoveAction.cancel()函数来及时使机器人停止移动,否则机器人会在持续调用moveBy函数一段时期后停止移动。 |
参数Direction:要求机器人移动的方向,参考RPMoveDirection枚举。
参数名称 | 描述 |
---|---|
direction | 要求机器人移动的方向,参考RPMoveDirection枚举。 |
-rotateToOrientation:
使机器人旋转到指定的姿态。返回值为执行该操作的动作。
参数
...
参数名称 | 描述 |
---|---|
orientation | 要求的姿态。 |
-rotateBy:
使机器人旋转到指定的角度(有差异的)。返回值为执行该操作的动作。
参数
...
参数名称 | 描述 |
---|---|
offset | 机器人要求被旋转的弧度。 |
-currentAction
获取机器人当前的动作。
...
在地图中搜寻路径从机器人当前位置到指定位置。返回值为从机器人当前位置到指定位置的路径。
参数
...
参数名称 | 描述 |
---|---|
Location | 指定位置。 |
-batteryPercentage
获取电池的剩余电量(从0~100)。返回值为电池剩余电量的百分比,数据类型为int。
...
获取已经存在的虚拟墙。返回值为已存在的虚拟墙列表。
-addWall:
添加虚拟墙到Slamware。
参数
...
参数名称 | 描述 |
---|---|
wall | 准备添加的虚拟墙。 |
-addWalls:
添加多个虚拟墙到Slamware。
参数
...
参数名称 | 描述 |
---|---|
walls | 准备添加的多个虚拟墙。 |
-clearWallById:
清除指定的虚拟墙。
参数
...
参数名称 | 描述 |
---|---|
wallId | 准备清除的虚拟墙的id。 |
-clearWalls
从SLAMWARE清除所有的虚拟墙。
...
-restartModuleWithMode:
重启SLAMWARE模块。
参数
...
参数名称 | 描述 |
---|---|
mode | 重启SLAMWRE模块的模式。 |
-setSystemParameterNamed:withValue:
设置系统参数。
参数
参数名称 | 描述 |
---|---|
name |
...
准备设置的系统参数名称。 |
value |
...
准备为系统参数设置的值。 |
-valueOfSystemParameterNamed:
获取系统参数。返回值为参数的当前值。
参数
...
参数名称 | 描述 |
---|---|
name | 准备获取的参数名称。 |
- getFirmwareUpdateInfo
获取固件更新信息。返回值为固件更新信息。
...
添加预约任务。返回值的数据类型为布尔值。YES表示添加成功,NO表示添加失败。
参数
...
参数名称 | 描述 |
---|---|
task | 将要添加的预约任务。 |
- getScheduledTaskWithId:
获取指定的预约任务信息。
参数
...
参数名称 | 描述 |
---|---|
id | 预约任务的id |
- updateScheduledTask:
更新预约任务。返回值为更新的预约任务。
参数
...
参数名称 | 描述 |
---|---|
task | 添加的预约任务 |
- deleteScheduledTaskWithId:
删除预约任务。返回值的数据类型为布尔值。YES表示删除成功,NO表示删除失败。
参数
...
参数名称 | 描述 |
---|---|
id | 准备删除的预约任务id |
- getRobotHealth
获取机器人健康状况。返回值为RPHealthInfo
- clearRobotHealth
清除错误信息。
参数
...
参数名称 |
---|
...
描述 |
---|
...
errorCode |
-getAvailableSweepMaps
-getSweepMap:withArea:
-getSweepMapArea:
解释
RPHealthError类中的errorCode |
<RPSweepMoveActionProtocol>协议
方法
-getAvailableSweepMaps
获取可用的清扫地图。
...
获取清扫地图区域。
RPSlamwareEnums 枚举
...
RPMapType枚举
RPMapTypeBitmap8Bit
地图的数据类型为Bitmap
...
RPMapKind枚举
RPMapKindExploreMap = 0
地图种类探索地图
RPMapKindSweepMap = 10
地图种类清扫地图
...
RPActionStatus枚举
RPActionStatusWaitingForStart
待机状态。
RPActionStatusRunning
动作正在进行。
RPActionStatusFinished
动作完成。
RPActionStatusPaused
动作暂停。
RPActionStatusStopped
动作停止。
RPActionStatusError
动作执行出现错误。
...
RPDiscoveryMode枚举
RPDiscoveryModeBle
发现设备模式为Ble。
RPDiscoveryModeMdns
发现设备模式为Mdns。
...
RPRestartMode枚举
RPRestartModeSoft
软复位,重启SDK,速度较快。
RPRestartModeHard
硬复位,速度较慢,需要几分钟时间。
RPMoveDirection枚举
RPMoveDirectionForward
前进
RPMoveDirectionBackward
后退。
RPMoveDirectionTurnRight
向左移动。
RPMoveDirectionTurnLeft
向右移动。
RPBleError枚举
RPBleErrorBluetooth
蓝牙错误。
RPBleErrorDisconnected
断开连接。
RPBleErrorInvalidDevice
设备无效。
RPBleErrorInvalidSsid
SSID无效
RPBleErrorInvalidPassword
密码错误。
RPBleErrorConfigurationFailed
配置失败。
RPBleErrorWifiConnectionFailed
WiFi连接失败。
RPBleErrorUnknown
未知错误。