Skip to content Skip to main navigation Skip to footer

Basic Motion

Linear Motion

Method name: goForward / goBackward

How to call:

CommandListener motionListener = new CommandListener() {
    @Override
    public void onResult(int result, String message) {
        if ("succeed".equals(message)) {
            //Call succeeded
        } else {
            //Call failed
        }
    }
};RobotApi.getInstance().goForward(reqId, speed, motionListener);
RobotApi.getInstance().goForward(reqId, speed, distance, motionListener);
RobotApi.getInstance().goForward(reqId, speed, distance, avoid, motionListener);
RobotApi.getInstance().goBackward(reqId, speed, motionListener);
RobotApi.getInstance().goBackward(reqId, speed, distance, motionListener);

Parameters:

  • speed: Movement speed in m/s. Range: 0 ~ 1.0. Speeds greater than 1.0 are treated as 1.0.
  • distance: Movement distance in m. The value must be greater than 0.
  • avoid: Whether to stop for obstacles while moving. Only forward movement supports stopping for obstacles.

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesYesYesNo

Rotation

Method name: turnLeft / turnRight Usage:

CommandListener rotateListener = new CommandListener() {
    @Override
    public void onResult(int result, String message) {
        if ("succeed".equals(message)) {
            //Call succeeded
        } else {
            //Call failed
        }
    }};RobotApi.getInstance().turnLeft(reqId, speed, rotateListener);
RobotApi.getInstance().turnLeft(reqId, speed, angle, rotateListener);
RobotApi.getInstance().turnRight(reqId, speed, rotateListener);
RobotApi.getInstance().turnRight(reqId, speed, angle, rotateListener);

Parameters

  • speed: Rotation speed in degrees/s. Range: 0 ~ 50 degrees/s
  • angle: Rotation angle in degrees. The value must be greater than 0.

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesYesYesNo

Control the Robot by Setting Angular and Linear Speed

Method name: motionArcWithObstacles

RobotApi.getInstance().motionArcWithObstacles(reqID,0.5,0.5,new CommandListener(){
    @Override
    public void onResult(int result, String message, String extraData) {
    }
    @Override
    public void onStatusUpdate(int status, String data, String extraData) {
    }
});

Parameters

  • lineSpeed: Linear speed. Range: -1.2 ~ 1.2
  • angularSpeed: Angular speed. Range: -2 ~ 2

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesYesYesNo

Stop

Method name: stopMove Usage

RobotApi.getInstance().stopMove(reqId, new CommandListener() {
    @Override
    public void onResult(int result, String message) {
        if ("succeed".equals(message)) {
            //Call succeeded
        } else {
            //Call failed
        }
    }
});

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesYesYesNo

Note: This API can only stop forward, backward and rotation movements. It cannot stop navigation or head movement.

Head Pan-Tilt Movement

Method name: moveHead Usage

RobotApi.getInstance().moveHead(reqId, hMode, vMode, hAngle, vAngle, new CommandListener() {
    @Override
    public void onResult(int result, String message) {
        try {
            JSONObject json = new JSONObject(message);
            String status = json.getString("status");
            if (Definition.CMD_STATUS_OK.equals(status)) {
                //Operation succeeded
            }
        } catch (JSONException | NullPointerException e) {
            e.printStackTrace();
        }
    }
});

Parameters:

  • hMode: Horizontal rotation mode. Absolute movement: absolute; relative movement: relative
  • vMode: Vertical movement mode. Absolute movement: absolute; relative movement: relative
  • hAngle: Horizontal rotation angle. Range: -120 ~ 120
  • vAngle: Vertical movement angle. Range: 0 ~ 90

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesNoNoYes

Note: Mind the physical limits of each robot model. Horizontal rotation mode has no effect on GreetingBot Mini and GreetingBot 2.

Reset the Pan-Tilt to Its Initial Angle

Method name: resetHead Usage

RobotApi.getInstance().resetHead(reqId, new CommandListener() {
    @Override
    public void onResult(int result, String message) {
        try {
            JSONObject json = new JSONObject(message);
            String status = json.getString("status");
            if (Definition.CMD_STATUS_OK.equals(status)) {
                //Operation succeeded
            }
        } catch (JSONException | NullPointerException e) {
            e.printStackTrace();
        }
    }
});

Supported platforms:

GreetingBotGreetingBot 2GreetingBot MiniLuckiBotLuckiBot ProBigScreenBot
YesYesYesNoNoYes