Excerpt |
---|
本页提供了基于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
解密。
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:
人工控制机器人的移动。返回值为执行该项操作的移动动作。
...
参数名称 | 描述 |
---|---|
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
清除错误信息。
参数
参数名称 | 描述 |
---|---|
errorCode | RPHealthError类中的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
未知错误。