com.slamtec.slamware包
AbstractSlamwarePlatform
类
方法
AbstractSlamwarePlatform()
AbstractSlamwarePlatform是一个抽象类,不能直接构造该类的对象。请使用DeviceManager连接设备并获取AbstractSlamwarePlatform的对象。
addWall(Line wall)
添加虚拟墙至SLAMWARE。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
wall | Line | 需要添加的虚拟墙 | line中的点是float类型 |
注意事项
需要添加的虚拟墙虚拟墙的line的坐标不要超雷达可视区域之外。
示例代码
PointF startP = new PointF(15.618f,15.315f);
PointF endP = new PointF(20.718f,20.515f);
Line line = new Line(startP,endP);
mPlatform.addWall(line);
addWalls(java.util.List<Line> walls)
添加多条虚拟墙至SLAMWARE。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
walls | java.util.List<Line> | 需要添加的多条虚拟墙 | - |
注意事项
需要添加的虚拟墙虚拟墙的line的坐标不要超雷达可视区域之外。
示例代码
PointF startP1 = new PointF(15.618f,15.315f);
PointF endP1 = new PointF(20.718f,20.515f);
Line line1 = new Line(startP1,endP1);
PointF startP2 = new PointF(10.618f,12.315f);
PointF endP2 = new PointF(11.718f,20.515f);
Line line2 = new Line(startP2,endP2);
ArrayList lines = new ArrayList();
lines.add(line1);
lines.add(line2);
mPlatform.addWall(lines);
clearMap()
清除当前地图。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
正在重定位时无法清除地图。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.clearMap();
clearWallById(int id)
移除指定的虚拟墙或者虚拟轨道。(id 不是设定的id,是通过AbstractSlamwarePlatform.getLines(ArtifactUsage var1)返回的line id。)
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
id | int | 需要移除的虚墙或者虚拟轨道的id | - |
注意事项
id 不是设定的id,是通过AbstractSlamwarePlatform.getLines(ArtifactUsage var1)返回的line id。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
List list = platform.getLines(ArtifactUsage.ArtifactUsageVirutalWall);
for(int i=0;i < list.size();i++){
platform.clearWallById(list.get(i).getSegmentId());
}
clearWalls()
从Slamware清除所有虚拟墙。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.clearWalls();
configureNetwork(int mode, java.util.HashMap<java.lang.String,java.lang.String> options)
配置Slamware Core的网络工作模式。数据返回类型布尔值boolean。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为错误信息列表。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
mode | int | 网络模式 | - |
options | java.util.HashMap |
选项 | - |
注意事项
当前支持的工作模式主要有:
- 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
()); -
让Slamware Core连上名字为Slamtec的AP
HashMap
options = newHashMap (); options.put(“ssid”, “Slamtec”); options.put(“password”, “Password”); platform.configureNetwork(NetworkMode.NetworkModeStation,options); -
将Slamware Core的IP地址配置为192.168.12.13,默认网关为192.168.12.1,DNS服务器为:114.114.114.114:
HashMap
options = newHashMap (); options.put(“ip”, “192.168.12.13”); options.put(“mask”: “255.255.255.0”); options.put(“gateway”: “192.168.12.1”); options.put(“dns”: “114.114.114.114”); platform.configureNetwork(NetworkMode.NetworkModeDisabled, options);
disconnect()
断开与平台之间的连接。
Stability: 3 - Stable
Added in v2.5.0
返回值
无。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
断开连接后,若有其他线程使用该AbstractSlamwarePlatform对象可能会抛异常。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.disconnect();
getAvailableMaps()
获取SLAMWARE中可用的地图类型。返回值为地图类型列表。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为List < MapType>。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
List mapTypes = mPlatform.getAvailableMaps();
MapType mapType = mapTypes.get(0);
RectF knownArea = mPlatform.getKnownArea(mapType);
getBatteryIsCharging()
获取电池是否在充电。返回值为布尔值,表明电池是否在充电。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为布尔值,true 代表正在充电,false 代表不在充电。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂时无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean flag = mPlatform.getBatteryIsCharging();
int getBatteryPercentage()
获取电池剩余电量百分比(从0~100)。返回值为电池电量百分比。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为电池电量百分比。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
int percentage = getBatteryPercentage();
getCurrentAction()
获取机器人当前的动作。返回值为机器人当前正在进行的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为表示机器人当前正在进行的动作的对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
获取的是此时此刻的acion,可能下一秒action的状态就会变化。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
IMoveAction action = mPlatform.getCurrentAction();
boolean getDCIsConnected()
获取机器人是否连接到电源插座。返回值为布尔值,表明机器人是否连接到充电器。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为布尔值,true 代表已经连上, false 代表没有连上
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean flag = mPlatform.getDCIsConnected();
String getDeviceId()
获取设备的UUID。返回值数据类型为string。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为该设备的UUID字符串的值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂时无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String uuid = mPlatform.getDeviceId();
FirmwareUpdateInfo getFirmwareUpdateInfo()
请参考FirmwareUpdateInfo类。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为FirmwareUpdateInfo 固件升级对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
估计升级中请不要断开设备的连接
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
FirmwareUpdateInfo info = mPlatform.getFirmwareUpdateInfo();
FirmwareUpdateProgress getFirmwareUpdateProgress()
请参考FirmwareUpdateProgress类。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为FirmwareUpdateProgress 固件升级过程对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
固件升级过程中不能断开机器人设备和安卓设备,否则会固件升级失败
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
FirmwareUpdateProgress progress = mPlatform.getFirmwareUpdateProgress();
String getHardwareVersion()
获取设备硬件版本。返回值数据类型为string。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为设备硬件版本的字符串。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意机器人和安卓设备要连接上,否则无法获取。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String versio = mPlatform.getHardwareVersion();
RectF getKnownArea(MapType type)
获取已探索到的地图区域。返回值为已探索的地图区域。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为探索到的区域的大小,用矩阵表示。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
type | MapType | 获取地图的类型 | 该类型有BITMAP_8BIT 和PointMap |
注意事项
注意机器人和安卓设备要连接上,否则无法获取。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
List mapTypes = mPlatform.getAvailableMaps();
MapType mapType = mapTypes.get(0);
RectF knownArea = mPlatform.getKnownArea(mapType);
getKnownArea(MapType type, MapKind kind)
获取已探索到的地图区域。返回值为已探索的地图区域。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为表示已探索的地图区域的RectF对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
type | MapType | 地图数据类型 | 该类型有BITMAP_8BIT 和PointMap |
kind | MapKind | 地图种类 | 地图类型有EXPLORE_MAP,SWEEP_MAP,UWB_MAP |
注意事项
SWEEP_MAP 只适用于扫地机的版本。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RectF rectF = platform.getKnownArea(MapType.BITMAP_8BIT, MapKind.EXPLORE_MAP);
LaserScan getLaserScan()
获取最新的LASER扫描。返回值最新的LASER扫描。
Stability: 3 - Stable
Added in v2.5.0
返回值
当前最新的LaserScan对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | - | - | - |
注意事项
无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
LaserScan laserScan = mPlatform.getLaserScan();
int getLocalizationQuality()
获取定位可信度。
Stability: 3 - Stable
Added in v2.5.0
返回值
表示定位可信度的值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无注意事项
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
int quality = mPlatform.getLocalizationQuality();
Location getLocation()
获取机器人在上述地图坐标系统中的坐标。返回值为机器人位置信息。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为Location 。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
获取当前机器人的位置时候,确保机器人不要手动去推以及不要抱起机器人。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location = mPlatform.getLocation();
int getManufacturerId()
获取设备制造商id。返回值数据类型为int。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为int 表示设备制造商的id。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
int id = mPlatform.getManufacturerId();
String getManuFacturerName()
获取设备制造商名称。返回值数据类型为string。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值是字符串 该设备制造商名称
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String name = mPlatform.getManuFacturerName();
Map getMap(MapType type, MapKind kind, android.graphics.RectF area)
从SLAMWARE获取地图数据。返回值为局部地图对象。
Stability: 3 - Stable
Added in v2.5.0
返回值
地图对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
type | MapType | 地图数据类型 | 地图类型有BITMAP_8BIT,PointMap; |
kind | MapKind | 地图种类 | 地图种类EXPLORE_MAP,SWEEP_MAP,UWB_MAP; |
area | android.graphics.RectF | 地图区域 | 获取到的某个区域 |
注意事项
根据不同的MapType MapKind会获取到不同的地图图层,area 一定要在地图的范围内,否则没有意义。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RectF area = new RectF(1.5f,1.5f,2.5f,2.5f);
MapType mapType = MapType.BITMAP_8BIT;
Map map = mPlatform.getMap(mapType, MapKind.EXPLORE_MAP, area);
boolean getMapLocalization()
获取SLAMWARE是否在进行定位。返回值为布尔值表明SLAMWARE是否在进行定位。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为boolean true代表正在定位,false代表没有定位。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean isLocalizate = mPlatform.getMapLocalization();
boolean getMapUpdate()
获取SLAMWARE是否更新地图。返回值为布尔值表明SLAMWARE是否更新地图。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值boolean true代表正在更新地图,false代表没有。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean isUpdate = mPlatform.getMapUpdate();
int getModelId()
获取设备型号id。返回数据类型为int。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为int 该设备型号id。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
int id = mPlatform.getModelId();
String getModelName()
获取设备型号名称。返回数据类型为string。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值String 为设备型号名称。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String modelName = mPlatform.getModelName();
String getNetworkStatus()
获取网络状况。返回数据类型为string。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为String 为网络状况。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String networkStatus = mPlatform.getNetworkStatus();
Pose getPose()
获取机器人在上述坐标系统中的姿态(包含位置信息和角度信息)。返回值为机器人的姿态。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为 Pose 代表当前机器人的姿态。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接,以及不要抱起机器人。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Pose pose = mPlatform.getPose();
HealthInfo getRobotHealth()
获取机器人健康状态。返回数据为健康状况。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为HealthInfo 代表机器人健康信息对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
HealthInfo healthInfo = mPlatform.getRobotHealth();
ArrayList list = healthInfo.getErrors();
for(HealthInfo.BaseError baseError:list){
Log.d("healthTag","ErrorMessage=="+baseError.getErrorMessage());
Log.d("healthTag","getComponentErrorType=="+baseError.getComponentErrorType());
Log.d("healthTag","getErrorCode=="+baseError.getErrorCode());
Log.d("healthTag","getErrorLevel=="+baseError.getErrorLevel());
Log.d("healthTag","getErrorComponent=="+baseError.getErrorComponent());
}
String getSDKVersion()
获取SLAMWARE SDK版本。返回值为标明SLAMWARESDK版本的字符串。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值String 为sdk的版本。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String sdkVersion = mPlatform.getSDKVersion();
String getSlamwareVersion()
获取SLAMWARE版本。返回值为标明SLAMWARE版本的字符串。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值String 为slamware的版本。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String slamwareVersion = mPlatform.getSlamwareVersion();
String getSoftwareVersion()
获取设备的软件版本。返回值数据类型为字符串。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值String 为设备软件的版本。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String softwareVersion = mPlatform.getSoftwareVersion();
String getSystemParameter(java.lang.String param)
获取系统参数。返回值为当前参数的值。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值String 为参数的值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
param | java.lang.String | 获取的参数 | 不能传null |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
String param1= "...";
String paramValue = mPlatform.getSystemParameter(param1);
boolean updateBinaryConfig(java.lang.String jsnstrOfBinCfg)
更新设备内存中的BinaryConfig。
Stability: 3 - Stable
Added in v2.6.4
返回值
返回值类型为boolean,表示是否更新成功了。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
jsnstrOfBinCfg | java.lang.String | 要更新的Config序列化后的JSON字符串 |
注意事项
目前只支持更新 base.sensors 的内容,试图更新其他内容会返回失败。
示例代码
//String strOfJsnCfg = "{ \"xxx\": { \"xxxxx_xxxx\": 0.68 } }";
String strOfJsnCfg = "{ \"base\": { \"sensors\": [ { \"driver\" : \"messaging\", \"id\" : 12, \"installation_pose\" : { \"pitch\" : 0.0, \"roll\" : 0.0, \"x\" : 0.0, \"y\" : 0.0, \"yaw\" : 0.0, \"z\" : 0.0 }, \"max_distance\" : 2.0, \"min_distance\" : 1.0, \"type\" : \"depth_camera\" } ] } }";
boolean bRes = corePltfm.updateBinaryConfig(strOfJsnCfg);
Log.i("updateBinaryConfig(), ", (bRes ? "OK" : "Failed"));
SendAndRecvUserDefinedCBusMsgResult sendAndRecvUserDefinedCBUSMessage(byte[] payload)
发送消息并接收返回消息。
Stability: 3 - Stable
Added in v2.6.5
返回值
返回值类型为 SendAndRecvUserDefinedCBusMsgResult 。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
payload | byte[] | 要发送的消息的Payload |
注意事项
要求payload的长度大于0。
示例代码
// prepare message payload to send
byte[] payloadToSend = new byte[1];
// ...
// send and receive
com.slamtec.slamware.robot.SendAndRecvUserDefinedCBusMsgResult res = corePltfm.sendAndRecvUserDefinedCBUSMessage(payloadToSend);
byte[] recvDat = res.getRecvData();
Log.i("sendAndRecvUserDefinedCBUSMessage"
, "retCode: " + res.getRetCode()
+ ", received data size: " + (null != recvDat ? recvDat.length : 0)
);
Vector<Line> getWalls()
获取当前存在的虚拟墙。返回值为当前存在的虚拟墙列表。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值Vector 存放的是当前所有的虚拟墙。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Vector lines = mPlatfor.getWalls();
IMoveAction goHome(GoHomeFlag flag)
使机器人返回充电桩。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 代表当前机器人的行为。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
flag | GoHomeFlag enum | 回桩还是回到桩前的上桩点 | 当flag为GoHomeFlag.Dock 让机器人回桩,当flag为GoHomeFlag.noDock 是让机器人回到上桩点 |
注意事项
该方法仅适用于支持自动回充功能的机器人版本。 另见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
IMoveAction action = mPlarform.goHome(GoHomeFlag.Dock);
moveBy([MoveDirection](classMoveDirection) direction)
人工控制机器人的移动。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 表示当前机器人的行为。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
direction | MoveDirection | 期望机器人移动的方向 | MoveDirection中的值包括前后左右FORWARD,BACKWARD,TURN_RIGHT,TURN_LEFT; |
注意事项
在此状态下,机器人不会进行避障。需要反复调用该函数来保持机器人的移动状态并调用MoveAction.cancel()函数来及时使机器人停止移动,否则机器人会在持续调用moveBy函数一段时期后停止移动。 另见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
IMoveAction moveAction = mPlatform.moveBy(MoveDirection.FORWARD);
IMvoeAction moveTo(java.util.List<Location> locations)
使机器人移动到一系列指定位置。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作 。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
locations | java.util.List |
机器人前往指定位置经过的一系列节点。 | 目前location中的Z坐标没有用 |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
Location location2 = new Location(2.5f,2.6f,1.9f);
List list = new ArrayList();
list.add(location1);
list.add(location2);
IMvoeAction action = mPlatform.moveTo(list);
IMvoeAction moveTo(java.util.List<Location> locations, boolean appending)
使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作 。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
locations | java.util.List<Location> |
机器人前往指定位置经过的一系列节点。 | 目前location中的Z坐标没有用 |
appending | boolean | 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 | - |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
Location location2 = new Location(2.5f,2.6f,1.9f);
List list = new ArrayList();
list.add(location1);
list.add(location2);
IMvoeAction action = mPlatform.moveTo(list,false);
IMvoeAction moveTo(java.util.List<Location> locations, boolean appending, boolean isMilestone)
使机器人移动到一系列的指定位置。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
locations | java.util.List<Location> |
机器人前往指定位置经过的一系列节点。 | 目前location中的Z坐标没有用 |
appending | boolean | 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 | - |
isMilestone | boolean | 用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 | - |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
Location location2 = new Location(2.5f,2.6f,1.9f);
List list = new ArrayList();
list.add(location1);
list.add(location2);
IMvoeAction action = mPlatform.moveTo(list,false,true);
IMvoeAction moveTo([Location](#classLocation) location)
使机器人移动到指定地点。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
location | Location | 机器人将要到达的点。 | 目前location中的Z坐标没有用 |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
IMvoeAction action = mPlatform.moveTo(location1);
IMvoeAction moveTo(Location location, boolean appending)
使机器人移动到指定地点。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
location | Location | 机器人将要到达的点。 | 目前location中的Z坐标没有用 |
appending | boolean | 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 | - |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
IMvoeAction action = mPlatform.moveTo(location1,false);
IMvoeAction moveTo(Location location, boolean appending, boolean isMilestone)
使机器人移动到指定地点。返回值为执行该项操作的移动动作
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMvoeAction为执行该项操作的移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
location | Location | 机器人将要到达的点。 | - |
appending | boolean | 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 | 目前location中的Z坐标没有用 |
isMilestone | boolean | 用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 | - |
注意事项
见setMap()接口。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location1 = new Location(1.5f,4.6f,1.8f);
IMvoeAction action = mPlatform.moveTo(location1,false,true);
restartModule()
重启SLAMWARE模块。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.restartModule();
restartModule([RestartMode](#classRestartMode) mode)
重启SLAMWARE模块。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
mode | 枚举 | 机器人底盘重启模式 | 重启模式分为SOFT,HARD |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.restartModule(RestartMode.SOFT);
IMoveAction rotate([Rotation](#classRotation) rotation)
使机器人旋转一个角度(不同的角度)。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 为执行该项操作的移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
rotation | Rotation | 机器人被要求旋转的弧度 | - |
注意事项
旋转过程中不要再执行别的action操作。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Rotation rotation = new Rotation(1.5f);
IMoveAction action = mPlatform.rotate(rotation);
IMoveAction rotateTo([Rotation](#classRotation) orientation)
使机器人旋转到特定的朝向。返回值为执行该项操作的移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 为执行该项操作的移动动作。。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
orientation | Rotation | 机器人被要求的姿态 | - |
注意事项
旋转过程中不要再执行别的action操作。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Rotation rotation = new Rotation(1.5f);
IMoveAction action = mPlatform.rotateTo(rotation);
Path searchPath([Location](#classLocation) location)
在地图中寻找使机器人从当前位置移动到指定目标位置的路径。返回值为一条从机器人的当前位置到指定目标位置的路径。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值path为一条从机器人的当前位置到指定目标位置的路径 。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
location | Location | 机器人的目标位置 | location中纵坐标没有用 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location = new Location(1.5f,1.6f,1.2f);
Path path = mPlatform.searchPath(location);
setMap(Map map)
上传地图数据到SLAMWARE。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
map | Map | 要上传的地图对象 | - |
注意事项
应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。
机器人正在设置地图的过程中,如果试图让它产生Action会抛OperationFail异常。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RectF area = new RectF(1.0f,1.5f,2.5f,3.5f);
Map map = mPlatform.getMap(MapType.BITMAP_8BIT, MapKind.EXPLORE_MAP, area);
mPlatform.setMap(map);
setMap(Map map, MapType type)
上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
map | Map | 要上传的地图对象 | - |
type | - | 地图数据类型 | - |
- | - | - | - |
注意事项
应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。
机器人正在设置地图的过程中,如果试图让它产生Action会抛OperationFail异常。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RectF area = new RectF(1.0f,1.5f,2.5f,3.5f);
Map map = mPlatform.getMap(MapType.BITMAP_8BIT, MapKind.EXPLORE_MAP, area);
mPlatform.setMap(map,MapType.BITMAP_8BIT);
setMap(Map map, MapType type, MapKind kind)
上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。)
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
map | - | 要上传的地图对象 | - |
type | - | 地图数据类型 | - |
kind | - | 地图种类 | - |
注意事项
应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。
机器人正在设置地图的过程中,如果试图让它产生Action会抛OperationFail异常。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RectF area = new RectF(1.0f,1.5f,2.5f,3.5f);
Map map = mPlatform.getMap(MapType.BITMAP_8BIT, MapKind.EXPLORE_MAP, area);
mPlatform.setMap(map,MapType.BITMAP_8BIT,MapKind.EXPLORE_MAP);
setMapLocalization(boolean v)
获取是否启用定位功能。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
v | boolean | 布尔值,表明SLAMWARE是否该进行定位。 | true代表是,false 代表不是 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mplatform.setMapLocalization(true);
setMapUpdate(boolean v)
设置是否更新地图。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
v | boolean | 布尔值,表明SLAMWARE是否应该更新地图。 | true 代表更新,false 代表不更新 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mplatform.setMapUpdate(true);
setPose(Pose pose)
设置机器人的姿态。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
pose | - | 机器人的新姿态 | pose中的location 纵坐标没有作用 |
注意事项
注意不要断开安卓设备和机器人连接,刚刚设置pose时候,不要做move操作。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Pose pose = new Pose();
mplatform.setPose(pose);
setSystemParameter(java.lang.String param, java.lang.String value)
设置系统参数。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
param | String | 将要进行设置的参数名称 | - |
value | String | 将要设置的值 | - |
注意事项
注意不要断开安卓设备和机器人连接,
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.setSystemParameter("max_moving_speed","high");
boolean startFirmwareUpdate()
获取是否开始固件更新。返回值为boolean表示是否开始更新固件。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值为boolean表示是否开始更新固件,true 表示开始,false 表示没有
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean flag = mPlatform.startFirmwareUpdate();
ISweepMoveAction startSweep()
使机器人开始清扫(注意:该方法仅适用于扫地机版本的SLAMWARE Core)。返回值为执行该项操作的清扫移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值ISweepMoveAction为执行该项操作的清扫移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
ISweepMoveAction action = mPlatform.startSweep();
ISweepMoveAction sweepSpot(Location location)
使机器人开始定点清扫(注意:该方法仅适用于扫地机版本的SLAMWARE Core)。返回值为执行该项操作的清扫移动动作。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值ISweepMoveAction为执行该项操作的清扫移动动作。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
location | Location | 移动到某一个坐标点 | location中的纵坐标没有用 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Locatin location = new Location(1.5f,1.2f,0.2f);
ISweepMoveAction action = mPlatform.startSweep(location);
ArtifactUsage
枚举
表示虚拟墙或者虚拟轨道。
ArtifactUsageVirutalWall
虚拟墙,用于限制设备的活动范围。
Stability: 3 - Stable
Added in v2.5.0
ArtifactUsageVirtualTrack
虚拟轨道,用于为设备提供预设的路线,设备将尽可能按照虚拟轨道移动。
Stability: 3 - Stable
Added in v2.5.0
List<Line> getLines(ArtifactUsage usage)
获取所有虚拟墙或虚拟轨道的信息。返回值为一个line的集合。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值List 为一个line的集合。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
usage | ArtifactUsage | 虚拟墙或者虚拟轨道 | - |
注意事项
注意。参数为ArtifactUsageVirutalWall 返回的是虚拟墙集合,参数为ArtifactUsageVirtualTrack 返回的虚拟轨道集合
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
List list = mPlatform.getLines(ArtifactUsage.ArtifactUsageVirutalWall);
boolean addLine(ArtifactUsage usage, Line line)
添加虚拟墙或虚拟轨道。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值boolean 为true 表示添加成功, false 表示添加失败。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
usage | ArtifactUsage | 参数是虚拟轨道还是虚拟墙 | - |
line | Line | 参数是一个线 | - |
注意事项
注意。参数为ArtifactUsageVirutalWall 添加的是虚拟墙,参数为ArtifactUsageVirtualTrack 添加的是虚拟轨道。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
PointF startF = new PointF(0.4f,0.4f);
PointF endF = new PointF(0.5f,0.5f);
Line line1 = new Line(4,startF,endF);
platform.addLine(ArtifactUsage.ArtifactUsageVirtualTrack,line);
boolean addLines(ArtifactUsage usage, List<Line> lines)
添加多条虚拟墙或虚拟轨道。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值boolean 为true 表示添加成功, false 表示添加失败。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
usage | ArtifactUsage | 参数是虚拟轨道还是虚拟墙 | - |
lines | List | 参数是集合存放多个line | - |
注意事项
参数为ArtifactUsageVirutalWall 添加的是虚拟墙,参数为ArtifactUsageVirtualTrack 添加的是虚拟轨道。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
PointF startF = new PointF(0.4f,0.4f);
PointF endF = new PointF(0.5f,0.5f);
Line line1 = new Line(4,startF,endF);
PointF startF1 = new PointF(0.1f,0.1f);
PointF endF1 = new PointF(0.2f,0.2f);
Line line2 = new Line(9,startF1,endF1);
ArrayList lines = new ArrayList();
lines.add(line1);
lines.add(line2);
mPlatform.addLines(ArtifactUsage.ArtifactUsageVirtualTrack,lines);
boolean removeLineById(ArtifactUsage usage, int id)
移除指定的虚拟墙或虚拟轨道。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值boolean true 代表移除成功,false代表移除失败。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
usage | ArtifactUsage | 参数是虚拟轨道还是虚拟墙 | - |
id | int | 移除某一条line的id | - |
注意事项
id必须是Arraylist
示例代码
ArrayList list = (ArrayList) platform.getLines(ArtifactUsage.ArtifactUsageVirtualTrack);
Boolean isSuccessful = platform.removeLineById(ArtifactUsage.ArtifactUsageVirtualTrack,list.ge(0).getSegmentId());
boolean clearLines(ArtifactUsage usage)
移除所有虚拟墙或虚拟轨道。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值boolean true 代表移除成功,false代表移除失败。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
usage | ArtifactUsage | 参数是虚拟轨道还是虚拟墙 | - |
注意事项
暂无
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
boolean flag = mPlatform.clearLines(ArtifactUsage.ArtifactUsageVirtualTrack);
PowerStatus getPowerStatus()
取电源相关的信息。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值PowerStatus 为电源相关的信息。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
PowerStatus powerStatus = mPlatform.getPowerStatus();
void wakeUp()
从休眠状态唤醒设备。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.wakeUp();
IMoveAction recoverLocalization(RectF area)
当机器人被抱起时可调用此接口进行重定位。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 表示当前机器人正在进行的行为
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
area | Rectf | 在一个区域内进行重定位 | - |
注意事项
如果area区域为空时,机器人将在当前20*20的区域进行从定位,否则机器人将在指定区域进行重新定位。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
RecoverLocalizationOptions recoverLocalizationOptions = new RecoverLocalizationOptions();
recoverLocalizationOptions.setRecoverMovementType(RecoverLocalizationMovement.Unknown);
IMoveAction moveAction = mPlatform.recoverLocalization(new RectF(1.0f,1.0f,1.0f,1.0f),recoverLocalizationOptions);
PointPDF getAuxLocation()
根据当前辅助定位设备的信息获取当前机器人的大致位置信息
当机器人被抱起时,可以先调用getAuxLocation()获取机器人当前大致位置信息,然后调用recoverLocalization传入包含有大致位置信息的区域,使机器人尝试重定位。
Stability: 3 - Stable
Added in v2.5.0
返回值
根据辅助定位得到的机器人大致位置信息的PointPDF对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无。
示例代码
auto locationPdf = platform. getAuxLocation();
Location location = locationPdf.location;
float distant = locationPdf.circular_error_probability;
area((location.x() - distant), (location.y() - distant), 2distant, 2distant);RectangleF
auto act = platform. recoverLocalization(area);
act.waitUntilDone();
CompositeMap getCompositeMap()
获取当前地图的所有信息。
Stability: 3 - Stable
Added in v2.5.0
返回值
如果成功返回一个CompositeMap对象,否则返回null或者抛异常。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
CompositeMap map = mPlatform.getCompositeMap();
void setCompositeMap(CompositeMap map, Pose pose)
设置当前的地图信息。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
map | CompositeMap | 雷达扫到的地图 | - |
pose | Pose | 机器人的坐标 | - |
注意事项
设置加载地图是一个阻塞的方法,获取的同时不要进行别的操作
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
CompositeMapHelper compositeMapHelper = new CompositeMapHelper();
Pose pose = new Pose();
String path = "/sdcard/twoline1.stcm";
CompositeMap mCompositeMap = compositeMapHelper.loadFile(path);
mPlatform.setCompositeMap(mCompositeMap,pose);
Pose getHomePose()
获取充电座位置。如果找不到充电座则返回(0,0)。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值Pose 为充电座位置。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Pose pose = mPlatform.getHomePose();
List<ImpactSensorInfo> getSensors()
获取到机器人所有的传感器信息,返回值是list集合。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值是list集合 存放的是所有的传感器信息
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
暂无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
List list= mPlatform.getSensors();
HashMap<Integer, ImpactSensorValue> getSensorValues()
获取到机器人所有的(可获取的)传感器的值。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值是HashMap,存放的是所有的传感器的值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
对于Bumper和Cliff,总是会包含在返回的HashMap里; 对于Sonar,如果当前没有触发(或者暂时无法取得值),不会包含在返回的HashMap里。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
HashMap hashMap = mPlatform.getSensorValues();
ImpactSensorValue getSensorValue(Integer var1)
根据传感器ID获取到机器人对应传感器的值。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回ImpactSensorValue对象,即机器人对应传感器的值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
var1 | Integer | 传感器id | - |
注意事项
必须检查返回值是否是 null ! 如果指定id不存在,会返回null; 如果id对应的是Bumper或Cliff,总会返回非空的对象; 如果id对应的是Sonar,当超声没有触发(或者暂时无法取得值)时返回null, 当超声触发时返回非空对象。
示例代码
Integer integer = new Integer(0);
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
ImpactSensorValue impactSensorValue = mPlatform.getSensorValue(integer);
if (null != impactSensorValue)
{
// output impactSensorValue.getValue();
}
else
{
// output "impactSensorValue is null.";
}
IMoveAction moveTo(Location location, MoveOption option, float yaw)
使机器人移动到指定的位置。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 当前机器人正在进行的行为。
参数说明
location 指定的位置,moveOption 是移动时候的参数。
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
appending | boolean | 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。 | - |
milestone | boolean | 用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。 | - |
noSmooth | boolean | 暂时没有开放。 | - |
keyPoints | boolean | 设置是否走虚拟轨道。 | - |
precise | boolean | 机器人移动的时候精确到点。 | - |
withYaw | boolean | 是否让机器人停下来的时候旋转。 | - |
yaw | float | 机器人停下来的时候旋转到一定的角度。角度范围? | - |
returnUnreachableDirectly | boolean | 为true时,当机器人规划路径失败后,机器人不进行旋转重新规划。 | - |
trackWithOA | boolean | trackWithOA 为true时,机器人走虚拟轨道时候,也会进行避障,避障后继续优先走虚拟轨道.(如果不走虚拟轨道,trackWithOA 设置为true,没有作用)。 | - |
speedRatio | Double | 机器人行走的速度,范围是0到1,(只用于moveBy)。 | - |
注意事项
暂无。
IMoveAction moveTo(java.util.List locations, MoveOption option, float yaw)
参考上面的注释,只是移动到很多点。
Stability: 3 - Stable
Added in v2.5.0
返回值
返回值IMoveAction 当前机器人正在进行的行为。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
locations | List | 集合存放一系类的点 | - |
option | MoveOption | 移动时候的参数如上 | - |
yaw | float | 以一定的角度移动到某个点 | - |
注意事项
暂无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
Location location =new Location(1.0f,1.0f,1.0f);
MoveOption moveOption = new MoveOption();
moveOption.setKeyPoints(true);
moveOption.setWithYaw(true);
//.............
float yaw = 0.5f;
IMoveAction moveAction = mPlatform.moveTo(location,moveOption,yaw);
publishDepthCamFrame(int sensorId,DepthCameraFrame depthCameraFrame)
将深度摄像头的数据传递给底盘,其中sensorId 是通过底盘配置的sensorId, depthCameraFrame是深度摄像头数据对象。
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
sensorId | int | 深度摄像头id | - |
depthCameraFrame | DepthCameraFrame | 深度摄像头数据对象 | - |
注意事项
暂无。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
DepthCameraFrame depthCameraFrame = new DepthCameraFrame();。
depthCameraFrame.set(...);
//.....................
platform.publishDepthCamFrame(1,depthCameraFrame);
ICustomerLogReceiver createCustomerLogReceiver()
创建 ICustomerLogReceiver 对象,以便接收 CustomerLog。
Stability: 3 - Stable
Added in v2.5.0
返回值
从本 AbstractSlamwarePlatform 对象创建出来的一个 ICustomerLogReceiver 对象。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | - | - | - |
注意事项
暂无。
示例代码
ICustomerLogReceiver customerLogReceiver = absPltfm.createCustomerLogReceiver();
void hibernate()
让设备休眠.
Stability: 3 - Stable
Added in v2.5.0
返回值
无返回值。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
无 | 无 | 无 | 无 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
mPlatform.hibernate();
ISystemEventProvider createSystemEventProvider(30)
向用户推送事件信息.
Stability: 3 - Stable
Added in v2.5.0
返回值
ISystemEventProvider。
参数说明
参数名称 | 参数类型 | 描述 | 备注 |
---|---|---|---|
i | int | 时间间隔 | 一段时间内持续获取推送事件信息 |
注意事项
注意不要断开安卓设备和机器人连接。
示例代码
AbstractSlamwarePlatform mPlatform = DeviceManager.connect("192.168.11.1",1445);
ISystemEventProvider systemEventProvider = mPlatform.createSystemEventProvider(30);
ArrayList events = new ArrayList<>();
if (systemEventProvider.readEvents(events))
{
for (SystemEvent systemEvent : events)
{
// to do user something
}
}