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 &lt 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 lines = platform.getLines(ArtifactUsage usage),lines中line的id

示例代码


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
    }
}