系统功能
系统状态监控
机器人有非常多的状态、事件可以监控,来辅助完成工作。监控主要使用下面函数来完成。
RobotApi.getInstance().registerStatusListener(
Definition.STATUS_POSE_ESTIMATE, mStatusPoseListener);
能监控到的事件定义可以在SDK的Definition.Java 中找到。目前提供的监控状态如下:
STATUS_POSE = "navi_pose"; //位置改变 STATUS_MAP = "navi_map"; //地图改变 STATUS_EMERGENCY = "status_emergency"; //紧急状态 STATUS_POSE_ESTIMATE = "status_pose_estimate"; //机器人定位状态 STATUS_AVOID_STOPPING = "status_avoid_stopping";//动态避停 STATUS_SWITCH_MAP = "status_switch_map"; //地图切换 STATUS_RADAR = "status_radar"; //雷达状态 STATUS_BATTERY = "status_battery"; //电池充电状态 STATUS_MULTIPLE_ROBOT_WORKING = "status_multiple_robot_working"; //多机状态信息 STATUS_MAP_OUTSIDE = "status_map_outside_report"; //机器出地图(目前仅限招财) STATUS_ROBOT_BEING_PUSHED = "status_robot_being_pushed"; //机器被推动(目前仅限招财)
获取本机SN
方法名称:getRobotSn
调用方式:
boolean status = RobotApi.getInstance().getRobotSn(
new CommandListener(){
@Override
public void onResult(int result, String message) {
if (Definition.RESULT_OK == result) {
String serialNum = message;
} else {
}
}
});
参数
- listener CommandListener 消息回调{“code”:0, “message”:”err msg”}
返回值
- int result 1 命令执行 / -1 没有执行
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 是 | 是 | 是 | 是 | 是 |
获取系统版本
方法名称:getVersion
调用方式:
String version = RobotApi.getInstance().getVersion();
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 是 | 是 | 是 | 是 | 是 |
禁止系统功能
系统不再接管急停事件,没有急停画面,可用于用户自定义急停画面。在急停状态下,所以底盘相关功能API不可使用,唤醒、休眠等切换机器人状态的API也不生效。
方法名称:disableEmergency
调用方式:
RobotApi.getInstance.disableEmergency();
获取Emergency状态的API:
RobotApi.getInstance().getRobotStatus(Definition.STATUS_EMERGENCY,new StatusListener(){
@Override
public void onStatusUpdate(String type, String data) throws RemoteException {
Log.d("onStatusUpdate","Status:"+data);
}
});
//或者使用下面方法注册急停状态事件
RobotApi.getInstance().registerStatusListener(Definition.STATUS_EMERGENCY,new StatusListener(){
@Override
public void onStatusUpdate(String type, String data) throws RemoteException {
Log.d("onStatusUpdate","status:"+type+";value:"+data);
}
});
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 是 | 是 | 是 | 是 | 是 |
禁用当前电池界面,充电时可使用除底盘外client app任何能力
如果确认不需要充电接管,推荐在APP启动连上RobotAPI成功之后,直接调用此接口禁用。此后直到APP退出,充电接管画面都会处于禁用状态。
方法名称:disableBattery
调用方式:
RobotApi.getInstance().disableBattery();
获取Battery状态的API:
RobotSettingApi.getInstance().getRobotString(Definition.ROBOT_SETTINGS_BATTERY_INFO); //或使用下面方法监听电池状态变化 RobotApi.getInstance().registerStatusListener(Definition.STATUS_BATTERY,listener);
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 是 | 是 | 是 | 是 | 是 |
禁用功能键,招财豹头部后面按钮
方法名称:disableFunctionKey
调用方式:
RobotApi.getInstance().disableFunctionKey();
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 否 | 否 | 是 | 否 | 否 |
休眠
场景介绍:
休眠是让机器人在没有任务或者低电量的时候,保持低功耗运行的一种模式。使用休眠API需要添加如下权限: <uses-permission android:name="com.ainirobot.coreservice.robotSettingProvider" />
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 否 | 否 | 是 | 否 | 否 |
开始休眠
方法名称:robotStandby
调用方式:
RobotApi.getInstance().robotStandby(0, new CommandListener() {
@Override
public void onStatusUpdate(int status, String data, String extraData) {
super.onStatusUpdate(status, data, extraData);
}
});
停止休眠
方法名称:robotStandbyEnd
调用方式:
RobotApi.getInstance().robotStandbyEnd(reqId);
安装APK
方法名称:installApk
调用方式:
RobotApi.getInstance().installApk(reqid, fullPathName, taskID);
参数:
- reqId: int类型 命令id
- fullPathName:安装包路径
- taskID:taskID,非空的任意字符串内容
适用平台:
| 豹小秘 | mini | 招财豹 | 豹小递max | 豹小秘DP |
| 是 | 是 | 是 | 是 | 是 |