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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | Yes | Yes | No |
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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | Yes | Yes | No |
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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | Yes | Yes | No |
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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | Yes | Yes | No |
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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | No | No | Yes |
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:
| GreetingBot | GreetingBot 2 | GreetingBot Mini | LuckiBot | LuckiBot Pro | BigScreenBot |
| Yes | Yes | Yes | No | No | Yes |