Skip to content

AXSDK1_0_cn

mzh edited this page Dec 13, 2023 · 6 revisions

介绍

欢迎来到机器人开发之旅。基于 AutoXing 机器人 SDK,您可以快速实现对机器人的全面控制,并创建您自己的机器人。本文档主要描述如何使用 JavaScript 语言开发机器人应用程序。

SDK 组织结构

机器人地图和定位

与地图数据和机器人自身位置相关的操作,如地图切换和定位。

机器人运动控制

提供机器人运动控制、状态检索和相关参数设置的接口。

硬件控制

用于与机器人相关的硬件设备的控制接口,例如喷雾器(用于消毒机器人)、箱门(用于送货机器人)和LED灯带控制。

任务操作

为机器人任务操作提供控制接口。

地图操作

提供基于Web的地图显示和编辑的API。

先决条件

所有SDK都提供为Node.js模块。需要开发者具备一定的Node.js和JavaScript的理解。如果你以前没有使用过Node.js和JavaScript,请阅读Node.js和JavaScript的官方文档:


入门指南

开发环境设置

开发机器人应用程序需要一个Node.js环境和一个IDE工具。

Node.js环境安装

机器人应用的编辑和调试工具是基于Node.js开发的。为了正确使用它们,您需要配置Node.js运行环境。

根据您的实际情况,下载并安装Node.js运行环境:https://nodejs.org/en/download/

IDE 工具

机器人应用程序的开发使用 JavaScript 语言进行。我们推荐使用 WebStorm 或者 Visual Studio Code 进行开发。

将SDK导入到您的项目中

# npm i -save-dev @autoxing/robot-js-sdk

SDK 初始化示例

在使用之前,必须先初始化SDK。以下是SDK初始化代码示例:

import { AXRobot, AppMode } from "@autoxing/robot-js-sdk";

// 创建AXRobot实例
const axRobot = new AXRobot("<应用ID>", "<应用密钥>", AppMode.WAN_APP);

// 初始化AXRobot实例
const successed = await axRobot.init();
if (successed) {
  try {
    // 连接到指定的机器人
    const res = await axRobot.connectRobot({
      robotId: "<机器人ID>"
    });
    console.log("连接成功: " + res.robotId);
    // 使用机器人进行操作
  } catch(err) {
    console.log(err.errText)
  }
} else {
  // 初始化失败
}
  • 应用ID - 应用标识符,可从相关运营商处获取
  • 应用密钥 - 数据请求密钥,可从相关运营商处获取

示例

SDK 自定义示例

在使用之前,必须先初始化SDK。以下是SDK自定义代码示例:

import { AXRobot, AppMode } from "@autoxing/robot-js-sdk";

// 创建自定义的AXRobot实例
const axRobot = new AXRobot("<应用ID>", "<应用密钥>", AppMode.WAN_APP, "<服务器地址>", "<Websocket地址>");

// 初始化AXRobot实例
const successed = await axRobot.init();
if (successed) {
  try {
    // 连接到指定的机器人
    const res = await axRobot.connectRobot({
      robotId: "<机器人ID>"
    });
    console.log("连接成功: " + res.robotId);
    // 使用机器人进行操作
  } catch(err) {
    console.log(err.errText)
  }
} else {
  // 初始化失败
}
  • 应用ID - 应用标识符,可从相关运营商处获取
  • 应用密钥 - 数据请求密钥,可从相关运营商处获取
  • 服务器地址 - 自定义服务器地址
  • Websocket地址 - 自定义Websocket地址(可选)
  • 注意:
  • 1: 使用SDK版本v1.0.74或以上版本
  • 2: 如果只提供了服务器地址而未提供Websocket地址,Websocket地址将根据服务器地址自动生成
  • 示例: http://127.0.0.1:8080/ -> ws://127.0.0.1:8080/、https://127.0.0.1:8080/ -> wss://127.0.0.1:8080/
  • 3: 如果提供了Websocket地址,则使用提供的地址

示例

地图显示示例

在HTML文件中定义一个地图容器:

...
<div id="map" style="width:100%;height:500px;"></div>
...

初始化地图:

import { AXRobot, AppMode } from "@autoxing/robot-js-sdk";

// 创建AXRobot实例
const axRobot = new AXRobot("<应用ID>", "<应用密钥>", AppMode.WAN_APP);
const success = await axRobot.init();

if (success) {
// 创建地图
const axMap = axRobot.createMap("map"); // map是HTML容器标签的id

// 设置要显示的地图区域
axMap.setAreaMap("<区域ID>");  // areaId是地图区域的标识符

// 使用地图进行操作

示例

SDK 参考信息

SDK 初始化

初始化

init() -> {Promise.<boolean>}

初始化实例

返回值 Promise.<boolean>

初始化是否成功

  • true - 成功
  • false - 失败

示例

import { AXRobot, AppMode } from "@autoxing/robot-js-sdk";

const axRobot = new AXRobot("<appId>", "<appSecret>", AppMode.WAN_APP);
const successed = await axRobot.init();
if (successed) {
  // 初始化成功
  ...
} else {
  // 初始化失败
  ...
}

发布

destroy() -> {void}

销毁机器人操作实例。

参数

返回值

示例

...
axRobot.destroy();
...

连接到机器人

连接

connectRobot(req) -> {Promise}

连接到机器人。

参数

名称 数据类型 描述
req ReqConnect 连接参数

返回 Promise

示例

// 初始化机器人操作实例
...
try {
  const res = await axRobot.connectRobot({
    robotId: "<robotId>"
  });
  
  console.log("连接成功: " + res.robotId);
  // 做一些操作
} catch(err) {
  console.log(err.errText);
}

获取SDK版本

getVersion() -> {string}

获取SDK的版本号。

参数

返回值 string

表示SDK版本号的字符串。

示例

const version = axRobot.getVersion();
console.log(version);

设置语言

setLanguage(language) -> {Promise.<boolean>}

设置语言

参数

名称 类型 描述
language number 语言标识符
1 - 简体中文
2 - 英语
3 - 繁体中文
4 - 日语
5 - 韩语

返回 Promise.<boolean>

操作是否成功

  • true - 成功
  • false - 失败

示例

...
success := await axRobot.setLanguage(1);
if (success) {
  ...
} else {
  ...
}
...


地图和位置

创建地图

createMap(containerId, backgroundColor opt) -> {Promise.<AXMap>}

创建一个地图。

参数

名称 数据类型 描述 备注
containerId 字符串 地图容器的HTML标签ID
backgroundColor 字符串 可选参数; 地图的背景颜色 "#eeeeee"
glyphs 字符串 可选参数; 地图的字体库 1: 对于Web平台,可以使用http、https或相对路径
2: 对于非Web平台,必须使用http或https

返回值 Promise.<AXMap>

地图实例

示例

...
const map = await axRobot.createMap("map", "#eeeeee");
...

切换地图

resetMap(areaId) -> {Promise.<boolean>}

重置机器人的地图区域。

参数

名称 数据类型 描述
areaId 字符串 地图区域标识符

返回值 Promise.<boolean>

指示设置是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.resetMap("<areaId>");
...

重新定位

resetPose(mapPose) -> {Promise.<boolean>}

重置机器人的位置姿态。

参数

名称 数据类型 描述 备注
mapPose MapPose 位置姿态
isChargingPose boolean 可选项;是否为充电桩位置 默认为充电桩位置
false: 当前机器人的位置姿态, true: 充电桩位置

返回值 Promise.<boolean>

设置是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await resetPose({
  areaId: "<areaId>",
  x: 0,
  y: 0,
  yaw: 0
});
...

更新地图

updateMap() -> {Promise.<boolean>}

更新机器人的地图数据。

参数

返回 Promise.<boolean>

更新是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.updateMap();
...

获取当前地区站点

getPlaceList() -> {any}

获取当前地区站点列表的函数。

参数

返回值 any

站点列表。

示例

...
const list = axRobot.getPlaceList();
...

获取所有站点

getPoiList(req) -> {Promise.<any>}

获取站点列表。

参数

名称 数据类型 描述
req RequestParam 请求参数

返回值 Promise.<any>

站点列表

示例

...
const result = await getPoiList({
  robotId: "<robotId>"
});

console.log(result.count); // 符合条件的POI总数
console.log(result.list); // 站点列表
result.list.forEach(poi => {
  console.log(poi.areaId); // 站点所属区域的标识符
  console.log(poi.buildingId); // 站点所属建筑物的标识符
  console.log(poi.businessId); // 站点所属业务的标识符
  console.log(poi.floor); // 站点所在楼层
  console.log(poi.id); // 站点的标识符
  console.log(poi.name); // 站点的名称
  console.log(poi.type); // 站点的类型
  console.log(poi.coordinates); // 站点坐标,格式为[x, y],例如[13.411045089526397, -6.95027412476179]
  console.log(poi.yaw); // 站点的朝向角度,以度为单位
});
...

获取机器人绑定的充电站

getRobotOwnCharges() -> {Promise.<any>}

获取机器人绑定的充电站列表。

参数

返回 Promise.<any>

充电站列表

示例

...
const charges = await axRobot.getRobotOwnCharges();

console.log(charges.count); // 充电站数量
console.log(charges.list); // 充电站列表
charges.list.forEach(chargingPile => {
  console.log(chargingPile.areaId); // 充电站所在区域的标识符
  console.log(chargingPile.buildingId); // 充电站所在建筑物的标识符
  console.log(chargingPile.businessId); // 充电站所属的业务的标识符
  console.log(chargingPile.floor); // 充电站所在楼层
  console.log(chargingPile.id); // 充电站的标识符
  console.log(chargingPile.name); // 充电站的名称
  console.log(chargingPile.coordinate); // 充电站的坐标,格式为 [x, y],例如 [13.411045089526397,-6.95027412476179]
  console.log(chargingPile.yaw); // 充电站的方向角度
});
...

获取有效区域列表

getEffectiveAreaList() -> {Promise.<any>}

获取有效区域列表。

参数

返回值 Promise.<any>

字段名称 类型 描述
status 数字 响应状态码
200 - 成功
400 - 参数错误
500 - 内部服务器错误
message 字符串 响应状态描述
data 对象 响应数据
data.effective 数组 有效区域列表 - 实际楼层
data.ineffective 数组 无效区域列表 - 实际楼层
data.effectiveFloorNames 数组 有效区域列表 - 显示楼层
data.ineffectiveFloorNames 数组 无效区域列表 - 显示楼层
{
  "status": 200,
  "message": "ok",
  "data": {
    "effective": [-1, 1, 3],
    "ineffective": [-2, 2, 5, 6, 7],
    "effectiveName": [-1, 1, 3],
    "ineffectiveName": [-2, 2, 5, 6, 7]
  }
}

示例

...
const result = await getEffectiveAreaList();
// 进行相关操作
...

获取机器人区域

getAreaList() -> {Promise.<any>}

获取区域列表。

参数

返回值 Promise.<any>

区域列表。

示例

...
const result = await axRobot.getAreaList();

const data = result.data
console.log(data.count); // 地图区域的数量
console.log(data.list); // 地图区域列表
data.list.forEach(area => {
  console.log(area.id); // 区域标识符
  console.log(area.buildingId); // 区域所属的建筑标识符
  console.log(area.businessId); // 区域所属的业务标识符
  console.log(area.name); // 区域名称
  console.log(area.floor); // 区域楼层
  console.log(area.createTime); // 区域创建时间
});
...

获取机器人的业务标识符

getBusinessId(mode) -> {Promise.<string>}

获取机器人的业务标识符

参数

名称 类型 描述
mode number 可选; 机器人模式

返回值 Promise.<string>

业务标识符

示例

...
const businessId = await axRobot.getBusinessId();
...

获取区域图片

getAreaPic(areaId) -> {Promise.<any>}

获取区域地图的图片。

参数

名称 数据类型 描述
areaId string 区域标识符

返回值 Promise.<any>

区域地图图片的数据流。

示例

...
const mapData = await axRobot.getAreaPic("<areaId>");
...

设置机器人地图轨迹跟踪

setEnableTrack(enable) -> void

启用或禁用机器人的地图轨迹跟踪(需要地图显示)。

参数

参数名 数据类型 描述
enable boolean 是否跟踪机器人轨迹

返回值

示例

...
axRobot.setEnableTrack(true);
...

机器人移动


开始控制运动

beginControl() -> {void}

开始控制机器人运动。

参数

返回值

示例

...
axRobot.beginControl();
...

结束控制移动

endControl() -> {void}

关闭机器人的移动控制。

参数

返回值

示例

...
axRobot.endControl();
...

单步运动

motionFor(type) -> {void}

机器人运动控制。

参数

名称 数据类型 描述
type MotionType 运动类型

返回值

示例

...
axRobot.motionFor(MotionType.Forward);
...

双步运动

motionControl(linearVelocity, angularVelocity) -> {void}

控制机器人的运动。

参数

名称 数据类型 描述
linearVelocity number 线速度
angularVelocity number 角速度

返回值

示例

...
axRobot.motionControl(0.1, 0.2);
...

设置紧急状态

setEmergency(type) -> {void}

将机器人设置为紧急停止状态。

参数

名称 数据类型 描述
type EmergencyType 紧急停止方法。

返回值

示例

...
axRobot.setEmergency(EmergencyType.Start); // 进入紧急停止状态
...
axRobot.setEmergency(EmergencyType.Stop); // 结束紧急停止状态
...

固定点移动

moveTo(pose) -> {void}

机器人移动到指定的位置。

参数

名称 数据类型 描述
pose Pose 机器人姿态

返回值

示例

...
axRobot.moveTo({
  x: 0,
  y: 0,
  yaw: 0
});
...

返回充电桩

goHome(pose) -> {Promise.<boolean>}

控制机器人返回充电桩。

参数

名称 数据类型 描述
pose 姿态 姿态

返回值 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
axRobot.goHome({
  x: 0,
  y: 0,
  yaw: 0
});
...

订阅机器人状态

subscribeRealState(listener) -> {void}

订阅机器人的实时状态。

参数

名称 数据类型 描述
listener OnRobotListner 订阅机器人实时状态的回调函数。

返回值

示例

...
axRobot.subscribeRealState({
  onStateChanged: state => {
    console.log(state.isManualMode); // 机器人是否处于手动模式
    console.log(state.isTasking); // 机器人是否正在执行任务
    console.log(state.isCharging); // 机器人是否正在充电
    console.log(state.isRemoteMode); // 机器人是否处于远程控制模式
    console.log(state.battery); // 当前电池电量(百分比)
    console.log(state.robotId); // 机器人标识符
    console.log(state.speed); // 当前速度(米/秒)
    console.log(state.areaId); // 当前区域ID
    console.log(state.isEmergencyStop); // 机器人是否处于紧急停止状态
    console.log(state.x); // 位置坐标的x分量
    console.log(state.y); // 位置坐标的y分量
    console.log(state.yaw); // 当前角度(弧度)
    console.log(state.locQuality); // 当前定位质量(0-100)
    console.log(state.hasObstruction); // 当前是否有障碍物
    console.log(state.errors); // 错误代码
    console.log(state.isGoHome); // 机器人是否正在返回充电桩
    console.log(state.timestamp); // 机器人状态的时间戳
    
    // 做一些操作
  }
});
...

获取机器人当前状态

getState() -> {Promise.<any>}

获取机器人当前状态。

参数

返回值 Promise.<any>

机器人的当前状态。

示例

...
const state = await axRobot.getState();
console.log(state.isManualMode); // 是否处于手动模式
console.log(state.isTasking); // 是否正在执行任务
console.log(state.isCharging); // 是否正在充电
console.log(state.isRemoteMode); // 是否处于遥控模式
console.log(state.battery); // 当前电池电量(百分比)
console.log(state.robotId); // 机器人标识符
console.log(state.speed); // 当前速度(米/秒)
console.log(state.areaId); // 当前区域ID
console.log(state.isEmergencyStop); // 是否处于紧急停止模式
console.log(state.x); // 位置坐标的x分量
console.log(state.y); // 位置坐标的y分量
console.log(state.yaw); // 当前角度(弧度)
console.log(state.locQuality); // 当前定位质量(0-100)
console.log(state.hasObstruction); // 当前是否有障碍物
console.log(state.errors); // 错误代码
console.log(state.isGoHome); // 是否正在返回充电座
console.log(state.timestamp); // 机器人状态的时间戳

// 做一些操作
...

设置速度

setSpeed(speed) -> {Promise.<boolean>}

设置机器人移动的速度。

参数

名称 数据类型 说明
speed number 移动速度,单位为米/秒

返回值 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.setSpeed(0.5);
...

设置音量

setVolume(volume, mode) -> {Promise.<boolean>}

设置机器人的音量。

参数

名称 类型 描述
volume number 音量级别,范围为0~100
mode number 执行模式
1 - 上位机
2 - 底盘

返回 Promise.<boolean>

指示设置是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.setVolume(50, 1);
...

停止背景音乐

stopPlayAudio(mode) -> {Promise.<boolean>}

停止播放背景音乐。

参数

名称 类型 描述
mode number 1 - PC
2 - 底盘

返回 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.stopPlayAudio(1);
...

设置音频播放

setPlayAudio(playAudio) -> {Promise.<boolean>}

设置音频播放。

参数

名称 类型 描述
playAudio PlayAudio 音频播放内容

返回值 Promise.<boolean>

是否设置成功

  • true - 设置成功
  • false - 设置失败

示例

...
let playAudio = {
    mode: 1,
    url: "",
    audioId: "38001",
    volume: 10,
    interval: -1,
    num: 1,
    duration: 5
}
const success = await axRobot.setPlayAudio(playAudio);
...

清除轮子过载

removeWheelOverload() -> {Promise.<boolean>}

清除轮子过载。

参数

返回值 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.removeWheelOverload();
...

获取机器人ID

getRobotId() -> {string}

获取当前连接机器人的标识符。

参数

返回值 string

机器人ID

示例

...
const robotId = axRobot.getRobotId();
...

重新启动机器人

restartRobot() -> {Promise.<boolean>}

重新启动机器人。

参数

返回 Promise.<boolean>

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.restartRobot();
...

设置全局位置

setGlobalPosition() -> {Promise.<boolean>}

设置机器人的全局位置。

参数

返回 Promise.<boolean>

设置是否可靠。

  • true - 可靠
  • false - 不可靠

示例

...
const success = await axRobot.setGlobalPosition();
...

设置服务器信息

setServerInfos(serverInfo) -> {Promise.<boolean>}

设置机器人连接的服务器信息。

参数

名称 类型 描述
serverInfo ServerInfo 服务器信息

返回值 Promise.<boolean>

操作是否成功

  • true - 成功
  • false - 失败

示例

...
let serverInfo = {
    ip: "http://127.0.0.1:8080/",
    type: -1,
    offline: 0
}
const success = await axRobot.setServerInfos(serverInfo);
...

设置WiFi

setWifi(ssId, password) -> {Promise.<boolean>}

设置机器底盘的WiFi。

参数

名称 类型 描述
ssId string WiFi名称
password string 密码

返回 Promise.<boolean>

指示操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.setWifi("test-wifi", "123456");
...

设置网络模式

setRouteMode(mode) -> {Promise.<boolean>}

设置机器人的网络模式。

参数

名称 类型 描述
mode number 网络类型
0:外壳供电网络
1:底盘WiFi供电网络
2:底盘4G供电网络
3:底盘供电网络

返回值 Promise.<boolean>

是否成功

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.setRouteMode(0);
...

获取网络模式

getRouteMode() -> {Promise.<string>}

获取机器人的网络模式。

参数

返回 Promise.<string>

网络模式

示例

const mode = await axRobot.getRouteMode();
console.log(mode); 
  • 注意: 可能的返回值: etho_first: "头部连接WiFi上网" / "头部连接4G上网" (取决于头部是否连接WiFi), wlan0_first: "底盘连接WiFi上网", usbo_first: "底盘连接4G上网"

硬件控制

喷雾器控制

方法

openSprayer(gear) → {Promise.<boolean>}

打开喷雾器。

参数

名称 类型 描述
gear number 档位水平

返回值 Promise.<boolean>

是否成功

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.openSprayer("<gear>");
...

closeSprayer() → {Promise.<boolean>}

关闭喷雾器。

返回值 Promise.<boolean>

是否成功

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.closeSprayer();
...

箱门控制

方法

openBoxDoor(doorIds, mode) → {Promise.<boolean>}

打开箱门。

参数

名称 类型 必填 描述
doorIds number[] 箱门编号列表,取值范围为1至4。
mode number 执行模式:1=上位机,2=底盘;默认值:1。

返回值 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
// 打开1号门
const success = await axRobot.openBoxDoor([1], 1);
...

closeBoxDoor(doorIds, mode) → {Promise.<boolean>}

关闭箱门。

参数

名称 类型 必填 描述
doorIds number[] 箱门编号列表,取值范围为1至4。
mode number 执行模式:1=上位机,2=底盘;默认值:1。

返回值 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
// 关闭2号门
const success = await axRobot.closeBoxDoor([2], 1);
...

灯带控制

方法

openLightBelt(lightBelt) → {Promise.<boolean>}

打开灯带。

参数

名称 类型 描述
lightBelt LightBelt 灯带

返回值 Promise.<boolean>

操作是否成功

  • true - 成功
  • false - 失败

示例

...
let lightBelt = {
  mode: 1,
  color: LightColor.Green,
  indexs: [
    { index: 0, num: 6 }
  ]
}
const success = await axRobot.openLightBelt(lightBelt);
...

closeLightBelt(lightBelt) → {Promise.<boolean>}

关闭灯带。

参数

名称 类型 描述
lightBelt LightBelt 灯带

返回值 Promise.<boolean>

操作是否成功

  • true - 成功
  • false - 失败

示例

...
let lightBelt = {
	mode: 1,
  color: LightColor.Green,
	indexs: [
    { index: 0, num: 6 }
  ]
}
const success = await axRobot.closeLightBelt(lightBelt);
...

动作任务

订阅任务状态

方法

subscribeTaskState(listener) -> {void}

订阅任务状态。

参数

名称 类型 描述
listener OnTaskListener 任务状态回调

返回值 void

示例

...
axRobot.subscribeTaskState({
  onTaskChanged: (state: any) => {
    console.log(state.actType); // 任务状态动作类型 1000 - 任务开始 14 - 出发 16 - 到达 40 - 等待交互 1001 - 任务完成
    console.log(state.data); // 具体任务状态数据
  }
});
...

开始任务

方法

startTask(task) -> {Promise.<boolean>}

开始执行任务。

参数

名称 类型 描述
task 任务信息 任务信息

返回值 Promise.<boolean>

任务是否成功执行

  • true - 成功
  • false - 失败

示例

...
let task = {
  name: "多点配送",
  runNum: 1,
  taskType: 2,
  runType: 21,
  pts: [
    {
      x: 0.11,
      y: 1.22,
      yaw: 89, 
      areaId: "xxxxxxxxxxxxxx",
      type: -1,
      ext: {},
      stepActs: [
        {
          type: ActionType.PlayAudio,
          data: {...}
        },
        ...
      ]
    },
    ...
  ]
}
const success = await axRobot.startTask(task);
...

暂停任务

方法

pauseTask() -> {Promise.<boolean>}

暂停当前正在执行的任务。

返回值 Promise.<boolean>

成功指示器

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.pauseTask();
...

继续任务

方法

continueTask() -> {Promise.<boolean>}

继续当前暂停的任务,主要用于涉及人机交互的任务。

返回 Promise.<boolean>

成功状态

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.continueTask();
...

取消任务

方法

cancelTask() -> {Promise.<boolean>}

取消当前正在执行的任务。

返回 Promise.<boolean>

成功状态

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.cancelTask();
...

恢复任务

resumeTask() -> {Promise.<boolean>}

恢复任务。

参数

返回值

执行是否成功

  • true - 成功
  • false - 失败

示例

...
const success = await resumeTask();
...

获取当前任务

getCurrentTask() -> {Promise.<any>}

获取当前正在执行的任务的信息。

返回 Promise.<any>

名称 类型 描述
task any 任务信息

示例

...
let task = await axRobot.getCurrentTask();
console.log(task.isCancel); // 任务是否被取消
console.log(task.runType); // 运行类型;0 - 定点杀人,1 - 临时杀人,20 - 快递送餐,21 - 多点送餐,22 - 领航,23 - 巡航,24 - 返回,25 - 去充电站
console.log(task.businessId); // 任务所属的业务标识
console.log(task.robotId); // 机器人标识
console.log(task.buildingId); // 建筑物标识
console.log(task.isExcute); // 是否已执行
console.log(task.taskType); // 任务类型;0 - 杀人,1 - 返回充电站,2 - 餐馆
console.log(task.taskPts); // 任务节点信息,请参考任务启动说明中的详细信息
console.log(task.createTime); // 任务创建时间
console.log(task.runNum); // 任务执行次数
console.log(task.name); // 任务名称
console.log(task.busiType); // 业务类型
console.log(task.isDel); // 是否已删除
console.log(task.taskId); // 任务标识
...

更新任务

updateTask(taskId, pts) -> {Promise.<boolean>}

更新任务。

参数

名称 类型 描述
taskId string 任务标识符
pts Array 任务点列表;参考用于执行任务的 taskPts 参数

返回值 Promise.<boolean>

更新是否成功

  • true - 成功
  • false - 失败

示例

...

const success = await axRobot.updateTask("<taskId>", <pts>);
...

重新启动任务

方法

restartTask(taskId) -> {Promise.<boolean>}

重新启动已暂停或已完成的任务。

参数

名称 类型 描述
taskId string 任务 ID

返回值 Promise.<boolean>

是否成功

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.restartTask("<taskId>");
...

巡逻路线

设置/更新巡航路线

saveCruise(cruiseInfo) -> {Promise<boolean>}

这个函数用于设置或更新巡航路线。

参数

名称 类型 描述
cruiseInfo CruiseInfo 巡航路线的信息

返回值 Promise.<boolean>

操作是否成功的返回值:

  • true - 成功
  • false - 失败

示例

...
let cruiseInfo = {
    id: 12,
    name: "test-cruise",
    businessId: "",
    sites: [{
        poiId: "6423afdb1162805312f27a75",
        poiName: "test-poi"
    }],
    remark: ""
}
const success = await axRobot.saveCruise(cruiseInfo);
...

获取游轮

getCruises() -> {Promise<any>}

获取游轮信息。

参数

名称 类型 描述
businessId string 可选;业务标识符

返回 Promise.<any>

名称 类型 描述
result any 游轮信息

示例

...
const result = await axRobot.getCruises(cruiseInfo);
console.log(result.status)
console.log(result.data)
let cruise = result.data[0]
console.log(cruise.id)
console.log(cruise.name)
console.log(cruise.businessId)
console.log(cruise.sites)
...

删除巡航路线

deleteCruise(ids) -> {Promise<boolean>}

删除巡航路线。

参数

参数名 类型 描述
ids number[] 巡航路线标识的集合

返回 Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.deleteCruise(ids); 
...

将巡航路线同步到云端

syncCruiseCloud(businessId) -> {Promise<boolean>}

将巡航路线同步到云端。

参数

名称 类型 描述
businessId string 业务 ID

返回值: Promise.<boolean>

操作是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.syncCruiseCloud(businessId);
...

将本地巡航路线上传至云端

syncCruiseLocal() -> {Promise<boolean>}

将本地巡航路线上传至云端。

参数

返回值 Promise.<boolean>

上传是否成功。

  • true - 成功
  • false - 失败

示例

...
const success = await axRobot.syncCruiseLocal();
...

地图操作

地图交互

setAreaMap(areaId) -> {void}

设置地图区域

参数

名称 数据类型 描述
areaId 字符串 地图区域 ID

返回值

示例

...
axMap.setAreaMap("<areaId>");
...

setMapCenter(coordinates) -> {void}

设置地图中心点

参数

名称 数据类型 描述
coordinates 数组 中心点坐标 [x, y]

返回值

示例

...
axMap.setMapCenter([0, 0]);
...

zoomTo(zoom) -> {void}

设置地图缩放级别

参数

名称 数据类型 描述
zoom 数字 地图缩放级别,取值范围为 0~22

返回值

示例

...
axMap.zoomTo(10);
...

fly(coordinates) -> {void}

将地图飞到特定点

参数

名称 数据类型 描述
coordinates 数组 目标点坐标 [x, y]

返回值

示例

...
axMap.fly([0, 0]);
...

getCurrentPointPosition(featureId) -> {object}

获取当前选中点的位置信息

参数

名称 数据类型 描述
featureId 字符串 点的 ID

返回值 object

姿态信息

  • x - 坐标的 x 分量
  • y - 坐标的 y 分量
  • yaw - 方向角

示例

...
const pose = axMap.getCurrentPointPosition("<featureId>");

console.log(pose); // {x:1, y: 2, yaw: 3}
...

getFeature(id) -> {object}

根据 ID 获取特征信息

参数

名称 数据类型 描述
id 字符串 特征的 ID

返回值 object

特征信息;结构参考 https://geojson.org/

示例

...
const feature = axMap.getFeature("<featureId>");
...

getPlaceList() -> {any}

获取所有位置点

参数

返回值 any

位置点列表;结构参考 https://geojson.org/

示例

...
const list = axMap.getPlaceList();
...

setClickMapCallback(callback) -> {void}

设置点击地图的回调函数

参数

名称 数据类型 描述
callback 函数 回调函数

返回值

示例

...
axMap.setClickMapCallback(val => {
  console.log(val.type); // 始终为 'LayerPoint'
  console.log(val.data); // 被点击的元素,数据结构参考 GeoJSON
});
...

setSelectedFeatures(featureId) -> {void}

根据 ID 选择地图中的特征

参数

名称 数据类型 描述
featureId 字符串 特征的 ID,多个特征的 ID 用逗号分隔

返回值

示例

...
axMap.setSelectedFeatures("<featureId>");
...

叠加操作

addPoint(coordinates, properties opt) -> {string}

向地图中添加一个点。

参数

名称 数据类型 描述
coordinates number[] 点的坐标 [x, y]
properties object 可选;自定义属性

返回值 string

被添加点的特征标识符。

示例

...
axMap.addPoint([0, 0], {
  name: "test", // 名称
  color: "#f00", // 颜色
  radius: 2, // 半径,以像素为单位
  yaw: 0, // 方向角
  enableSelect: true // 是否允许选择
});
...

addLine(coordinates, properties opt) -> {string}

向地图中添加一条线。

参数

名称 数据类型 描述
coordinates array[] 线上的坐标数组
properties object 可选;自定义属性

返回值 string

被添加线的特征标识符。

示例

...
axMap.addLine([[0, 0], [10, 10]], {
  color: "#f00", // 颜色
  width: 2, // 宽度,以像素为单位
  dash: 'dash' // 虚线
});
...

addMarker(imgSrc, coordinates, yaw) -> {any}

向地图中添加一个标记。

参数

名称 数据类型 描述
imgSrc string 图片的URL
coordinates number[] 标记的坐标 [x, y]
yaw number 方向角

返回值 any

标记对象。

示例

...
const marker = axMap.addMarker("<imgSrc>", [0, 0], 0);
...

setMarkerProperties(marker, coordinates, yaw) -> {void}

设置标记的属性。

参数

名称 数据类型 描述
marker any 标记对象
coordinates number[] 新的坐标 [x, y]
yaw number 新的方向角

返回值

示例

...
axMap.setMarkerProperties(marker, [1, 1], 0);
...

removeMarker(marker) -> {void}

从地图中移除一个标记。

参数

名称 数据类型 描述
marker any 标记对象

返回值

示例

...
axMap.removeMarker(marker);
...

地图编辑

clearAreaMap() -> {void}

清除区域地图。

参数

返回值

示例

...
axMap.clearAreaMap();
...

clearFeature() -> {void}

清除地图数据。

参数

返回值

示例

...
axMap.clearFeature();
...

deleteFeature(id) -> {void}

删除指定 ID 的要素。

参数

名称 数据类型 描述
id string 要素 ID

返回值

示例

...
axMap.deleteFeature("<featureId>");
...

editPose(coordinates, properties opt) -> {void}

设置当前位姿的位置。

参数

名称 数据类型 描述
coordinates array 坐标 [x, y]
properties object 可选; 自定义属性

返回值

示例

...
axMap.editPose([0, 0]);
...

endEditPose() -> {object}

取消设置当前位姿的位置。

参数

返回值 object

编辑后的位姿。

示例

...
const post = axMap.endEditPose();
...

其他

beautifyMapImg(imgUrl, obstacle, throughArea, other) -> {Promise.<string>}

美化地图图片

参数

名称 数据类型 描述
imgUrl string 源图片的URL
obstacle object 障碍物的RGBA色值
示例: {r: 42, g:124, b:128, a:255}
throughArea object 通过区域的RGBA色值
other object 其他区域的RGBA色值

返回值 Promise.<string>

美化后图片的URL

示例

...
const newImg = await axMap.beautifyMapImg("<imgUrl>", {...}, {...}, {...});
...

project(coordinates) -> {array.<number>}

将地图坐标转换为像素偏移量

参数

名称 数据类型 描述
coordinates array 地图坐标 [x, y]

返回值 array.<number>

转换后的像素偏移量

示例

...
const pixel = axMap.project([0, 0]);
...

destroy() -> {void}

销毁地图对象

参数

返回值

示例

...
axMap.destroy();
...

数据统计

###总统计信息

getStatisticsTotal() -> {Promise<any>}

该方法检索总统计数据。

参数

名称 类型 描述
statisticsTotal StatisticsTotal

返回Promise.<any>

名称 类型 描述
result any 统计信息

示例

...
const result = await axRobot.getStatisticsTotal(statisticsTotal);
console.log(result)
...

单个任务统计

getSingleTaskStatistics() -> {Promise<any>}

获取单个任务的统计信息。

参数

名称 类型 描述
singleTaskStatistics SingleTaskStatistics 单个任务统计信息

返回类型 Promise.<any>

名称 类型 描述
result any 统计信息

示例

...
const result = await axRobot.getSingleTaskStatistics(singleTaskStatistics);
console.log(result)
...

任务统计

getTaskStatistics() -> {Promise<any>}

获取任务统计信息

参数

名称 类型 描述
taskStatistics TaskStatistics 任务统计信息

返回值 Promise.<any>

名称 类型 描述
result any 统计信息

示例

...
const result = await axRobot.getTaskStatistics(taskStatistics);
console.log(result)
...

数据定义

ActionType

任务的操作类型。

枚举值

描述
ActionType.None
ActionType.PlayAudio 播放音频
参数
ActionType.OpenDoor 打开门
参数
ActionType.Pause 暂停操作
参数
ActionType.GearOperation 档位操作
参数
ActionType.StopAudio 停止播放音频
参数
ActionType.OpenLight 打开灯光
参数
ActionType.CloseLight 关闭灯光
参数
ActionType.TaskStart 开始任务
参数
ActionType.TaskEnd 结束任务
参数

ActionData

ActionData - PlayAudio

播放音频操作参数

属性

名称 数据类型 描述
audioId 字符串 可选;本地音频资源标识,默认为文件名
url 字符串 可选;音频的在线URL
volume 数字 音量;0~100
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
interval 数字 循环播放的间隔时间;单位:秒
-1表示只播放一次
num 数字 可选;播放次数
duration 数字 可选;总播放时长;单位:秒
如果同时设置了num参数,将遵循num参数
channel 数字 播放通道;
1 - 普通音乐
2 - 背景音乐
底盘不支持多通道播放

示例

{
  "type": ActionType.PlayAudio,
  "data": {
    "audioId": "3111001",
    "volume": 50,
    "mode": 1,
    "interval": 20,
    "num": 10,
    "channel": 1
  }
}

ActionData - StopAudio

停止播放音频操作参数

属性

名称 数据类型 描述
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
channel 数字 播放通道;
1 - 普通音乐
2 - 背景音乐
底盘不支持多通道播放

示例

{
  "type": ActionType.StopAudio,
  "data": {
    "mode": 1,
    "channel": 1
  }
}

ActionData - OpenDoor

打开车门操作参数

属性

名称 数据类型 描述
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
doorIds 数字数组 车厢编号;从上到下,从左到右,1,2,3,4

示例

{
  "type": ActionType.OpenDoor,
  "data": {
    "mode": 1,
    "doorIds": [1]
  }
}

ActionData - CloseDoor

关闭车门操作参数

属性

名称 数据类型 描述
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
doorIds 数字数组 车厢编号;从上到下,从左到右,1,2,3,4

示例

{
  "type": ActionType.CloseDoor,
  "data": {
    "mode": 1,
    "doorIds": [1]
  }
}

ActionData - Pause

暂停操作参数

属性

名称 数据类型 描述
pauseTime 数字 暂停时间,单位:秒
0表示不暂停

示例

{
  "type": ActionType.Pause,
  "data": {
    "pauseTime": 20
  }
}

ActionData - GearOperation

喷雾器操作参数

属性

名称 数据类型 描述
subType 数字 喷雾器动作参数;
0:关闭喷雾器,1-5:设置档位,打开喷雾器

示例

{
  "type": ActionType.GearOperation,
  "data": {
    "subType": 2
  }
}

ActionData - OpenLight

打开灯带操作参数

属性

名称 数据类型 描述
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
color LightColor 灯带颜色
indexs LightIndex 可选;分段显示,最多支持4段

示例

{
  "type": ActionType.OpenLight,
  "data": {
    "mode": 1,
    "color": LightColor.Green,
    "indexs": [
      {
        "index": 0,
        "num": 10
      }
    ]
  }
}

ActionData - CloseLight

关闭灯带操作参数

属性

名称 数据类型 描述
mode 数字 执行模式;1 - 在计算机上执行
2 - 在底盘上执行
indexs LightIndex 可选;分段显示,最多支持4段

示例

{
  "type": ActionType.OpenLight,
  "data": {
    "mode": 1,
    "indexs": [
      {
        "index": 0,
        "num": 10
      }
    ]
  }
}

ActionData - TaskStart

启动任务操作参数

属性

名称 数据类型 描述
taskId 字符串 任务ID

示例

{
  "type": ActionType.TaskStart,
  "data": {
    "taskId": "152afafb-a682-4d3c-934a-1099b3aa35e3"
  }
}

ActionData - TaskEnd

任务结束操作参数

属性

名称 数据类型 描述
taskId 字符串 任务ID

示例

{
  "type": TaskType.TaskEnd,
  "data": {
    "taskId": "b4ddea09-2448-4db5-a580-47ae763f9693"
  }
}

BaseAction

动作节点信息

属性

名称 数据类型 描述
type ActionType 动作类型
data object 动作参数

紧急类型

机器人紧急停止模式

枚举

描述
EmergencyType.Stop 机器人退出紧急停止状态
EmergencyType.Start 机器人进入紧急停止状态

智能灯带

灯带控制

属性

名称 数据类型 描述
mode 数字 执行模式,1-电脑,2-底盘
color 灯带颜色 灯带颜色,详见灯带颜色
indexs 灯带索引[] 分段灯带的数组

LightColor

灯条的颜色。

枚举:

描述
LightColor.Red 红色
LightColor.Green 绿色
LightColor.Blue 蓝色
LightColor.Yellow 黄色

LightIndex

分段LED灯带

属性

名称 数据类型 描述
index number LED珠的索引
num number LED珠的数量

地图姿态

地图姿态

属性

名称 数据类型 描述
areaId string 地图区域标识符

继承自

Pose

MotionType

机器人运动类型

枚举

描述
MotionType.Forward 机器人向前移动,无障碍物避免
MotionType.Back 机器人向后移动,无障碍物避免
MotionType.TurnLeft 机器人向左转,无障碍物避免
MotionType.TurnRight 机器人向右转,无障碍物避免
MotionType.Cancel 机器人停止移动
MotionType.Auto 机器人处于自动模式
MotionType.Manual 机器人处于手动模式

OnRobotListener(机器人监听器)

订阅机器人状态变化的回调函数

属性

名称 数据类型 描述
onStateChange 函数 机器人状态变化的回调函数

OnTaskListener

任务状态订阅回调

属性

名称 数据类型 描述
onTaskChanged function 任务状态变化回调函数

POI类型

类型名称
1 快餐店
2 饮品店
3 其他
4 公司
5 住宅
6 电梯
7 大门
8 自动门
9 充电站
10 集结点
11 餐桌编号
12 私人包间
13 酒吧柜台
14 外卖区
15 服务窗口
16 大堂
17 餐厅
18 商店
19 前台
20 门牌号
22 工作站编号
21 房间号
23 集装箱装运点
24 集装箱集结点
25 途经点
26 消毒点
28 候车区
29 调度点
30 快递站点

姿态

对象的位置和方向。

属性

名称 数据类型 描述
x 数字 位置坐标的 x 分量
y 数字 位置坐标的 y 分量
yaw 数字 弧度的方向
angle 数字 可选项;以角度表示的方向

请求页面

分页请求参数

属性

名称 数据类型 描述
pageSize number 每页记录数
pageNum number 分页页码

RequestParam

请求参数

属性

名称 数据类型 描述
robotId string 机器人标识符
businessId string 可选; 业务标识符
areaId string 可选; 地图区域标识符
type number 可选; POI类型; 参考:POI类型
page RequestPage 可选; 结果分页参数
properties object 可选; POI过滤属性

任务信息

任务信息

属性

名称 数据类型 描述
name 字符串 任务的名称
robotId 字符串 机器人的标识符
runNum 数字 任务已执行的次数
默认为1;0表示无限循环
taskType 数字 任务类型
0 - 消毒和杀菌
1 - 返回并充电
2 - 餐厅
runType 数字 执行类型
0 - 定时消毒
1 - 临时消毒
20 - 快速送餐
21 - 多位置送餐
22 - 导航
23 - 巡航
24 - 返回
25 - 充电点
curPt 任务点 机器人当前位置
taskPts 任务点[] 任务点列表
backPt 任务点 可选项;任务完成后返回的点

任务点

任务节点信息

属性

名称 数据类型 描述
areaId 字符串 任务节点所在地图区域的标识符
x 数字 任务节点坐标的x分量
y 数字 任务节点坐标的y分量
yaw 数字 任务节点的方向;单位:度
type 数字 兴趣点类型;参考兴趣点类型
ext 对象 可选;任务节点的自定义扩展信息
stepActs 基础动作[] 可选;任务节点的动作列表

示例

{
  "x": 0.11,
  "y": 1.22,
  "yaw": 89,
  "areaId": "xxxx",
  "type": -1,
  "ext": {...},
  "stepActs": [...]
}

故障代码

底盘故障代码

描述
0 无效值
1001 计划节点未运行
1002 占用网格服务器节点未运行
1003 地图服务器节点未运行
1004 Cartographer_occupancy_grid_node节点未运行
1005 未在1秒内接收到障碍物地图/maps/5cm消息
1006 跟踪控制节点未运行(已弃用)
1007 运动过程中卡住
1008 运动过程中未达到显著进展,可能卡住
2001 轮子节点未运行
2002 轮子过载
2003 左轮故障
2004 右轮故障
2005 轮子状态消息频率异常
2006 轮驱动报告错误
2007 轮子失控报警
2008 轮子严重滑动
2009 轮子控制启动错误
2501 轮子滑动
3001 Odom节点未运行
3002 Odom消息频率异常
4001 Imu节点未运行
4002 Imu消息频率异常
4003 Imu角速度异常(已弃用)
4004 垂直角度异常,可能翻车
4005 Imu原地颤抖
4006 Imu原地旋转
4007 Imu重新连接
4008 倾斜角度过大,高概率摔倒
4501 Imu未校准
5001 激光雷达节点未运行
5002 激光雷达消息频率异常
5003 激光雷达扫描频率持续异常,一般超过1秒间隔
5004 Lidar_perception_node节点未运行
5005 发送命令到激光雷达异常
5501 激光雷达扫描频率瞬时异常(已弃用)
6003 存储空间不足
6001 最近1分钟的负载平均值很高
6002 最近10秒内CPU平均使用率超过90%
6004 核心温度超过阈值
6005 内存使用量显著超过阈值
6006 eMMC严重耗用
6007 主机和外壳之间的网络中断
6008 关键系统文件配置错误
6009 高磁盘写入量
6502 存储空间不足
6501 最近1分钟的负载平均值较高
6503 内存使用量超过阈值
6505 启动时间同步失败(已弃用)
6504 最近10秒内CPU平均使用率超过80%
6506 系统时间与互联网时间不一致
6507 启动脚本执行失败
6508 eMMC严重耗用
7001 定位节点未运行
7002 定位质量不可靠
7003 /slam/state消息频率异常
7004 激光雷达确定不可靠的定位质量
8001 底板节点未运行
8002 Battery_state消息频率异常
8003 电池电量极低
8004 电池板故障
8005 充电片和电池报告的充电状态不一致
8006 电机电流超过阈值
8501 电池电量低
9001 用于充电桩/电梯门状态识别的/detectors节点未运行
9002 蓝牙节点未运行
9003 急停按钮被按下
9004 切换到手动模式
9005 切换到远程控制模式
9006 /sensor_manager_node节点未运行
9007 底部传感器节点/bottom_sensor_pack_node未运行
9008 /ax_platform_monitor节点未运行
9009 /monitor_watcher节点未运行
9010 启动参数配置错误
9011 检测到程序崩溃
9012 光流频率异常
9013 热力图节点未运行
9501 调试节点打开
9502 在ax-cache中存在.params.yaml文件,此配置文件已弃用
9503 检测到光流硬件,但未配置使用
10001 在充电桩上超过重试次数后未检测到触摸信号
10002 未识别到充电底座
10003 触摸超过重试次数后长时间未接收到电流
11001 camera_node Juyou节点未运行
11002 /depth_camera/forward消息频率异常(已弃用)
11003 /depth_camera/downward消息频率异常(已弃用)
11004 /depth_camera/forward报告了错误(已弃用)
11005 /depth_camera/downward报告了错误(已弃用)
11006 无法找到深度相机硬件(已弃用)
11007 Juyou深度相机报告了错误
11008 无法找到RGB相机硬件
11009 /rgb_camera_node节点未运行
11010 RGB相机其他错误
11011 ihawk_node节点未运行
11012 ihawk深度相机报告了错误
11013 ihawk深度相机深度值异常,可能存在障碍物(保留)
11501 深度相机未校准

统计总数

总统计数据信息

属性

名称 数据类型 描述
startTime 数字 开始时间,以当前日期的00:00:00为起点,以毫秒为单位,最长持续时间为一个月
endTime 数字 结束时间,以当前日期的11:59:59为终点,以毫秒为单位
busIds 字符串数组 可选,业务ID的集合
deviceIds 字符串数组 可选,机器人SN的集合
dataItems 字符串数组 必填数据项:
mileage - 总里程
duration - 总时长
taskMileage - 任务里程
taskDuration - 任务时长
chargingCount - 充电次数
errCount - 底盘错误次数
locerrCount - 定位丢失次数
warnCount - 警告次数
dryBurnCount - 干烧次数
obstructCount - 阻塞次数
taskCancelCount - 任务取消次数
taskCount - 任务次数
taskFinishCount - 任务完成次数
taskPauseCount - 任务暂停次数
disinfectCount - 消毒次数
onSprayCount - 开启喷洒次数
sprayMileage - 喷洒里程
remoteCount - 远程控制次数
low10BatCount - 低于10%电池次数
low20BatCount - 低于20%电池次数
emergencyCount - 紧急停止次数
gohomeCount - 返回充电桩次数
manualCount - 手动操作次数
dispatchCount - 调度次数
modspeedCount - 速度修改次数

示例

{
  "startTime": 1682870400000,
  "endTime": 1685548799000,
  "dataItems": ["taskDuration","taskMileage","mileage","duration","taskCount"]
}

SingleTaskStatistics(单任务统计)

单任务统计信息

属性

名称 数据类型 描述
taskId string 任务 ID
fields string[] 所需数据项
mileage - 里程
cStartTime - 开始时间
cEndTime - 结束时间
disinfect - 消毒详情
taskFinishCount - 任务完成次数
taskPauseCount - 任务暂停次数
taskCancelCount - 任务取消次数

示例

{
  "taskId": "322751f4-1c00-45c2-bcf3-0e42aa9fa2c4",
  "fields": [
    "cStartTime",
    "cEndTime",
    "mileage",
    "disinfect",
    "taskCancelCount",
    "errCount",
    "taskFinishCount",
    "taskPauseCount"
  ]
}

任务统计

任务统计信息

属性

名称 数据类型 描述
startTime 数字 开始时间,以毫秒为单位,从当天的00:00:00开始,最长持续时间为一个月
endTime 数字 结束时间,以毫秒为单位,结束于当天的11:59:59
type 数字 任务类型:
0 - 消毒
1 - 返回基站
2 - 交付
3 - 召唤
默认值 -1 所有任务

示例

{
  "startTime": 1682870400000,
  "endTime": 1685548799000,
  "type": -1
}

巡航信息

巡航信息

枚举

名称 数据类型 描述
id 数字 巡航 ID
name 字符串 巡航名称
businessId 字符串 业务 ID
sites []CruisePoi 巡航 poi
remark 字符串 备注

巡航 poi

枚举

名称 数据类型 描述
poiId 字符串 poi ID
poiName 字符串 poi 名称

服务器信息

服务器信息

属性

名称 数据类型 描述
ip 字符串 地址
type 数字 服务器类型
0: 私有化
1: 国际版
-1: 关闭私有化或国际版
offline 数字 0: 非纯离线
1: 纯离线

test

Clone this wiki locally