Wiki

Clone wiki

robobo-programming / Robobo-Commands

#List of Robobo Commands

This section lists and describes all Command messages which can be used for the remote control of Robobo.

Each command is a component of three fields:

  • Name: Identifies the order type.
  • Id: Uniquely identifies a specific command instance.
  • Parameter set: Parameters are values ​​that modify or parameterize the behavior of the command, are indicated by a set of key pairs <-> value.

Finally it is important to emphasize that there are mainly two types or groups of commands, commands without confirmation of order and commands with confirmation of order.

Most commands belong to the first group, they are executed as soon as they are received by the Robobo, and the user (ROS node) does not receive any confirmation of when the execution ends.

By contrast, commands with end-commit send a Status message when they are finished to indicate to users that they have completed. The documentation indicates which specific commands have confirmation of completion.

##Robot Movement Commands

Commands used to move parts of the robotic base robobo.


###MOVETILT

Move the smartphone holder to the vertical (tilt) axis. No confirmation of completion.

parameters

  • pos: Angle in which you want to position the tilt. Any integer between 5 and 105.
  • speed: Movement velocity. Any integer between 0 and 100.

Example

{"MOVETILT": { "pos": 15, "speed": 30 }}


MOVETILT-BLOCKING

Move the smartphone support vertically. It has finalization confirmation.

parameters

  • pos: Angle in which you want to move the tilt. Any integer between 0 and 180.
  • speed: Speed of movement. Any integer between 0 and 40.
  • blockid: Action identifier in the finalization notification. Any integer.

Example

{"MOVETILT-BLOCKING": { "pos": 15, "speed": 30, "blockid": 1 }}


MOVEPAN

Rotate the smartphone support. No confirmation of completion.

parameters

  • pos: Angle in which you want to move the pan. Any integer between 0 and 180.
  • speed: Speed of movement. Any integer between 0 and 40.

Example

{"MOVEPAN": { "pos": 15, "speed": 30 }}


MOVEPAN-BLOCKING

Rotate the smartphone support.

parameters -170 and 170. * speed: Speed of movement. Any integer between 0 and 40. * blockid: Action identifier in the finalization notification. Any integer.

Example

{"MOVEPAN-BLOCKING": { "pos": 15, "speed": 30, "blockid": 1 }}


MOVE

Simultaneously move the two wheels of the base for a while.

parameters

  • lspeed: Wheel speed left. Any integer between -100 and 100. Use negative integers for reverse movement.
  • rspeed: Wheel speed right. Any integer between -100 and 100. Use negative integers for reverse movement.
  • time: Movement duration in milliseconds.

Example

{"MOVE": { "lspeed": 25, "rspeed": 40, "time": 2000 }}


MOVE-BLOCKING

Simultaneously move the two wheels of the base for a while. No confirmation of completion.

parameters

  • lspeed: Left wheel speed. Any integer between -100 and 100.
  • rspeed: Right wheel speed. Any integer between -100 and 100.
  • time: Movement duration. Any positive integer. In seconds, can be float.
  • blockid: Action identifier in the finalization notification. Any integer.

Example

{"MOVE-BLOCKING": { "lspeed": 15, "rspeed": 30, "time": 10, "blockid": 1 }}


MOVEBY-TIME

Move one or both wheels for a while. No confirmation of completion.

parameters

  • wheel:Indicate which wheel or wheels are to be moved. Possible values: left, right and both.
  • speed: wheels speed. Any integer between -100 and 100.
  • time: movement duration. Any positive integer. In seconds, can be float.

Example

{"MOVEBY-TIME": { "wheel": "both", "speed": 30; "time": 10 }}


MOVEBY-DEGREES

Move one or both wheels in a few degrees. No confirmation of completion.

parameters

  • wheel:Indicate which wheel or wheels are to be moved. Possible values: left, right and both.
  • speed: wheels speed. Any integer between -100 and 100.
  • degrees: degrees that the wheels will move. Any positive integer.

Example

{"MOVEBY-DEGREES": { "wheel": "both", "speed": 30, "degrees": 10 }}


MOVE-FOREVER

Move the wheels at the indicated angular speed indefinitely. No confirmation of completion.

parameters

  • lspeed: Left wheel speed. Possible values: forward, backward and off.
  • rspeed: Right wheel speed. Possible values: forward, backward and off.
  • speed: movement speed. Any integer between -100 and 100.

Example

{"MOVE-FOREVER": { "lspeed": "forward", "rspeed": "backward", "speed": 10 }}


TURNINPLACE

Rotate the Robobo on itself the indicated degrees of rotation. No confirmation of completion.

parameters

  • degrees: Degrees of rotation that Robobo is going to move.

Example

{"TURNINPLACE": { "degrees": 10 }}


RESET-WHEELS

Resets the Robobo base encoder count on both wheels. parameters

  • None

Example

{"RESET-WHEELS": {}}

SET-LEDCOLOR

Change the color of an LED. No confirmation of completion.

parameters

  • led: led indicator. Possible values: Front-C, Front-R, Front-RR, Front-L, Front-LL, Front-C, Back-R, Back-L, all.
  • color: led color. Posible values: white, red, blue, cyan, magenta, yellow, green, orange, off.

Example

{"SET-LEDCOLOR": { "led": "Front-C", "color": "blue" }}


Emotions and Visual Output

Commands used to show emotions


SET-EMOTION

Change the face shown.

parameters

  • emotion: Emotion. Possible values: happy, laugthing, sad, angry, surprised, normal.

Example

{"SET-EMOTION": { "emotion": "happy" }}

##Sound

Commands used to play sounds.


PLAY-SOUND

Play a emotion sound. No confirmation of completion.

parameters

  • sound: Sound to play. Possible values: moan, purr, angry, approve, disapprove, discomfort, doubtful, laugh, likes, mumble, ouch, thinking, various.

Example

{"PLAY-SOUND": { "sound": "moan" }}


PLAY-NOTE

Play a musical note. No confirmation of completion.

parameters

  • index: Musical note index. Any integer between 48 and 72.
  • time:musical note duration. Any positive integer, in milliseconds.

Example

{"PLAY-NOTE": { "index": 49 "time": 1000 }}


TALK

Play text by using Text-to-Speech (TTS). It has finalization confirmation.

parameters

  • text: Text to be spoken.

Example

{"TALK": { "text": "Hello word" }}


##Configuration

Commands used for configuration.


CONFIGURE-BLOBTRACKING

Configuration of blob detection. On/Off of the detection of each supported color.

parameters

  • red: Activate the red color detection. true/false.
  • green: Activate the green color detection. true/false.
  • blue: Activate the blue color detection. true/false.
  • custom: Activate the custom color detection. true/false.

Example

{"CONFIGURE-BLOBTRACKING": { "red": "true", "green": "true", "blue": "false", "custom": "false" }}


SET-SENSOR-FREQUENCY

Sets the general frequency of the status messages coming from the robot. Status messages are filtered by default in order to reduce network bandwidth, a higher frequency reduces the filters.

parameters

  • frequency: Frequency of the status, 'LOW', 'NORMAL', 'HIGH' or 'MAX'.

Example

{"SET-SENSOR-FREQUENCY": { "frequency": "MAX" }}


SET-CAMERA

Sets the camera to be used for the camera image topic, either the front or the back camera of the smartphone.

parameters

  • camera: 'front' or 'back'

Example

{"SET-CAMERA": { "camera": "back" }}


Updated