Versions Compared

Key

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

...

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

...

本页内容

Table of Contents
maxLevel2
exclude本页内容
stylecircle

...

概览

包含的所有类及其简要描述如下表所示,详细定义及参数介绍,请参考后文。

类名称

描述

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
iconfalse

在此状态下,机器人不会进行避障。需要反复调用该函数来保持机器人的移动状态并调用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

未知错误。