Versions Compared

Key

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

...

clearWallById(int id)

移除指定的虚拟墙。(id 不是设定的id,是通过AbstractSlamwarePlatform.getLines(ArtifactUsage var1)返回的line id。)

参数
参数名称描述
id需要移除的虚拟墙的id
clearWalls()

...

参数名称描述
location目标位置
setMap(Map map)

上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。上传地图数据到SLAMWARE。(注意:应与setPose配套使用并确保地图未处于更新或定位状态。在设置地图时候,不可以调用操作机器人的方法比如moveto。)

参数
参数名称描述
map地图
setMap(Map map, MapType type)

...

boolean addLines(ArtifactUsage usage, List<Line> lines)

添加多条虚拟墙或虚拟轨道。 id必须是Arraylist<Line> 添加多条虚拟墙或虚拟轨道。 id必须是Arraylist<Line> lines = AbstractSlamwarePlatform.getLines(ArtifactUsage usage);

boolean removeLineById(ArtifactUsage usage, int id)

...

获取充电座位置。如果找不到充电座则返回(0,0)。

List<ImpactSensorInfo> getSensors()

获取到机器人所有的传感器信息,返回值是list集合。

HashMap<Integer, ImpactSensorValue> getSensorValues()

获取到机器人所有的传感器信息,返回值是hashMap集合。

ImpactSensorValue getSensorValue(Integer var1)

根据key 获取到机器人对应的传感器信息。

IMoveAction moveTo(Location location, MoveOption option, float yaw)

使机器人移动到指定的位置。 location 指定的位置,moveOption 是移动时候的参数,可以为:

参数名称数据类型描述
appendingboolean 用于决定SLAMWARE是清除当前任务建立新的点还是将新的点添加到已有的节点列表中。
milestoneboolean 用于决定SLAMWARE是规划路径到一系列节点还是直接前往。当这个参数为true时,机器人会将上述点视作关键点,通过路径搜索的方式前往目的地;当参数为false时,会被视作普通点,不会启用路径搜索功能。
noSmoothboolean暂时没有开放。
keyPointsboolean 设置是否走虚拟轨道。
preciseboolean 机器人移动的时候精确到点。
withYawboolean是否让机器人停下来的时候旋转。
yawfloat 机器人停下来的时候旋转到一定的角度。机器人停下来的时候旋转到一定的角度。角度范围?
returnUnreachableDirectlyboolean为true时,当机器人规划路径失败后,机器人不进行旋转重新规划。
trackWithOA boolean

trackWithOA 为true时,机器人走虚拟轨道时候,也会进行避障,避障后继续优先走虚拟轨道.(如果不走虚拟轨道,trackWithOA 设置为true,没有作用)。

 speedRatioDouble机器人行走的速度,范围是0到1,(只用于moveBy)。


IMoveAction moveTo(java.util.List locations, MoveOption option, float yaw)

参考上面的注释,只是移动到很多点。

publishDepthCamFrame(int sensorId,DepthCameraFrame depthCameraFrame)

将深度摄像头的数据传递给底盘,其中sensorId 是通过底盘配置的sensorId, depthCameraFrame是深度摄像头数据对象。

com. slamtec slamware action包

...

cancel, getActionName, getProgress, getStatus, waitUntilDone

ISweepMoveAction类

 pause()

让当前机器人的动作暂停。

 resume()

重新恢复当前机器人的动作。


ISweepMoveAction IAction接口

...

HealthInfo.BaseError类

封闭类: HealthInfo

Fields

BaseErrorLevelHealthy
机器人底盘健康错误等级

BaseErrorComponentMotion

机器人底盘运动错误。

...

BaseErrorLevelWarn

底盘错误等级为警告错误。

BaseComponentErrorTypeUnknown 
底盘组件错误类型未知

BaseComponentErrorTypeUser 
底盘组建错误类型为用户系统错误

BaseComponentErrorTypeSystemNone 
(未使用)

BaseComponentErrorTypeSystemEmergencyStop 
底盘组建错误类型为系统急停按钮按下

BaseComponentErrorTypeSystemTemperatureHigh 
底盘组建错误类型为系统温度过高

BaseComponentErrorTypeSystemTemperatureLow
底盘组建错误类型为系统温度过低

BaseComponentErrorTypeSystemWatchDogOverFlow 
底盘组建错误类型为看门狗超时

BaseComponentErrorTypeSystemCtrlBusDisconnected 
底盘组建错误类型为底盘连接断开

...


BaseComponentErrorTypeSystemSlamwareRebooted
底盘组建错误类型为slamware重新启动

BaseComponentErrorTypePowerNone 
(未使用)

BaseComponentErrorTypePowerControllerDown 
底盘组建错误类型为电源控制板连接断开

BaseComponentErrorTypePowerPowerLow 
底盘组建错误类型为低电量

BaseComponentErrorTypePowerOverCurrent 
底盘组建错误类型为电流过高

BaseComponentErrorTypeMotionNone
 (未使用)

BaseComponentErrorTypeMotionControllerDown
底盘组建错误类型为电机控制器异常

BaseComponentErrorTypeMotionMotorAlarm 
底盘组建错误类型为电机报警

BaseComponentErrorTypeMotionMotorDown 
底盘组建错误类型为电机异常

BaseComponentErrorTypeMotionOdometryDown 
底盘组建错误类型为里程计异常

BaseComponentErrorTypeMotionBrushStall 
(未使用)

BaseComponentErrorTypeMotionBlowerStall
(未使用)

BaseComponentErrorTypeSensorNone 
(未使用)

BaseComponentErrorTypeSensorControllerDown 
底盘组建错误类型为传感器板断开

BaseComponentErrorTypeSensorBumperDown
底盘组建错误类型为碰撞传感器断开
BaseComponentErrorTypeSensorCliffDown
底盘组建错误类型为跌落传感器断开

BaseComponentErrorTypeSensorSonarDown 
底盘组建错误类型为超声波传感器断开

BaseComponentErrorTypeSensorDustbinBlock
 (未使用)

BaseComponentErrorTypeSensorDustbinGone 
(未使用)

BaseComponentErrorTypeSensorWallIrDown 
(未使用)

BaseComponentErrorTypeSensorMagTapeTriggered 
底盘组建错误类型为磁传感器触发

BaseComponentErrorTypeSensorMagSelfTestFailed 
底盘组建错误类型为磁传感器自检失败

构造器

BaseError()

创建对象BaseError()。

...

Unknown

目标Slamware固件不支持该命令。

Awake

醒着的模式。(当前雷达处于工作状态,机器人可以立刻工作)。

WakingUp

正在唤醒模式。(当调用wakeup()方法后,就处于当前状态)。

Asleep

睡眠模式。(当前雷达处于休眠状态,机器人不会立刻工作,调用wakeup()方法可以将雷达处于WakingUp状态,然后处于Awake)。


DockingStatus枚举

枚举常量。

Unknown

...

public boolean isDCConnected() 

直流电源连接。

public DockingStatus getDockingStatus() 

Docking状态。

public boolean isCharging()

...

public void setMaps(ArrayList<MapLayer> maps) 

设置Composite map地图信息。

MapKind枚举

枚举常量

EXPLORE_MAP

利用SLAM算法创建的地图。

SWEEP_MAP

清扫操作使用的地图(仅适用于扫地机版本机器人)。

UWB_MAP

机器人根据UWB技术获取位置,形成的地图。

MapType枚举

枚举常量

BITMAP_8BIT

位图,每个像素是一个带符号的8bit integer。

MapLayer类

地图层。

构造器

MapLayer()

创建MapLayer对象。

方法

getMetaData()

获取到地图数据。

getName()

获取到地图名称。

getUsage() 

获取到地图用法。

clear() 

清除所有数据。

PoseMap类

继承自MapLayer。

构造器

PoseMap() 

创造PoseMap对象。

方法

getPoses() 

获取到当前Poses map集合。

setPoses() 

设置当前Poses map集合数据。

PointMap类

构造器

PointMap()

创建PointMap对象。

方法

PointMap(java.util.List points, long timestamp)

根据points集合和timeStamp 创建对象。

getMapArea() 

获取到当前地图区域的rectF。

getPoints() 

获取到所有的点,返回值类型是集合。

setPoints() 

设置所有的点。

RecoverLocalizationMovement枚举

根据当前机器人行为,进行的重定位的枚举。

Unknown

未知当前机器人行为(一般不用)。

NoMove

当前机器人不移动。

RotateOnly

当前机器人仅仅进行旋转时。

Any

当前机器人进行任意行为。

RecoverLocalizationOptions类

重新定位选项。

构造器

RecoverLocalizationOptions()

创建RecoverLocalizationOptions对象。

方法

getMaxRecoverTimeInMilliSeconds() 

获取从新定位的最大时间。

setMaxRecoverTimeInMilliSeconds(Integer maxRecoverMS)

设置从新定位的最大时间。

setRecoverMovementType(RecoverLocalizationMovement movementType)

设置从新定位需要传入的参数,该参数是当前发生的movement。

RecoverLocalizationMovement getRecoverMovementType()

获取从新定位时,当前机器人发生的movement。

SensorType枚举

机器人传感器类型。

 Bumper

碰撞传感器。

 Cliff

防跌落传感器。

 Sonar

超声波传感器。

 DepthCamera

深度摄像头传感器。

 WallSensor

沿墙传感器。

SlamcoreShutdownParam类

底盘重启参数类。

构造器

SlamcoreShutdownParam()

创建SlamcoreShutdownParam对象。

方法

int getRestartTimeIntervalMinute()

获取到底盘多少分钟重启。

setRestartTimeIntervalMinute(int restartTimeIntervalMinute)

设置底盘重启时间参数。

SleepMode 枚举

当前底盘休眠模式。

 Unknown

未知模式。

Awake

醒着的模式。(当前雷达处于工作状态,机器人可以立刻工作)。

WakingUp

正在唤醒模式。(当调用wakeup()方法后,就处于当前状态)。

Asleep

睡眠模式。(当前雷达处于休眠状态,机器人不会立刻工作,调用wakeup()方法可以将雷达处于WakingUp状态,然后处于Awake)。

RestartMode枚举

枚举常量

SOFT

软重启模块,仅重启模块中的核心部分。

...

获取到传感器类型。

ImpactSensorType枚举

Digital 

数字类传感器。

Analog 

模拟信号类传感器。

ImpactSensorValue类

构造器

ImpactSensorValue(long time, float value)

创建对象参数是 time,value。

方法

getTime() 

获取时间。

getValue()

获取值。

com.slamtec.slamware.exceptions包

AlreadyConnectedException类

已连接到机器,异常信息为“Already Connected to the device”。

ConnectionFailException类

连接机器人失败,异常信息为“Connection Failed”。 

ConnectionLostException类

连接丢失,异常信息为“Connection Lost” 。

ConnectionTimeOutException类

连接超时,异常信息为“Connection Time Out”。

InvalidArgumentException类

参数无效,异常信息为“Invalid Argument” 。

OperationFailException类

操作失败,异常信息为“Operation Failed”。 

OutOfResourceException类

资源不足,异常信息为“Out of Resource”。

ParseInvalidException类

参数解析无效,异常信息为“Failed to parse device data” 。

PathFindFailException类

未能找到路径,异常信息为“Failed to find path”。 

RequestFailException类

请求失败,异常信息为“Request Failed” 。

RequestTimeOutException类

请求时间超时,异常信息为“Request Time Out” 。

UnauthorizedRequestException类

请求未授权,异常信息为“Unauthorized request” 。

UnsupportedCommandException类

命令不支持,异常信息为“ Unsupported Command”。

com.slamtec.slamware.message包

DepthCameraFrame类

构造器

DepthCameraFrame() 

创建DepthCameraFrame 对象。

方法

setMinValidDistance(float minValidDistance) 

设置深度摄像头最小探测的距离,单位是米。

 float getMinValidDistance() 

获取深度摄像头最小探测的距离,单位是米。

setMaxValidDistance() 

设置深度摄像头最大探测的距离,单位是米。

float getMaxValidDistance() 

获取深度摄像头最大探测的距离,单位是米。

setMinFovPitch(float MinFovPitch) 

设置深度摄像头垂直方向朝下最大探测仰度,单位是弧度。

float getMinFovPitch() 

获取深度摄像头垂直方向朝下最大探测仰度,单位是弧度。

setMaxFovPitch(float MaxFovPitch) 

设置深度摄像头垂直方向朝上最小探测的仰角,单位是弧度。

float getMaxFovPitch() 

获取深度摄像头垂直方向朝上最小探测的仰角,单位是弧度。

setMinFovYaw(float MinFovYaw ) 

设置深度摄像头水平方向朝左最大探测的角度,单位是弧度。

float getMinFovYaw() 

获取深度摄像头水平方向朝左最大探测的角度,单位是弧度。

setMaxFovYaw(float MaxFovYaw) 

设置深度摄像头水平方向朝右最小探测的角度,单位是弧度。

float getMaxFovYaw() 

获取深度摄像头水平方向朝右最小探测的角度,单位是弧度。

setCols(int cols) 

设置深度摄像头数据多少列。

int getCols()

获取深度摄像头数据多少列。

setRows(int rows) 

设置深度摄像头数据多少行。

int getRows() 

获取深度摄像头数据多少行。

setData(ArrayList<Float> data) 

设置深度摄像头采集到的数据,数据大小为行*列(cols*rows),数据的排列由左到右依次往下 ,float的单位是米。

ArrayList<float> getData() 

获取深度摄像头采集到的数据,数据大小为行*列(cols*rows),数据的排列由左到右依次往下 ,float的单位是米。

com.slamtec.slamware.sdp包

Action类

继承自 IAction。

方法

 cancel() 

取消本次操作。

 getActionName()

获取动作名称。返回值为动作名称(string)。

 getProgress() 

获取动作进程(0~1)。返回值为动作进程(double)。

 getStatus() 

获取动作状态。返回值为动作状态。

 waitUntilDone() 

等待动作完成。返回值为完成的动作结果。

 isEmpty() 

判断当前action是否为空。 igetActionId

 getActionId() 

获取当前action的id。

 String getActionName()

获取到当前action的名字。

 String getReason()

获取当前action结束后返回的字符串,成功后会返回不为null且长度为0的字符串,失败后会返回失败原因的字符串。
如:

"failed"表示action失败;
 "aborted"表示action被打断(主动调用cancel或者在action没有结束得时候启动新的action);
“unreachable”,表示目标点不可达(搜索路径失败);
“unhealthy"表明当前机器人状态不是健康状态,可以通过getRobotHealth()去看具体的信息;
"lifted",表明当前机器人离开地面,"low_localization_quality"表明当前机器人定位质量很低;
对于moveTo接口加上MoveOptionFlagKeyPoints这个flag,也就是虚拟轨道的moveto:
getReason()返回的“blocked[lidar;wall;contact;depth_camera;sonar;cliff]",表示在虚拟轨道导航的时候前方有障碍物导致失败."[]"内为具体原因,用","分隔,可以有一个或者多个,(触发几个就返回几个)表示发现障碍物的传感器种类.lidar:激光雷达;wall:虚拟墙;contact:碰撞传感器;depth_camera:深度摄像头;sornar:超声波;cliff:跌落传感器。
 releaseCPointer()

释放所有指针资源。

CompositeMapHelper 

地图工具类。

构造器

CompositeMapHelper() 
创建CompositeMapHelper对象。

方法

loadFile(String var1)

根据路径加载地图。

saveFile(String var1, CompositeMap var2)

根据路径保存地图。