跳到内容 跳到主导航 跳到页脚

系统功能

系统状态监控

机器人有非常多的状态、事件可以监控,来辅助完成工作。监控主要使用下面函数来完成。

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"; //机器被推动(目前仅限招财)

设置灯效

方法名称:setLight

调用方式:

JSONObject params = new JSONObject();
try {
    params.put(Definition.JSON_LAMB_TYPE, type);
    params.put(Definition.JSON_LAMB_TARGET, 0);
    params.put(Definition.JSON_LAMB_RGB_START, startColor);
    params.put(Definition.JSON_LAMB_RGB_END, endColor);
    params.put(Definition.JSON_LAMB_START_TIME, startTime);
    params.put(Definition.JSON_LAMB_END_TIME, endTime);
    params.put(Definition.JSON_LAMB_REPEAT, loopTime);
    params.put(Definition.JSON_LAMB_ON_TIME, duration);
    params.put(Definition.JSON_LAMB_RGB_FREEZE, finalColor);
} catch (JSONException e) {
    e.printStackTrace();
}
RobotApi.getInstance().setLight(0, params.toString(), null);

参数

  • reqId: int类型 命令id
  • params: String类型, 可包含如下参数:
  • type:填0
  • startColor:灯效起始颜色值
  • endColor:灯效结束颜色值
  • startTime:渐变开始颜色停留的时间
  • endTime:渐变结束颜色停留的时间
  • loopTime:灯效渐变重复次数
  • duration:渐变过程花费的时间
  • finalColor:渐变过渡颜色
  • listener: ActionListener类型 消息回调
  • 颜色值: 使用RGB排列的16位字符串,例如“F3F3F3”或者“00FF00”。

返回值

  • int result 0 命令执行 / -1 没有执行

适用平台:

豹小秘mini
招财豹
豹小递max豹小秘DP

设置灯效代码demo可以在这里找到(代码适用于豹小秘机器人,其他机器人请替换机器人jar包):点击这里

招财豹Pro和豹小递Pro设置灯效

方法名称:isUseProZcbLed

调用方法:

/**
 * 是否使用ProZcbLed灯带接口
 */
RobotApi.getInstance().isUseProZcbLed()

方法名称:setProZcbLedEffect

调用方法:

/**
 * 控制ZcbLed灯,即Saiph Pro的底盘灯带
 * proZcbEffect 参数参考下面颜色定义
 * Zcb:招财豹
 */
RobotApi.getInstance().setProZcbLedEffect(int reqId, int proZcbEffect, CommandListener listener)

方法名称:isHasClavicleLight

调用方法:

 /**
  * 是否有锁骨灯
  */
RobotApi.getInstance().isHasClavicleLight()

方法名称:setProIobLedEffect

调用方法:

/**
 * 控制IobLed灯,即Saiph Pro的锁骨灯
 * proIobLedEffect 参数参考下面颜色定义
 *"Iob"应该是拼写错误,应该是Lobby,表示胸口部位的灯带。
 */
RobotApi.getInstance().setProIobLedEffect(int reqId, int proIobLedEffect, CommandListener listener)

颜色定义:

public static final int ZCB2UARTLED_GREENBREATH = 0xDE10;  //绿色呼吸效果
public static final int ZCB2UARTLED_BLUEBREATH = 0xDE11;  //蓝色呼吸效果
public static final int ZCB2UARTLED_ORANGEBREATH = 0xDE12;  //橙色呼吸效果
public static final int ZCB2UARTLED_YELLOWBREATH = 0xDE13;  //黄色呼吸效果
public static final int ZCB2UARTLED_BLUENORMAL = 0xDE14;  //蓝色正常效果
public static final int ZCB2UARTLED_REDNORMAL = 0xDE15;  //红色正常效果
public static final int ZCB2UARTLED_ORANGENORMAL = 0xDE16;  //橙色正常效果
public static final int ZCB2UARTLED_YELLOWNORMAL = 0xDE17;  //黄色正常效果
public static final int ZCB2UARTLED_GREENNORMAL = 0xDE18;  //绿色正常效果
public static final int ZCB2UARTLED_TURNRIGHT = 0xDE19;  //右转效果
public static final int ZCB2UARTLED_TURNLEFT = 0xDE20;  //左转效果
public static final int ZCB2UARTLED_REGFLASH = 0xDE21;  //红色闪效果
public static final int ZCB2UARTLED_YELLOWFLASH = 0xDE22;  //黄色闪效果
public static final int ZCB2UARTLED_ALLOFF = 0xDE00;  //关闭所有zcb效果

获取本机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

这篇文章是否有帮助?

1