Wiki
Clone wikirobobo-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