...
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 是移动时候的参数,可以为:
参数名称 | 数据类型 | 描述 |
---|---|---|
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)
参考上面的注释,只是移动到很多点。
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)
根据路径保存地图。