Page tree

Versions Compared

Key

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


Excerpt

本页提供了基于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

解密。

RPAbstractDevice 类

类,表示设备。

方法

-canBeFoundWith:

是否由一种DiscoveryMode发现。参数是DiscoveryMode枚举类型。参见DiscoveryMode枚举。

属性

int manufacturerId

表示生产商ID且数据类型为int。

int modelId

表示型号ID且数据类型为int。

NSString *manufacturerName

表示生产商名称且数据类型为NSString。

NSString *modelName

表示型号名称且数据类型为NSString。

NSString *hardwareVersion

表示硬件版本号且数据类型为NSString。

NSString *softwareVersion

表示软件版本号且数据类型为NSString。

NSString *serialNumber

表示序列号且数据类型为NSString。

NSUUID *deviceId

表示设备ID且数据类型为NSUUID。

NSString *deviceName

表示设备名称且数据类型为NSString。

RPAbstractDiscover类

表示Abstract discover接口。

方法

-getStatus:

获取状态。

-start:

开始。

-stop:

停止。

-getMode

获取Discover类型。类型参考DiscoveryMode。

<RPActionProtocol>协议

RPAction协议定义。

方法

-status

获取动作状态。

-progress

获取动作进程,数据类型为double。

-cancel

取消动作。

-waitUntilDone

等待动作完成。

-actionName

获取动作名称,数据类型为NSString。

<RPBleConfigureListener>协议

RPBleConfigureListener协议定义。

方法

-onConfigureSuccess

配置成功。

- onConfigureFailure:(RPBleError)error

配置失败。

RPBleDevice类

类,继承自RPAbstractDevice类。表示蓝牙设备。

方法

-canBeFoundWith:

是否由一种DiscoveryMode发现。参数DiscoveryMode。参考相关枚举。

属性

CBPeripheral *peripheral

获取该蓝牙设备的CBPeripheral对象。

RPBleWifiInfo类

类,表示WiFi信息。用于配置设备WiFi。

属性

NSString *ssid

属性,表示WiFi的SSID。

NSString *pwd

属性,表示WiFi的密码。

RPDeviceManager 类

类,用于发现设备。继承自RPAbstractDiscover类。

方法

-initWithDelegate:

初始化函数。参数为RPDiscoveryDelegate。

-connect:withPort:

连接到指定的设备。参数为NSString类型的ip和int类型的port。

-connect:

连接到设备。参数为DiscoveryModeMDNS类型的RPAbstractDevice。

-pair:withWifiInfo:withListenter:

配置设备连接到指定的WiFi。参数为DiscoveryModeBLE类型的RPAbstractDevice。


属性

id< RPDiscoveryDelegate >  delegate

Delegate。

RPDeviceManager(Connect)扩展类

方法

(nonnull id< RPSlamwarePlatformProtocol >) + connect:withPort:

静态方法。参数为IP地址和端口。IP地址的数据类型为NSString,端口的数据类型为int。

(nonnull id< RPSlamwarePlatformProtocol >) + connect:

静态方法。参数是DiscoveryModeMDNS的RPAbstractDevice对象。

<RPDiscoveryDelegate>类

方法

-onStartDiscovery:

开始发现。参数是RPAbstractDiscover,可以通过canBeFoundWith:函数得到是哪种类型的发现协议。

-onStopDiscovery:

停止发现。参数是RPAbstractDiscover,可以通过canBeFoundWith:函数得到是哪种类型的发现协议。

-onDiscoveryStatusChanged:withStatus:withError:

发现状态改变。参数是RPAbstractDiscover,DiscoverStatus类型的状态,和NSString类型的error。

-onDeviceFound:withDevice:

发现设备。参数是RPAbstractDiscover和RPAbstractDevice。

RPFirmwareUpdateInfo类

方法

-init

初始化函数,数据类型为NSString。

属性

current

当前版本,数据类型为NSString。

latest

最新版本,数据类型为NSString。

releaseDate

发布日期,数据类型为NSString。

brief

简要介绍,数据类型为NSString。

RPFirmwareUpdateProgress类

属性

- init

初始化函数。

currentStep

当前步骤,数据类型为unsigned int。

totalSteps

所有步骤,数据类型为unsigned int。

currentStepProgress

当前步骤进程,数据类型为unsigned int。

currentStepName

当前步骤名称,数据类型为NSString。

RPHealthError类

属性

errorId

错误消息id,数据类型为int。

errorLevel

错误等级,数据类型为BaseErrorLevel。

errorComponent

发生错误的组件,数据类型为BaseErrorComponent。

componentErrorCode

组件错误代码,数据类型为int。

errorCode

错误代码,数据类型为int。

errorMessage

错误信息,数据类型为NSString。

RPHealthInfo类

属性

hasWarning

表示是否有警告类错误。数据类型为布尔值。

hasError

表示是否有错误。数据类型为布尔值。

hasFatal

表示是否有致命错误。数据类型为布尔值。

errors

表示错误列表。数据类型为NSArray<RPHealthError*>。

RPLaserPoint 类

类,表示激光点。

方法

-init

初始化函数。

-initWithDistance:andAngle:

初始化函数。参数为float类型的Distance和float类型的Angle。

-initWithDistance:andAngle:andValid:

初始化函数。参数为float类型的Distance,float类型的Angle和boolean类型的Valid。


属性

float distance

获取distance。

float angle

获取angle。

BOOL valid

激光点是否有效。

RPLaserScan 类

类,表示激光扫描。

方法

-initWithLaserPoints:

初始化函数。参数为NSArray类型的RPLaserPoint。

-initWithLaserPoints:andPose:

初始化函数。参数为NSArray<RPLaserPoint>和RPPose。


属性

NSArray<RPLaserPoint*>* laserPoints

获取激光点。

RPPose* pose

获取姿态。

RPLine 类

类,表示线。

方法

-initWithStartPoint:andEndPoint:

初始化函数。参数为RPPointF类型的StartPoint和RPPointF类型的EndPoint。

-initWithStartPoint:andEndPoint:andLineId:

初始化函数。参数为RPPointF类型的StartPoint,RPPointF类型的EndPoint和int类型的lineId。


属性

RPPointF* startPoint

获取起点。

RPPointF* endPoint

获取终点。

int lineId

获取line id。

RPLocation 类

类,表示位置。

方法

-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:andData:

初始化函数。参数为RPPointF类型的origin,RPSize类型的dimension,RPPointF类型的resolution和NSData类型的data。


属性

-getMapArea

获取地图区域。

RPPointF* origin

获取原点。

RPSize* dimension

获取尺寸。

RPPointF* resolution

获取分辨率。

long timestamp

获取时间戳。

NSData* data

获取数据。

<RPMoveActionProtocol>协议

方法

-remainingPath

获取剩余路径。

-remainingMilestones

获取剩余里程碑。

RPPath 类

类,表示路径。

方法

- init

初始化函数。

- initWithPoints:

初始化函数。参数为points,参数类型为NSArray<RPLocation> 。

属性

NSArray<RPLocation*>* points

获取点。

RPPoint 类

类,表示点。

方法

-init

初始化函数。

-initWithX:andY:

初始化函数且以x和y为参数。

属性

int x

获取x。

int y

获取y。

RPPointF 类

类,表示点。

方法

-init

初始化函数。

-initWithX:andY:

初始化函数且以x和y为参数。

属性

float x

获取x。

float y

获取y。

RPPose 类

类,表示姿态。

方法

- init

初始化函数。

-initWithLocation:

初始化函数且以location为参数。

-initWithRotation:

初始化函数且以rotation为参数。

-initWithLocation:andRotation:

初始化函数且以location和rotation为参数。

-initWithX:andY:andZ:andYaw:andPitch:andRoll:

初始化函数且以x,y,z,yaw,pitch,roll为参数。

-x

获取x。

-setX:

设置X。

-y

获取y。

-setY:

设置Y。

-z

获取z。

-setZ:

设置Z。

-yaw

获取yaw。

-setYaw:

设置yaw。

-pitch

获取pitch。

-setPitch:

设置pitch。

-roll

获取roll。

-setRoll:

设置roll。

属性

RPLocation* location

获取location。

RPRotation* rotation

获取rotation。

RPRectangle 类

类,表示rectangle。

方法

-init

初始化函数。

-initWithOrigin:andSize:

初始化函数。参数为RPPoint类型的origin和RPSize类型的size。

-left

左。

-top

上。

-right

右。

-bottom

下。

-empty

Size是否为空。

-unionOf:

取两个rectangle的合集。参数为RPRectangle类型的dest。调用之后会改变被调用的对象。

-intersectionOf:

取两个Recatngle的交集。参数为RPRectangle类型的dest。调用之后会改变被调用的对象。

-area

获取区域且参数为int类型的area。

属性

RPPoint* origin

获取原点。

RPSize* size

获取size。

RPRectangleF类

类,表示rectangle。

方法

-init

初始化函数。

- initWithOrigin:andSize:

初始化函数且以RPPointF类型的原点和RPPointF类型的size为参数。

-left

左。

-top

上。

-right

右。

-bottom

下。

-empty

Size是否为空。

-unionOf:

取两个rectangle的合集。参数为RPRectangleF类型的dest。调用之后都会改变被调用的对象。

-intersectionOf:

取两个Recatngle的交集。参数为RPRectangleF类型的dest。调用之后都会改变被调用的对象。

-area

获取区域。

属性

RPPointF* origin

获取原点。

RPSizeF* size

获取size。

RPRotation类

类,表示旋转。

方法

-init

初始化函数。

-initWithYaw:

初始化函数且以yaw为参数。

-initWithYaw:andPitch:andRoll:

初始化函数且以yaw,pitch 和 roll为参数。

属性

float yaw

获取yaw。

float pitch

获取pitch。

float roll

获取roll。

RPScheduleTask类

属性

int id

定时任务ID,数据类型为int。

int hour

小时,数据类型为int。

int minute

分钟,数据类型为int。

int year

年,数据类型为int。

int month

月,数据类型为int。

int day

日,数据类型为int。

int maxDuration

任务最长执行时间,数据类型为int。

BOOL enabled

是否启用定时任务,数据类型为布尔值。

int weekRepeat

重复。不重复为0,周日为1,周一为2,周二为4,周三为8,周四为16,周五为32,周六为64,每天为127.

NSString task

定时任务名字,不能为空。数据类型为NSString。

RPSize类

类,表示size。

方法

-init

初始化函数。

-initWithWidth:andHeight:

初始化函数且以int类型的宽度和int类型的高度为参数。

属性

int width

获取宽度。

int height

获取高度。

RPSizeF类

类,表示size。

方法

-init

初始化函数。

-initWithWidth:andHeight:

初始化函数且以float类型的宽度和float类型的高度为参数。

属性

float width

获取宽度。

float height

获取高度。

RPSlamwarePlatformProtocol 协议

方法

-disconnect

断开连接。

- deviceId

获取设备id。返回值为设备id,数据类型为NSUUID。

- manufacturerId

获取设备制造商id。返回数据类型为integer。

- manufacturerName

制造商名称。返回数据类型为NSString。

- modelId

获取设备型号id。返回的数据类型为integer。

- modelName

获取设备型号名称。返回值为标明型号名称的NSString。

- hardwareVersion

获取硬件版本信息。返回值为标明硬件版本信息的NSString。

- softwareVersion

获取软件版本信息。返回值为标明软件版本信息的NSString。

-availableMaps

获取Slamware中可用的地图类型。返回值为地图类型列表,注意请将类型列表成员转换为RPMap类型。

-getMapWithMapType:inArea:ofMapKind:

获取地图且以地图数据类型,地图区域及种类为参数。返回值为部分地图对象。

参数
参数名称描述
type地图的数据类型
rect地图所要求的区域
kind地图的种类

-setMapWithMap:ofMapType:andMapKind:

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

参数
参数名称描述
Map地图的类型。
Type地图的数据类型。
Kind地图的种类。

-getKnownAreaOfMapType:andMapKind:

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

参数
参数名称描述
Type地图的类型。
Kind地图的种类。

-clearMap

清除当前地图。

-location

在地图坐标系统中获取机器人的位置。返回值为机器人的位置。

-pose

获取机器人的姿态(包含位置信息和角度信息)。返回值为机器人的姿态。

-setPose:

设置机器人的姿态。

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

-mapLocalization

获取机器人是否在进行定位。返回值为布尔值,表明机器人是否在进行定位。

-setMapLocalization:

启用或停用定位功能。

参数
参数名称描述
V布尔值,用于决定SLAMWARE是否进行定位功能。

-mapUpdate

获取SLAMWARE是否更新地图。返回值为布尔值,表明SLAMWARE是否在更新地图。

-setMapUpdate:

启用或停用地图更新。

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

-localizationQuality

获取定位信息可信度。

-moveToLocations:andAppendingToCurrentTask:andSetAsMilestones:

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

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

- moveToLocation:andAppendingToCurrentTask:andSetAsMilestones:

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

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

- moveBy:

人工控制机器人的移动。返回值为执行该项操作的移动动作。

Note
iconfalse

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

参数

参数名称描述
direction要求机器人移动的方向,参考RPMoveDirection枚举。

-rotateToOrientation:

使机器人旋转到指定的姿态。返回值为执行该操作的动作。

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

-rotateBy:

使机器人旋转到指定的角度(有差异的)。返回值为执行该操作的动作。

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

-currentAction

获取机器人当前的动作。

-searchPathToLocation:

在地图中搜寻路径从机器人当前位置到指定位置。返回值为从机器人当前位置到指定位置的路径。

参数
参数名称描述
Location指定位置。

-batteryPercentage

获取电池的剩余电量(从0~100)。返回值为电池剩余电量的百分比,数据类型为int。

-batteryIsCharging

获取电池是否在充电。返回值为一个boolean值,表明电池是否在充电。

-dcIsConnected

获取机器人是否连接到了电源插座。返回值为一个boolean值,表明机器人是否连接到充电器。

-slamwareVersion

获取SLAMWARE版本。返回值为标明SLAMWARE版本的NSString。

-sdkVersion

获取SLAMWARE SDK的版本。返回值为标明SLAMWARE SDK版本的NSString。

-laserScan

获取最近的激光扫描。返回值为最近的激光扫描。

-walls

获取已经存在的虚拟墙。返回值为已存在的虚拟墙列表。

-addWall:

添加虚拟墙到Slamware。

参数
参数名称描述
wall准备添加的虚拟墙。

-addWalls:

添加多个虚拟墙到Slamware。

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

-clearWallById:

清除指定的虚拟墙。

参数
参数名称描述
wallId准备清除的虚拟墙的id。

-clearWalls

从SLAMWARE清除所有的虚拟墙。

-startSweep

使机器人开始清扫(注意:此方法仅适用于扫地机版本机器人)。返回值为执行该操作的清扫动作。

-sweepSpot:

使机器人进行定点清扫(注意:此方法仅适用于扫地机版本机器人)。返回值为执行该操作的清扫动作。

-goHome

使机器人回到充电座(注意:该方法仅适用于支持自动返回功能版本的机器人)。返回值为执行该操作的动作。

-restartModuleWithMode:

重启SLAMWARE模块。

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

-setSystemParameterNamed:withValue:

设置系统参数。

参数
参数名称描述
name准备设置的系统参数名称。
value准备为系统参数设置的值。

-valueOfSystemParameterNamed:

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

参数
参数名称描述
name准备获取的参数名称。

- getFirmwareUpdateInfo

获取固件更新信息。返回值为固件更新信息。

- startFirmwareUpdate

开始固件更新。

- getFirmwareUpdateProgress

获取固件更新进程。返回值为固件更新进程。

- getScheduledTasks

获取预约任务信息。返回值为标明预约任务的数组。

- addScheduledTask:

添加预约任务。返回值的数据类型为布尔值。YES表示添加成功,NO表示添加失败。

参数
参数名称描述
task将要添加的预约任务。

- getScheduledTaskWithId:

获取指定的预约任务信息。

参数
参数名称描述
id预约任务的id

- updateScheduledTask:

更新预约任务。返回值为更新的预约任务。

参数
参数名称描述
task添加的预约任务

- deleteScheduledTaskWithId:

删除预约任务。返回值的数据类型为布尔值。YES表示删除成功,NO表示删除失败。

参数
参数名称描述
id准备删除的预约任务id

- getRobotHealth

获取机器人健康状况。返回值为RPHealthInfo

- clearRobotHealth

清除错误信息。

参数
参数名称描述
errorCodeRPHealthError类中的errorCode

<RPSweepMoveActionProtocol>协议

方法

-getAvailableSweepMaps

获取可用的清扫地图。

-getSweepMap:withArea:

获取清扫地图。

-getSweepMapArea:

获取清扫地图区域。

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

未知错误。