Message types
[Messaging basics]

The Player message types. More...



#define PLAYER_MSGTYPE_DATA   1
 A data message.
#define PLAYER_MSGTYPE_CMD   2
 A command message.
#define PLAYER_MSGTYPE_REQ   3
 A request message.
#define PLAYER_MSGTYPE_RESP_ACK   4
 A positive response message.
#define PLAYER_MSGTYPE_SYNCH   5
 A synch message.
#define PLAYER_MSGTYPE_RESP_NACK   6
 A negative response message.
#define PLAYER_NULL_CODE   256
 A data message.
#define PLAYER_PLAYER_CODE   1
 A data message.
#define PLAYER_POWER_CODE   2
 A data message.
#define PLAYER_GRIPPER_CODE   3
 A data message.
#define PLAYER_POSITION2D_CODE   4
 A data message.
#define PLAYER_SONAR_CODE   5
 A data message.
#define PLAYER_LASER_CODE   6
 A data message.
#define PLAYER_BLOBFINDER_CODE   7
 A data message.
#define PLAYER_PTZ_CODE   8
 A data message.
#define PLAYER_AUDIO_CODE   9
 A data message.
#define PLAYER_FIDUCIAL_CODE   10
 A data message.
#define PLAYER_SPEECH_CODE   12
 A data message.
#define PLAYER_GPS_CODE   13
 A data message.
#define PLAYER_BUMPER_CODE   14
 A data message.
#define PLAYER_TRUTH_CODE   15
 A data message.
#define PLAYER_DIO_CODE   20
 A data message.
#define PLAYER_AIO_CODE   21
 A data message.
#define PLAYER_IR_CODE   22
 A data message.
#define PLAYER_WIFI_CODE   23
 A data message.
#define PLAYER_WAVEFORM_CODE   24
 A data message.
#define PLAYER_LOCALIZE_CODE   25
 A data message.
#define PLAYER_MCOM_CODE   26
 A data message.
#define PLAYER_SOUND_CODE   27
 A data message.
#define PLAYER_AUDIODSP_CODE   28
 A data message.
#define PLAYER_AUDIOMIXER_CODE   29
 A data message.
#define PLAYER_POSITION3D_CODE   30
 A data message.
#define PLAYER_SIMULATION_CODE   31
 A data message.
#define PLAYER_BLINKENLIGHT_CODE   33
 A data message.
#define PLAYER_NOMAD_CODE   34
 A data message.
#define PLAYER_CAMERA_CODE   40
 A data message.
#define PLAYER_MAP_CODE   42
 A data message.
#define PLAYER_PLANNER_CODE   44
 A data message.
#define PLAYER_LOG_CODE   45
 A data message.
#define PLAYER_ENERGY_CODE   46
 A data message.
#define PLAYER_JOYSTICK_CODE   49
 A data message.
#define PLAYER_SPEECH_RECOGNITION_CODE   50
 A data message.
#define PLAYER_OPAQUE_CODE   51
 A data message.
#define PLAYER_POSITION1D_CODE   52
 A data message.
#define PLAYER_ACTARRAY_CODE   53
 A data message.
#define PLAYER_LIMB_CODE   54
 A data message.
#define PLAYER_GRAPHICS2D_CODE   55
 A data message.
#define PLAYER_RFID_CODE   56
 A data message.
#define PLAYER_WSN_CODE   57
 A data message.
#define PLAYER_GRAPHICS3D_CODE   58
 A data message.
#define PLAYER_ACTARRAY_STRING   "actarray"
 A data message.
#define PLAYER_AIO_STRING   "aio"
 A data message.
#define PLAYER_AUDIO_STRING   "audio"
 A data message.
#define PLAYER_AUDIODSP_STRING   "audiodsp"
 A data message.
#define PLAYER_AUDIOMIXER_STRING   "audiomixer"
 A data message.
#define PLAYER_BLINKENLIGHT_STRING   "blinkenlight"
 A data message.
#define PLAYER_BLOBFINDER_STRING   "blobfinder"
 A data message.
#define PLAYER_BUMPER_STRING   "bumper"
 A data message.
#define PLAYER_CAMERA_STRING   "camera"
 A data message.
#define PLAYER_ENERGY_STRING   "energy"
 A data message.
#define PLAYER_DIO_STRING   "dio"
 A data message.
#define PLAYER_GRIPPER_STRING   "gripper"
 A data message.
#define PLAYER_FIDUCIAL_STRING   "fiducial"
 A data message.
#define PLAYER_GPS_STRING   "gps"
 A data message.
#define PLAYER_IR_STRING   "ir"
 A data message.
#define PLAYER_JOYSTICK_STRING   "joystick"
 A data message.
#define PLAYER_LASER_STRING   "laser"
 A data message.
#define PLAYER_LIMB_STRING   "limb"
 A data message.
#define PLAYER_LOCALIZE_STRING   "localize"
 A data message.
#define PLAYER_LOG_STRING   "log"
 A data message.
#define PLAYER_MAP_STRING   "map"
 A data message.
#define PLAYER_MCOM_STRING   "mcom"
 A data message.
#define PLAYER_NOMAD_STRING   "nomad"
 A data message.
#define PLAYER_NULL_STRING   "null"
 A data message.
#define PLAYER_OPAQUE_STRING   "opaque"
 A data message.
#define PLAYER_PLANNER_STRING   "planner"
 A data message.
#define PLAYER_PLAYER_STRING   "player"
 A data message.
#define PLAYER_POSITION1D_STRING   "position1d"
 A data message.
#define PLAYER_POSITION2D_STRING   "position2d"
 A data message.
#define PLAYER_POSITION3D_STRING   "position3d"
 A data message.
#define PLAYER_POWER_STRING   "power"
 A data message.
#define PLAYER_PTZ_STRING   "ptz"
 A data message.
#define PLAYER_RFID_STRING   "rfid"
 A data message.
#define PLAYER_SIMULATION_STRING   "simulation"
 A data message.
#define PLAYER_SONAR_STRING   "sonar"
 A data message.
#define PLAYER_SOUND_STRING   "sound"
 A data message.
#define PLAYER_SPEECH_STRING   "speech"
 A data message.
#define PLAYER_SPEECH_RECOGNITION_STRING   "speech_recognition"
 A data message.
#define PLAYER_TRUTH_STRING   "truth"
 A data message.
#define PLAYER_WAVEFORM_STRING   "waveform"
 A data message.
#define PLAYER_WIFI_STRING   "wifi"
 A data message.
#define PLAYER_GRAPHICS2D_STRING   "graphics2d"
 A data message.
#define PLAYER_GRAPHICS3D_STRING   "graphics3d"
 A data message.
#define PLAYER_WSN_STRING   "wsn"
 A data message.
#define PLAYER_ACTARRAY_NUM_ACTUATORS   16
 Maximum number of actuators.
#define PLAYER_ACTARRAY_ACTSTATE_IDLE   1
 Idle state code.
#define PLAYER_ACTARRAY_ACTSTATE_MOVING   2
 Moving state code.
#define PLAYER_ACTARRAY_ACTSTATE_BRAKED   3
 Braked state code.
#define PLAYER_ACTARRAY_ACTSTATE_STALLED   4
 Stalled state code.
#define PLAYER_ACTARRAY_TYPE_LINEAR   1
 Linear type code.
#define PLAYER_ACTARRAY_TYPE_ROTARY   2
 Rotary type code.
#define PLAYER_ACTARRAY_POWER_REQ   1
 Request subtype: power.
#define PLAYER_ACTARRAY_BRAKES_REQ   2
 Request subtype: brakes.
#define PLAYER_ACTARRAY_GET_GEOM_REQ   3
 Request subtype: get geometry.
#define PLAYER_ACTARRAY_SPEED_REQ   4
 Request subtype: speed.
#define PLAYER_ACTARRAY_POS_CMD   1
 Command subtype: position.
#define PLAYER_ACTARRAY_SPEED_CMD   2
 Command subtype: speed.
#define PLAYER_ACTARRAY_HOME_CMD   3
 Command subtype: home.
#define PLAYER_ACTARRAY_DATA_STATE   1
 Data subtype: state.
#define PLAYER_AIO_MAX_INPUTS   8
 The maximum number of analog I/O samples.
#define PLAYER_AIO_MAX_OUTPUTS   8
 The maximum number of analog I/O samples.
#define PLAYER_AIO_CMD_STATE   1
 Command subtype: state.
#define PLAYER_AIO_DATA_STATE   1
 Data subtype: state.
#define PLAYER_AUDIO_DATA_BUFFER_SIZE   20
 Data buffer size.
#define PLAYER_AUDIO_COMMAND_BUFFER_SIZE   (3*sizeof(short))
 Command buffer size.
#define PLAYER_AUDIO_PAIRS   5
 Number of frequency / amplitude pairs to report.
#define PLAYER_AUDIODSP_MAX_FREQS   8
 Maximum number of frequencies to report.
#define PLAYER_AUDIODSP_MAX_BITSTRING_LEN   64
 Maximum length of a BPSK bitstring to emit.
#define PLAYER_AUDIODSP_SET_CONFIG   1
 Request/reply subtype: set configuration.
#define PLAYER_AUDIODSP_GET_CONFIG   2
 Request/reply subtype: get configuration.
#define PLAYER_AUDIODSP_PLAY_TONE   1
 Command subtype: play tone.
#define PLAYER_AUDIODSP_PLAY_CHIRP   2
 Command subtype: play chirp.
#define PLAYER_AUDIODSP_REPLAY   3
 Command subtype: replay (last tone, last chirp ?).
#define PLAYER_AUDIODSP_DATA_TONES   1
 Data subtype: detected tones.
#define PLAYER_AUDIOMIXER_SET_MASTER   1
 Command subtype: set master level.
#define PLAYER_AUDIOMIXER_SET_PCM   2
 Command subtype: set PCM level.
#define PLAYER_AUDIOMIXER_SET_LINE   3
 Command subtype: set line in level.
#define PLAYER_AUDIOMIXER_SET_MIC   4
 Command subtype: set microphone level.
#define PLAYER_AUDIOMIXER_SET_IGAIN   5
 Command subtype: set input gain level.
#define PLAYER_AUDIOMIXER_SET_OGAIN   6
 Command subtype: set output gain level.
#define PLAYER_AUDIOMIXER_GET_LEVELS   1
 Request/reply subtype: get levels.
#define PLAYER_BLINKENLIGHT_DATA_STATE   1
 Data subtype: state.
#define PLAYER_BLINKENLIGHT_CMD_STATE   1
 Command subtype: state.
#define PLAYER_BLINKENLIGHT_CMD_POWER   2
 Command subtype: light.
#define PLAYER_BLINKENLIGHT_CMD_COLOR   3
 Command subtype: color.
#define PLAYER_BLINKENLIGHT_CMD_PERIOD   4
 Command subtype: period.
#define PLAYER_BLINKENLIGHT_CMD_DUTYCYCLE   5
 Command subtype: dutycycle.
#define PLAYER_BLOBFINDER_MAX_BLOBS   256
 The maximum number of blobs in total.
#define PLAYER_BLOBFINDER_DATA_BLOBS   1
 Data subtype: detected blobs.
#define PLAYER_BLOBFINDER_REQ_SET_COLOR   1
 Request/reply subtype: set tracking color.
#define PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS   2
 Request/reply subtype: set imager parameters.
#define PLAYER_BUMPER_MAX_SAMPLES   32
 Maximum number of bumper samples.
#define PLAYER_BUMPER_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_BUMPER_DATA_STATE   1
 Data subtype: state.
#define PLAYER_BUMPER_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_CAMERA_DATA_STATE   1
 Data subtype: state.
#define PLAYER_CAMERA_IMAGE_WIDTH   1920
 Maximum image width, in pixels.
#define PLAYER_CAMERA_IMAGE_HEIGHT   1080
 Maximum image height, in pixels.
#define PLAYER_CAMERA_IMAGE_SIZE   (PLAYER_CAMERA_IMAGE_WIDTH * PLAYER_CAMERA_IMAGE_HEIGHT * 4)
 Maximum image size, in pixels.
#define PLAYER_CAMERA_FORMAT_MONO8   1
 Image format : 8-bit monochrome.
#define PLAYER_CAMERA_FORMAT_MONO16   2
 Image format : 16-bit monochrome (network byte order).
#define PLAYER_CAMERA_FORMAT_RGB565   4
 Image format : 16-bit color (5 bits R, 6 bits G, 5 bits B).
#define PLAYER_CAMERA_FORMAT_RGB888   5
 Image format : 24-bit color (8 bits R, 8 bits G, 8 bits B).
#define PLAYER_CAMERA_COMPRESS_RAW   0
 Compression method: raw.
#define PLAYER_CAMERA_COMPRESS_JPEG   1
 Compression method: jpeg.
#define PLAYER_DIO_DATA_VALUES   1
 Data subtype: input values.
#define PLAYER_DIO_CMD_VALUES   1
 Command subtype: output values.
#define PLAYER_ENERGY_DATA_STATE   1
 Data subtype: state.
#define PLAYER_ENERGY_SET_CHARGING_POLICY_REQ   1
 Request subtype: set charging policy.
#define PLAYER_FIDUCIAL_MAX_SAMPLES   32
 The maximum number of fiducials that can be detected at one time.
#define PLAYER_FIDUCIAL_DATA_SCAN   1
 Data subtype: detected fiducials.
#define PLAYER_FIDUCIAL_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_FIDUCIAL_REQ_GET_FOV   2
 Request/reply subtype: get field of view.
#define PLAYER_FIDUCIAL_REQ_SET_FOV   3
 Request/reply subtype: set field of view.
#define PLAYER_FIDUCIAL_REQ_GET_ID   7
 Request/reply subtype: get ID.
#define PLAYER_FIDUCIAL_REQ_SET_ID   8
 Request/reply subtype: set ID.
#define PLAYER_GPS_DATA_STATE   1
 Data subtype: state.
#define PLAYER_GRAPHICS2D_MAX_POINTS   64
 The maximum number of points that can be described in a packet.
#define PLAYER_GRAPHICS2D_CMD_CLEAR   1
 Command subtype: clear the drawing area (send an empty message).
#define PLAYER_GRAPHICS2D_CMD_POINTS   2
 Command subtype: draw points.
#define PLAYER_GRAPHICS2D_CMD_POLYLINE   3
 Command subtype: draw a polyline.
#define PLAYER_GRAPHICS2D_CMD_POLYGON   4
 Command subtype: draw a polygon.
#define PLAYER_GRAPHICS3D_MAX_POINTS   64
 The maximum number of points that can be described in a packet.
#define PLAYER_GRAPHICS3D_CMD_CLEAR   1
 Command subtype: clear the drawing area (send an empty message).
#define PLAYER_GRAPHICS3D_CMD_DRAW   2
 Command subtype: draw items.
#define PLAYER_GRIPPER_DATA_STATE   1
 Data subtype: state.
#define PLAYER_GRIPPER_CMD_STATE   1
 Command subtype: state.
#define PLAYER_GRIPPER_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define GRIPopen   1
 Command codes.
#define GRIPclose   2
 Command codes.
#define GRIPstop   3
 Command codes.
#define LIFTup   4
 Command codes.
#define LIFTdown   5
 Command codes.
#define LIFTstop   6
 Command codes.
#define GRIPstore   7
 Command codes.
#define GRIPdeploy   8
 Command codes.
#define GRIPhalt   15
 Command codes.
#define GRIPpress   16
 Command codes.
#define LIFTcarry   17
 Command codes.
#define PLAYER_IR_MAX_SAMPLES   32
 Maximum number of samples.
#define PLAYER_IR_POSE   1
 Request/reply subtype: get pose.
#define PLAYER_IR_POWER   2
 Request/reply subtype: set power.
#define PLAYER_IR_DATA_RANGES   1
 Data subtype: ranges.
#define PLAYER_JOYSTICK_DATA_STATE   1
 Data subtype: state.
#define PLAYER_LASER_MAX_SAMPLES   1024
 The maximum number of laser range values.
#define PLAYER_LASER_DATA_SCAN   1
 Data subtype: scan.
#define PLAYER_LASER_DATA_SCANPOSE   2
 Data subtype: pose-stamped scan.
#define PLAYER_LASER_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_LASER_REQ_SET_CONFIG   2
 Request/reply subtype: get configuration.
#define PLAYER_LASER_REQ_GET_CONFIG   3
 Request/reply subtype: set configuration.
#define PLAYER_LASER_REQ_POWER   4
 Request/reply subtype: set power.
#define PLAYER_LIMB_STATE_IDLE   1
 Idle.
#define PLAYER_LIMB_STATE_BRAKED   2
 Brakes are on.
#define PLAYER_LIMB_STATE_MOVING   3
 Moving to target.
#define PLAYER_LIMB_STATE_OOR   4
 Target was out of reach.
#define PLAYER_LIMB_STATE_COLL   5
 Target was blocked by collision.
#define PLAYER_LIMB_DATA   1
 Data subtype: state.
#define PLAYER_LIMB_HOME_CMD   1
 Command subtype: home.
#define PLAYER_LIMB_STOP_CMD   2
 Command subtype: stop.
#define PLAYER_LIMB_SETPOSE_CMD   3
 Command subtype: set pose.
#define PLAYER_LIMB_SETPOSITION_CMD   4
 Command subtype: set position.
#define PLAYER_LIMB_VECMOVE_CMD   5
 Command subtype: vector move.
#define PLAYER_LIMB_POWER_REQ   1
 Request/reply: power.
#define PLAYER_LIMB_BRAKES_REQ   2
 Request/reply: brakes.
#define PLAYER_LIMB_GEOM_REQ   3
 Request/reply: geometry.
#define PLAYER_LIMB_SPEED_REQ   4
 Request/reply: speed.
#define PLAYER_LOCALIZE_MAX_HYPOTHS   10
 The maximum number of pose hypotheses.
#define PLAYER_LOCALIZE_PARTICLES_MAX   100
 The maximum number of particles (for particle-based localization algorithms).
#define PLAYER_LOCALIZE_DATA_HYPOTHS   1
 Data subtype: pose hypotheses.
#define PLAYER_LOCALIZE_REQ_SET_POSE   1
 Request/reply subtype: set pose hypothesis.
#define PLAYER_LOCALIZE_REQ_GET_PARTICLES   2
 Request/reply subtype: get particle set.
#define PLAYER_LOG_TYPE_READ   1
 Types of log device: read.
#define PLAYER_LOG_TYPE_WRITE   2
 Types of log device: write.
#define PLAYER_LOG_REQ_SET_WRITE_STATE   1
 Request/reply subtype: set write state.
#define PLAYER_LOG_REQ_SET_READ_STATE   2
 Request/reply subtype: set read state.
#define PLAYER_LOG_REQ_GET_STATE   3
 Request/reply subtype: get state.
#define PLAYER_LOG_REQ_SET_READ_REWIND   4
 Request/reply subtype: rewind.
#define PLAYER_LOG_REQ_SET_FILENAME   5
 Request/reply subtype: set filename to write.
#define PLAYER_MAP_MAX_TILE_SIZE   (((int)((PLAYER_MAX_PAYLOAD_SIZE-12)/1.001)) - 20 - 1)
 The maximum size of a grid map tile, in cells.
#define PLAYER_MAP_MAX_SEGMENTS   131068
 The maximum number of segments in a vector map.
#define PLAYER_MAP_DATA_INFO   1
 Data subtype: grid map metadata.
#define PLAYER_MAP_REQ_GET_INFO   1
 Request/reply subtype: get grid map metadata.
#define PLAYER_MAP_REQ_GET_DATA   2
 Request/reply subtype: get grid map tile.
#define PLAYER_MAP_REQ_GET_VECTOR   3
 Request/reply subtype: get vector map.
#define MCOM_DATA_LEN   128
 size of the data field in messages
#define MCOM_N_BUFS   10
 number of buffers to keep per channel
#define MCOM_CHANNEL_LEN   8
 size of channel name
#define MCOM_EMPTY_STRING   "(EMPTY)"
 returns this if empty
#define PLAYER_MCOM_PUSH   0
 request ids
#define PLAYER_MCOM_POP   1
 request ids
#define PLAYER_MCOM_READ   2
 request ids
#define PLAYER_MCOM_CLEAR   3
 request ids
#define PLAYER_MCOM_SET_CAPACITY   4
 request ids
#define MCOM_COMMAND_BUFFER_SIZE   (sizeof(player_mcom_config_t))
 ??
#define PLAYER_OPAQUE_DATA_STATE   1
 Data subtype: generic state.
#define PLAYER_OPAQUE_CMD   2
 Data subtype: generic command.
#define PLAYER_OPAQUE_REQ   3
 Data subtype: generic request.
#define PLAYER_OPAQUE_MAX_SIZE   1048576
 Maximum message size is 1 MB.
#define PLAYER_PLANNER_MAX_WAYPOINTS   128
 maximum number of waypoints in a single plan
#define PLAYER_PLANNER_DATA_STATE   1
 Data subtype: state.
#define PLAYER_PLANNER_CMD_GOAL   1
 Command subtype: state.
#define PLAYER_PLANNER_REQ_GET_WAYPOINTS   1
 Request subtype: get waypoints.
#define PLAYER_PLANNER_REQ_ENABLE   2
 Request subtype: enable / disable planner.
#define PLAYER_OPEN_MODE   1
 Device access mode: open.
#define PLAYER_CLOSE_MODE   2
 Device access mode: close.
#define PLAYER_ERROR_MODE   3
 Device access mode: error.
#define PLAYER_DATAMODE_PUSH   1
 Data delivery mode: Send data from all subscribed devices all the time (i.e.
#define PLAYER_DATAMODE_PULL   2
 Data delivery mode: Only on request, send data from all subscribed devices.
#define PLAYER_PLAYER_REQ_DEVLIST   1
 Request/reply subtype: get device list.
#define PLAYER_PLAYER_REQ_DRIVERINFO   2
 Request/reply subtype: get driver info.
#define PLAYER_PLAYER_REQ_DEV   3
 Request/reply subtype: (un)subscribe to device.
#define PLAYER_PLAYER_REQ_DATA   4
 A data message.
#define PLAYER_PLAYER_REQ_DATAMODE   5
 A data message.
#define PLAYER_PLAYER_REQ_AUTH   7
 A data message.
#define PLAYER_PLAYER_REQ_NAMESERVICE   8
 A data message.
#define PLAYER_PLAYER_REQ_IDENT   9
 A data message.
#define PLAYER_PLAYER_REQ_ADD_REPLACE_RULE   10
 A data message.
#define PLAYER_POSITION1D_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_POSITION1D_REQ_MOTOR_POWER   2
 Request/reply subtype: motor power.
#define PLAYER_POSITION1D_REQ_VELOCITY_MODE   3
 Request/reply subtype: velocity mode.
#define PLAYER_POSITION1D_REQ_POSITION_MODE   4
 Request/reply subtype: position mode.
#define PLAYER_POSITION1D_REQ_SET_ODOM   5
 Request/reply subtype: set odometry.
#define PLAYER_POSITION1D_REQ_RESET_ODOM   6
 Request/reply subtype: reset odometry.
#define PLAYER_POSITION1D_REQ_SPEED_PID   7
 Request/reply subtype: set speed PID params.
#define PLAYER_POSITION1D_REQ_POSITION_PID   8
 Request/reply subtype: set position PID params.
#define PLAYER_POSITION1D_REQ_SPEED_PROF   9
 Request/reply subtype: set speed profile params.
#define PLAYER_POSITION1D_DATA_STATE   1
 Data subtype: state.
#define PLAYER_POSITION1D_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_POSITION1D_CMD_VEL   1
 Command subtype: velocity command.
#define PLAYER_POSITION1D_CMD_POS   2
 Command subtype: position command.
#define PLAYER_POSITION1D_STATUS_LIMIT_MIN   0
 Status byte: limit min.
#define PLAYER_POSITION1D_STATUS_LIMIT_CEN   1
 Status byte: limit center.
#define PLAYER_POSITION1D_STATUS_LIMIT_MAX   2
 Status byte: limit max.
#define PLAYER_POSITION1D_STATUS_OC   3
 Status byte: limit over current.
#define PLAYER_POSITION1D_STATUS_TRAJ_COMPLETE   4
 Status byte: limit trajectory complete.
#define PLAYER_POSITION1D_STATUS_ENABLED   5
 Status byte: enabled.
#define PLAYER_POSITION2D_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_POSITION2D_REQ_MOTOR_POWER   2
 Request/reply subtype: motor power.
#define PLAYER_POSITION2D_REQ_VELOCITY_MODE   3
 Request/reply subtype: velocity mode.
#define PLAYER_POSITION2D_REQ_POSITION_MODE   4
 Request/reply subtype: position mode.
#define PLAYER_POSITION2D_REQ_SET_ODOM   5
 Request/reply subtype: set odometry.
#define PLAYER_POSITION2D_REQ_RESET_ODOM   6
 Request/reply subtype: reset odometry.
#define PLAYER_POSITION2D_REQ_SPEED_PID   7
 Request/reply subtype: set speed PID params.
#define PLAYER_POSITION2D_REQ_POSITION_PID   8
 Request/reply subtype: set position PID params.
#define PLAYER_POSITION2D_REQ_SPEED_PROF   9
 Request/reply subtype: set speed profile params.
#define PLAYER_POSITION2D_DATA_STATE   1
 Data subtype: state.
#define PLAYER_POSITION2D_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_POSITION2D_CMD_VEL   1
 Command subtype: velocity command.
#define PLAYER_POSITION2D_CMD_POS   2
 Command subtype: position command.
#define PLAYER_POSITION2D_CMD_CAR   3
 Command subtype: carlike command.
#define PLAYER_POSITION3D_DATA_STATE   1
 Data subtype: state.
#define PLAYER_POSITION3D_DATA_GEOMETRY   2
 Data subtype: geometry.
#define PLAYER_POSITION3D_CMD_SET_VEL   1
 Command subtype: velocity control.
#define PLAYER_POSITION3D_CMD_SET_POS   2
 Command subtype: position control.
#define PLAYER_POSITION3D_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_POSITION3D_MOTOR_POWER   2
 Request/reply subtype: motor power.
#define PLAYER_POSITION3D_VELOCITY_MODE   3
 Request/reply subtype: velocity mode.
#define PLAYER_POSITION3D_POSITION_MODE   4
 Request/reply subtype: position mode.
#define PLAYER_POSITION3D_RESET_ODOM   5
 Request/reply subtype: reset odometry.
#define PLAYER_POSITION3D_SET_ODOM   6
 Request/reply subtype: set odometry.
#define PLAYER_POSITION3D_SPEED_PID   7
 Request/reply subtype: set speed PID params.
#define PLAYER_POSITION3D_POSITION_PID   8
 Request/reply subtype: set position PID params.
#define PLAYER_POSITION3D_SPEED_PROF   9
 Request/reply subtype: set speed profile params.
#define PLAYER_POWER_DATA_STATE   1
 Data subtype: voltage.
#define PLAYER_POWER_SET_CHARGING_POLICY_REQ   1
 Request subtype: set charging policy.
#define PLAYER_POWER_MASK_VOLTS   1
 bit masks for the player_power_data_t mask field
#define PLAYER_POWER_MASK_WATTS   2
 A data message.
#define PLAYER_POWER_MASK_JOULES   4
 A data message.
#define PLAYER_POWER_MASK_PERCENT   8
 A data message.
#define PLAYER_POWER_MASK_CHARGING   16
 A data message.
#define PLAYER_PTZ_MAX_CONFIG_LEN   32
 Maximum command length for use with PLAYER_PTZ_REQ_GENERIC request; based on the Sony EVID30 camera right now.
#define PLAYER_PTZ_VELOCITY_CONTROL   0
 Control mode, for use with PLAYER_PTZ_REQ_CONTROL_MODE.
#define PLAYER_PTZ_POSITION_CONTROL   1
 Control mode, for use with PLAYER_PTZ_REQ_CONTROL_MODE.
#define PLAYER_PTZ_REQ_GENERIC   1
 Request/reply subtype: generic.
#define PLAYER_PTZ_REQ_CONTROL_MODE   2
 Request/reply subtype: control mode.
#define PLAYER_PTZ_REQ_AUTOSERVO   3
 Request/reply subtype: autoservo.
#define PLAYER_PTZ_REQ_GEOM   4
 Request/reply subtype: geometry.
#define PLAYER_PTZ_DATA_STATE   1
 Data subtype: state.
#define PLAYER_PTZ_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_PTZ_CMD_STATE   1
 Command subtype: state.
#define PLAYER_SIMULATION_IDENTIFIER_MAXLEN   64
 The maximum length of a string indentifying a simulation object or object property.
#define PLAYER_SIMULATION_REQ_SET_POSE2D   1
 Request/reply subtype: set 2D pose.
#define PLAYER_SIMULATION_REQ_GET_POSE2D   2
 Request/reply subtype: get 2D pose.
#define PLAYER_SIMULATION_REQ_SET_PROPERTY_INT   3
 Request/reply subtype: set integer property value.
#define PLAYER_SIMULATION_REQ_GET_PROPERTY_INT   4
 Request/reply subtype: get integer property value.
#define PLAYER_SIMULATION_REQ_SET_PROPERTY_FLOAT   5
 Request/reply subtype: set floating point property value.
#define PLAYER_SIMULATION_REQ_GET_PROPERTY_FLOAT   6
 Request/reply subtype: get floating point property value.
#define PLAYER_SIMULATION_REQ_SET_PROPERTY_STRING   7
 Request/reply subtype: set string property value.
#define PLAYER_SIMULATION_REQ_GET_PROPERTY_STRING   8
 Request/reply subtype: get string property value.
#define PLAYER_SONAR_MAX_SAMPLES   64
 maximum number of sonar samples in a data packet
#define PLAYER_SONAR_REQ_GET_GEOM   1
 Request/reply subtype: get geometry.
#define PLAYER_SONAR_REQ_POWER   2
 Request/reply subtype: power.
#define PLAYER_SONAR_DATA_RANGES   1
 Data subtype: ranges.
#define PLAYER_SONAR_DATA_GEOM   2
 Data subtype: geometry.
#define PLAYER_SOUND_CMD_IDX   1
 Commmand subtype: play clip.
#define PLAYER_SPEECH_MAX_STRING_LEN   256
 Maximum string length.
#define PLAYER_SPEECH_CMD_SAY   1
 Command subtype: say a string.
#define PLAYER_SPEECH_RECOGNITION_TEXT_LEN   256
 Maximum length of string to recognize.
#define PLAYER_SPEECH_RECOGNITION_DATA_STRING   1
 Data subtype: recognized string.
#define PLAYER_TRUTH_DATA_POSE   0x01
 Data subtype.
#define PLAYER_TRUTH_DATA_FIDUCIAL_ID   0x02
 Data subtype.
#define PLAYER_TRUTH_REQ_SET_POSE   0x03
 Request subtypes.
#define PLAYER_TRUTH_REQ_SET_FIDUCIAL_ID   0x04
 Request subtypes.
#define PLAYER_TRUTH_REQ_GET_FIDUCIAL_ID   0x05
 Request subtypes.
#define PLAYER_WAVEFORM_DATA_MAX   4096
 Maximum length of waveform.
#define PLAYER_WAVEFORM_DATA_SAMPLE   1
 Data subtype: sample.
#define PLAYER_WIFI_MAX_LINKS   32
 The maximum number of remote hosts to report on.
#define PLAYER_WIFI_QUAL_DBM   1
 link quality is in dBm
#define PLAYER_WIFI_QUAL_REL   2
 link quality is relative
#define PLAYER_WIFI_QUAL_UNKNOWN   3
 link quality is unknown
#define PLAYER_WIFI_MODE_UNKNOWN   0
 unknown operating mode
#define PLAYER_WIFI_MODE_AUTO   1
 driver decides the mode
#define PLAYER_WIFI_MODE_ADHOC   2
 ad hoc mode
#define PLAYER_WIFI_MODE_INFRA   3
 infrastructure mode (multi cell network, roaming)
#define PLAYER_WIFI_MODE_MASTER   4
 access point, master mode
#define PLAYER_WIFI_MODE_REPEAT   5
 repeater mode
#define PLAYER_WIFI_MODE_SECOND   6
 secondary/backup repeater
#define PLAYER_WIFI_MAC   1
 Request/reply subtype:.
#define PLAYER_WIFI_IWSPY_ADD   2
 Request/reply subtype:.
#define PLAYER_WIFI_IWSPY_DEL   3
 Request/reply subtype:.
#define PLAYER_WIFI_IWSPY_PING   4
 Request/reply subtype:.
#define PLAYER_WIFI_DATA_STATE   1
 Data subtype: state.
#define PLAYER_RFID_MAX_TAGS   30
 The maximum nr of tags that can be detected in the RF field in total.
#define PLAYER_RFID_MAX_GUID   8
 The maximum number of digits one RFID tag can have.
#define PLAYER_RFID_DATA   1
 Data subtype.
#define PLAYER_RFID_REQ_POWER   1
 Request/reply: put the reader in sleep mode (0) or wake it up (1).
#define PLAYER_RFID_REQ_READTAG   2
 Request/reply: read data from the RFID tag - to be implemented.
#define PLAYER_RFID_REQ_WRITETAG   3
 Request/reply: write data to the RFID tag - to be implemented.
#define PLAYER_RFID_REQ_LOCKTAG   4
 Request/reply: lock data blocks of a RFID tag - to be implemented.
#define PLAYER_WSN_DATA   1
 Data subtypes.
#define PLAYER_WSN_CMD_DEVSTATE   1
 Command subtype: set device state.
#define PLAYER_WSN_REQ_POWER   1
 Request/reply: put the node in sleep mode (0) or wake it up (1).
#define PLAYER_WSN_REQ_DATATYPE   2
 Request/reply: change the data type to RAW or converted metric units.
#define PLAYER_WSN_REQ_DATAFREQ   3
 Request/reply: change the receiving data frequency.
enum  player_graphics3d_draw_mode {
  PLAYER_DRAW_POINTS, PLAYER_DRAW_LINES, PLAYER_DRAW_LINE_STRIP, PLAYER_DRAW_LINE_LOOP,
  PLAYER_DRAW_TRIANGLES, PLAYER_DRAW_TRIANGLE_STRIP, PLAYER_DRAW_TRIANGLE_FAN, PLAYER_DRAW_QUADS,
  PLAYER_DRAW_QUAD_STRIP, PLAYER_DRAW_POLYGON
}
 

Drawmode: enumeration that defines the drawing mode.


typedef struct
player_actarray_actuator 
player_actarray_actuator_t
 Structure containing a single actuator's information.
typedef struct player_actarray_data player_actarray_data_t
 Data: state (PLAYER_ACTARRAY_DATA_STATE).
typedef struct
player_actarray_actuatorgeom 
player_actarray_actuatorgeom_t
 Actuator geometry.
typedef struct player_actarray_geom player_actarray_geom_t
 Request/reply: get geometry.
typedef struct
player_actarray_position_cmd 
player_actarray_position_cmd_t
 Command: Joint position control (PLAYER_ACTARRAY_POS_CMD).
typedef struct
player_actarray_speed_cmd 
player_actarray_speed_cmd_t
 Command: Joint speed control (PLAYER_ACTARRAY_SPEED_CMD).
typedef struct
player_actarray_home_cmd 
player_actarray_home_cmd_t
 Command: Joint home (PLAYER_ACTARRAY_HOME_CMD).
typedef struct
player_actarray_power_config 
player_actarray_power_config_t
 Request/reply: Power.
typedef struct
player_actarray_brakes_config 
player_actarray_brakes_config_t
 Request/reply: Brakes.
typedef struct
player_actarray_speed_config 
player_actarray_speed_config_t
 Request/reply: Speed.
typedef struct player_aio_data player_aio_data_t
 Data: state (PLAYER_AIO_DATA_STATE).
typedef struct player_aio_cmd player_aio_cmd_t
 Command: state (PLAYER_AIO_CMD_STATE).
typedef struct player_audio_data player_audio_data_t
 Data: tones detected.
typedef struct player_audio_cmd player_audio_cmd_t
 Command: tone to emit.
typedef struct player_audiodsp_data player_audiodsp_data_t
 Data: detected tones (PLAYER_AUDIODSP_DATA_TONES).
typedef struct player_audiodsp_cmd player_audiodsp_cmd_t
 Command: tone / chirp to play.
typedef struct
player_audiodsp_config 
player_audiodsp_config_t
 Request/reply : Get/set audio properties.
typedef struct
player_audiomixer_cmd 
player_audiomixer_cmd_t
 Command: set level.
typedef struct
player_audiomixer_config 
player_audiomixer_config_t
 Request/reply: Get levels.
typedef struct
player_blinkenlight_data 
player_blinkenlight_data_t
 Data: state (PLAYER_BLINKENLIGHT_DATA_STATE) The blinkenlight data provides the current state of the indicator light.
typedef struct
player_blinkenlight_cmd 
player_blinkenlight_cmd_t
 Command: state (PLAYER_BLINKENLIGHT_CMD_STATE) This blinkenlight command sets the complete current state of the indicator light.
typedef struct
player_blinkenlight_cmd_power 
player_blinkenlight_cmd_power_t
 Command: power (PLAYER_BLINKENLIGHT_CMD_POWER) This blinkenlight command turns the light on or off.
typedef struct
player_blinkenlight_cmd_color 
player_blinkenlight_cmd_color_t
 Command: color (PLAYER_BLINKENLIGHT_CMD_COLOR) This blinkenlight command sets the color of the light.
typedef struct
player_blinkenlight_cmd_period 
player_blinkenlight_cmd_period_t
 Command: period (PLAYER_BLINKENLIGHT_CMD_PERIOD) This blinkenlight command sets the duration of one on/off blink cycle in seconds.
typedef struct
player_blinkenlight_cmd_dutycycle 
player_blinkenlight_cmd_dutycycle_t
 Command: dutycycle (PLAYER_BLINKENLIGHT_CMD_DUTYCYCLE) This blinkenlight command sets the ratio of light-on to light-off time in one on/off blink cycle.
typedef struct
player_blobfinder_blob 
player_blobfinder_blob_t
 Structure describing a single blob.
typedef struct
player_blobfinder_data 
player_blobfinder_data_t
 Data: detected blobs (PLAYER_BLOBFINDER_DATA_BLOBS).
typedef struct
player_blobfinder_color_config 
player_blobfinder_color_config_t
 Request/reply: Set tracking color.
typedef struct
player_blobfinder_imager_config 
player_blobfinder_imager_config_t
 Configuration request: Set imager params.
typedef struct player_bumper_data player_bumper_data_t
 Data: state (PLAYER_BUMPER_DATA_GEOM).
typedef struct player_bumper_define player_bumper_define_t
 The geometry of a single bumper.
typedef struct player_bumper_geom player_bumper_geom_t
 Data AND Request/reply: bumper geometry.
typedef struct player_camera_data player_camera_data_t
 Data: state (PLAYER_CAMERA_DATA_STATE).
typedef struct player_dio_data player_dio_data_t
 Data: input values (PLAYER_DIO_DATA_VALUES).
typedef struct player_dio_cmd player_dio_cmd_t
 Command: output values (PLAYER_DIO_CMD_VALUES).
typedef struct player_energy_data player_energy_data_t
 Data: state (PLAYER_ENERGY_DATA_STATE).
typedef struct
player_energy_chargepolicy_config 
player_energy_chargepolicy_config_t
 Request/reply: set charging policy.
typedef struct player_fiducial_item player_fiducial_item_t
 Info on a single detected fiducial.
typedef struct player_fiducial_data player_fiducial_data_t
 Data: detected fiducials (PLAYER_FIDUCIAL_DATA_SCAN).
typedef struct player_fiducial_geom player_fiducial_geom_t
 Request/reply: Get geometry.
typedef struct player_fiducial_fov player_fiducial_fov_t
 Request/reply: Get/set sensor field of view.
typedef struct player_fiducial_id player_fiducial_id_t
 Request/reply: Get/set fiducial ID.
typedef struct player_gps_data player_gps_data_t
 Data: state (PLAYER_GPS_DATA_STATE).
typedef struct
player_graphics2d_cmd_points 
player_graphics2d_cmd_points_t
 Data: This interface produces no data.
typedef struct
player_graphics2d_cmd_polyline 
player_graphics2d_cmd_polyline_t
 Command: Draw polyline (PLAYER_GRAPHICS2D_CMD_POLYLINE) Draw a series of straight line segments between a set of points.
typedef struct
player_graphics2d_cmd_polygon 
player_graphics2d_cmd_polygon_t
 Command: Draw polygon (PLAYER_GRAPHICS2D_CMD_POLYGON) Draw a polygon.
typedef enum
player_graphics3d_draw_mode 
player_graphics3d_draw_mode_t
 Drawmode: enumeration that defines the drawing mode.
typedef struct
player_graphics3d_cmd_draw 
player_graphics3d_cmd_draw_t
 Data: This interface produces no data.
typedef struct player_gripper_data player_gripper_data_t
 Data: state (PLAYER_GRIPPER_DATA_STATE).
typedef struct player_gripper_cmd player_gripper_cmd_t
 Command: state (PLAYER_GRIPPER_CMD_STATE).
typedef struct player_gripper_geom player_gripper_geom_t
 Request/reply: get geometry.
typedef struct player_ir_data player_ir_data_t
 Data: ranges (PLAYER_IR_DATA_RANGES).
typedef struct player_ir_pose player_ir_pose_t
 Request/reply: get pose.
typedef struct player_ir_power_req player_ir_power_req_t
 Request/reply: set power.
typedef struct player_joystick_data player_joystick_data_t
 Data: state (PLAYER_JOYSTICK_DATA_STATE).
typedef struct player_laser_data player_laser_data_t
 Data: scan (PLAYER_LASER_DATA_SCAN).
typedef struct
player_laser_data_scanpose 
player_laser_data_scanpose_t
 Data: pose-stamped scan (PLAYER_LASER_DATA_SCANPOSE).
typedef struct player_laser_geom player_laser_geom_t
 Request/reply: Get geometry.
typedef struct player_laser_config player_laser_config_t
 Request/reply: Get/set scan properties.
typedef struct
player_laser_power_config 
player_laser_power_config_t
 Request/reply: Turn power on/off.
typedef struct player_limb_data player_limb_data_t
 Data: state (PLAYER_LIMB_DATA).
typedef struct player_limb_home_cmd player_limb_home_cmd_t
 Command: home (PLAYER_LIMB_HOME_CMD).
typedef struct player_limb_stop_cmd player_limb_stop_cmd_t
 Command: stop (PLAYER_LIMB_STOP_CMD).
typedef struct
player_limb_setpose_cmd 
player_limb_setpose_cmd_t
 Command: Set end effector pose (PLAYER_LIMB_SETPOSE_CMD).
typedef struct
player_limb_setposition_cmd 
player_limb_setposition_cmd_t
 Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD).
typedef struct
player_limb_vecmove_cmd 
player_limb_vecmove_cmd_t
 Command: Vector move the end effector (PLAYER_LIMB_VECMOVE_CMD).
typedef struct
player_limb_power_req 
player_limb_power_req_t
 Request/reply: Power.
typedef struct
player_limb_brakes_req 
player_limb_brakes_req_t
 Request/reply: Brakes.
typedef struct player_limb_geom_req player_limb_geom_req_t
 Request/reply: get geometry.
typedef struct
player_limb_speed_req 
player_limb_speed_req_t
 Request/reply: Speed.
typedef struct
player_localize_hypoth 
player_localize_hypoth_t
 Hypothesis format.
typedef struct player_localize_data player_localize_data_t
 Data: hypotheses (PLAYER_LOCALIZE_DATA_HYPOTHS).
typedef struct
player_localize_set_pose 
player_localize_set_pose_t
 Request/reply: Set the robot pose estimate.
typedef struct
player_localize_particle 
player_localize_particle_t
 A particle.
typedef struct
player_localize_get_particles 
player_localize_get_particles_t
 Request/reply: Get particles.
typedef struct
player_log_set_write_state 
player_log_set_write_state_t
 Request/reply: Set write state.
typedef struct
player_log_set_read_state 
player_log_set_read_state_t
 Request/reply: Set playback state.
typedef struct
player_log_set_read_rewind 
player_log_set_read_rewind_t
 Request/reply: Rewind playback.
typedef struct player_log_get_state player_log_get_state_t
 Request/reply: Get state.
typedef struct
player_log_set_filename 
player_log_set_filename_t
 Request/reply: Set filename.
typedef struct player_map_info player_map_info_t
 Data AND Request/reply: Map information.
typedef struct player_map_data player_map_data_t
 Request/reply: get grid map tile.
typedef struct
player_map_data_vector 
player_map_data_vector_t
 Request/reply: get vector map.
typedef struct player_mcom_data player_mcom_data_t
 A piece of data.
typedef struct player_mcom_config player_mcom_config_t
 Configuration request to the device.
typedef struct player_mcom_return player_mcom_return_t
 Configuration reply from the device.
typedef struct player_opaque_data player_opaque_data_t
 data
typedef struct player_planner_data player_planner_data_t
 Data: state (PLAYER_PLANNER_DATA_STATE).
typedef struct player_planner_cmd player_planner_cmd_t
 Command: state (PLAYER_PLANNER_CMD_GOAL).
typedef struct
player_planner_waypoints_req 
player_planner_waypoints_req_t
 Request/reply: Get waypoints.
typedef struct
player_planner_enable_req 
player_planner_enable_req_t
 Request/reply: Enable/disable robot motion.
typedef struct
player_device_devlist 
player_device_devlist_t
 Request/reply: Get the list of available devices.
typedef struct
player_device_driverinfo 
player_device_driverinfo_t
 Request/reply: Get the driver name for a particular device.
typedef struct player_device_req player_device_req_t
 Request/reply: (un)subscribe to a device.
typedef struct
player_device_data_req 
player_device_data_req_t
 Configuration request: Get data.
typedef struct
player_device_datamode_req 
player_device_datamode_req_t
 Configuration request: Change data delivery mode.
typedef struct
player_device_auth_req 
player_device_auth_req_t
 Configuration request: Authentication.
typedef struct
player_device_nameservice_req 
player_device_nameservice_req_t
 Nameservice request.
typedef struct
player_add_replace_rule_req 
player_add_replace_rule_req_t
 Configuration request: Add client queue replace rule.
typedef struct
player_position1d_data 
player_position1d_data_t
 Data: state (PLAYER_POSITION1D_DATA_STATE).
typedef struct
player_position1d_cmd_vel 
player_position1d_cmd_vel_t
 Command: state (PLAYER_POSITION1D_CMD_VEL).
typedef struct
player_position1d_cmd_pos 
player_position1d_cmd_pos_t
 Command: state (PLAYER_POSITION1D_CMD_POS).
typedef struct
player_position1d_geom 
player_position1d_geom_t
 Request/reply: Query geometry.
typedef struct
player_position1d_power_config 
player_position1d_power_config_t
 Request/reply: Motor power.
typedef struct
player_position1d_velocity_mode_config 
player_position1d_velocity_mode_config_t
 Request/reply: Change velocity control.
typedef struct
player_position1d_reset_odom_config 
player_position1d_reset_odom_config_t
 Request/reply: Reset odometry.
typedef struct
player_position1d_position_mode 
player_position1d_position_mode_req_t
 Request/reply: Change control mode.
typedef struct
player_position1d_set_odom 
player_position1d_set_odom_req_t
 Request/reply: Set odometry.
typedef struct
player_position1d_speed_pid 
player_position1d_speed_pid_req_t
 Request/reply: Set velocity PID parameters.
typedef struct
player_position1d_position_pid 
player_position1d_position_pid_req_t
 Request/reply: Set position PID parameters.
typedef struct
player_position1d_speed_prof 
player_position1d_speed_prof_req_t
 Request/reply: Set linear speed profile parameters.
typedef struct
player_position2d_data 
player_position2d_data_t
 Data: state (PLAYER_POSITION2D_DATA_STATE).
typedef struct
player_position2d_cmd_vel 
player_position2d_cmd_vel_t
 Command: velocity (PLAYER_POSITION2D_CMD_VEL).
typedef struct
player_position2d_cmd_pos 
player_position2d_cmd_pos_t
 Command: position (PLAYER_POSITION2D_CMD_POS).
typedef struct
player_position2d_cmd_car 
player_position2d_cmd_car_t
 Command: carlike (PLAYER_POSITION2D_CMD_CAR).
typedef struct
player_position2d_geom 
player_position2d_geom_t
 Data AND Request/reply: geometry.
typedef struct
player_position2d_power_config 
player_position2d_power_config_t
 Request/reply: Motor power.
typedef struct
player_position2d_velocity_mode_config 
player_position2d_velocity_mode_config_t
 Request/reply: Change velocity control.
typedef struct
player_position2d_reset_odom_config 
player_position2d_reset_odom_config_t
 Request/reply: Reset odometry.
typedef struct
player_position2d_position_mode_req 
player_position2d_position_mode_req_t
 Request/reply: Change control mode.
typedef struct
player_position2d_set_odom_req 
player_position2d_set_odom_req_t
 Request/reply: Set odometry.
typedef struct
player_position2d_speed_pid_req 
player_position2d_speed_pid_req_t
 Request/reply: Set velocity PID parameters.
typedef struct
player_position2d_position_pid_req 
player_position2d_position_pid_req_t
 Request/reply: Set position PID parameters.
typedef struct
player_position2d_speed_prof_req 
player_position2d_speed_prof_req_t
 Request/reply: Set linear speed profile parameters.
typedef struct
player_position3d_data 
player_position3d_data_t
 Data: state (PLAYER_POSITION3D_DATA_STATE).
typedef struct
player_position3d_cmd_pos 
player_position3d_cmd_pos_t
 Command: position (PLAYER_POSITION3D_CMD_SET_POS).
typedef struct
player_position3d_cmd_vel 
player_position3d_cmd_vel_t
 Command: velocity (PLAYER_POSITION3D_CMD_SET_VEL).
typedef struct
player_position3d_geom 
player_position3d_geom_t
 Request/reply: Query geometry.
typedef struct
player_position3d_power_config 
player_position3d_power_config_t
 Request/reply: Motor power.
typedef struct
player_position3d_position_mode_req 
player_position3d_position_mode_req_t
 Request/reply: Change position control.
typedef struct
player_position3d_velocity_mode_config 
player_position3d_velocity_mode_config_t
 Request/reply: Change velocity control.
typedef struct
player_position3d_set_odom_req 
player_position3d_set_odom_req_t
 Request/reply: Set odometry.
typedef struct
player_position3d_reset_odom_config 
player_position3d_reset_odom_config_t
 Request/reply: Reset odometry.
typedef struct
player_position3d_speed_pid_req 
player_position3d_speed_pid_req_t
 Request/reply: Set velocity PID parameters.
typedef struct
player_position3d_position_pid_req 
player_position3d_position_pid_req_t
 Request/reply: Set position PID parameters.
typedef struct
player_position3d_speed_prof_req 
player_position3d_speed_prof_req_t
 Request/reply: Set speed profile parameters.
typedef struct player_power_data player_power_data_t
 Data: voltage (PLAYER_POWER_DATA_STATE).
typedef struct
player_power_chargepolicy_config 
player_power_chargepolicy_config_t
 Request/reply: set charging policy.
typedef struct player_ptz_data player_ptz_data_t
 Data: state (PLAYER_PTZ_DATA_STATE).
typedef struct player_ptz_cmd player_ptz_cmd_t
 Command: state (PLAYER_PTZ_CMD_STATE).
typedef struct player_ptz_geom player_ptz_geom_t
 Request/reply: Query geometry.
typedef struct
player_ptz_req_generic 
player_ptz_req_generic_t
 Request/reply: Generic request.
typedef struct
player_ptz_req_control_mode 
player_ptz_req_control_mode_t
 Request/reply: Control mode.
typedef struct
player_simulation_data 
player_simulation_data_t
 Data.
typedef struct
player_simulation_cmd 
player_simulation_cmd_t
 Command.
typedef struct
player_simulation_pose2d_req 
player_simulation_pose2d_req_t
 Request/reply: get/set 2D pose of a named simulation object.
typedef struct
player_simulation_property_int_req 
player_simulation_property_int_req_t
 Request/reply: get/set integer property of a named simulation object.
typedef struct
player_simulation_property_float_req 
player_simulation_property_float_req_t
 Request/reply: get/set floating-point property of a named simulation object.
typedef struct
player_simulation_property_string_req 
player_simulation_property_string_req_t
 Request/reply: get/set string property of a named simulation object.
typedef struct player_sonar_data player_sonar_data_t
 Data: ranges (PLAYER_SONAR_DATA_RANGES).
typedef struct player_sonar_geom player_sonar_geom_t
 Data AND Request/reply: geometry.
typedef struct
player_sonar_power_config 
player_sonar_power_config_t
 Request/reply: Sonar power.
typedef struct player_sound_cmd player_sound_cmd_t
 Command: play clip (PLAYER_SOUND_CMD_IDX).
typedef struct player_speech_cmd player_speech_cmd_t
 Command: say a string (PLAYER_SPEECH_CMD_SAY).
typedef struct
player_speech_recognition_data 
player_speech_recognition_data_t
 Data: recognized string (PLAYER_SPEECH_MAX_STRING_LEN).
typedef struct player_truth_pose player_truth_pose_t
 Data.
typedef struct
player_truth_fiducial_id 
player_truth_fiducial_id_t
 Configuration request: Get/set fiducial ID number.
typedef struct player_waveform_data player_waveform_data_t
 Data: sample (PLAYER_WAVEFORM_DATA_SAMPLE).
typedef struct player_wifi_link player_wifi_link_t
 Link information for one host.
typedef struct player_wifi_data player_wifi_data_t
 Data: state (PLAYER_WIFI_DATA_STATE).
typedef struct player_wifi_mac_req player_wifi_mac_req_t
 Request/reply:.
typedef struct
player_wifi_iwspy_addr_req 
player_wifi_iwspy_addr_req_t
 Request/reply:.
typedef struct player_rfid_tag player_rfid_tag_t
 Structure describing a single RFID tag.
typedef struct player_rfid_data player_rfid_data_t
 Data.
typedef struct player_rfid_cmd player_rfid_cmd_t
 Command.
typedef struct player_wsn_node_data player_wsn_node_data_t
 Structure describing the WSN node's data packet.
typedef struct player_wsn_data player_wsn_data_t
 Data (PLAYER_WSN_DATA).
typedef struct player_wsn_cmd player_wsn_cmd_t
 Command: set device state (PLAYER_WSN_CMD_DEVSTATE) This wsn command sets the state of the node's indicator lights or its buzzer/sounder (if equipped with one).
typedef struct
player_wsn_power_config 
player_wsn_power_config_t
 Request/reply: Put the node in sleep mode (0) or wake it up (1).
typedef struct
player_wsn_datatype_config 
player_wsn_datatype_config_t
 Request/reply: change the data type to RAW or converted engineering units.
typedef struct
player_wsn_datafreq_config 
player_wsn_datafreq_config_t
 Request/reply: Change data delivery frequency.

Detailed Description

The Player message types.


Define Documentation

#define PLAYER_ACTARRAY_CODE   53

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_ACTARRAY_STRING   "actarray"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AIO_CODE   21

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AIO_STRING   "aio"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIO_CODE   9

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIO_STRING   "audio"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIODSP_CODE   28

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIODSP_STRING   "audiodsp"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIOMIXER_CODE   29

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_AUDIOMIXER_STRING   "audiomixer"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_BLINKENLIGHT_CODE   33

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_BLINKENLIGHT_STRING   "blinkenlight"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_BLOBFINDER_CODE   7

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_BLOBFINDER_MAX_BLOBS   256

The maximum number of blobs in total.

#define PLAYER_BLOBFINDER_STRING   "blobfinder"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_BUMPER_CODE   14

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by RFLEX::Subscribe(), and RFLEX::Unsubscribe().

#define PLAYER_BUMPER_STRING   "bumper"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_CAMERA_CODE   40

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by SphereDriver::SphereDriver().

#define PLAYER_CAMERA_FORMAT_MONO16   2

Image format : 16-bit monochrome (network byte order).

#define PLAYER_CAMERA_FORMAT_MONO8   1

Image format : 8-bit monochrome.

Referenced by SphereDriver::Setup().

#define PLAYER_CAMERA_FORMAT_RGB565   4

Image format : 16-bit color (5 bits R, 6 bits G, 5 bits B).

#define PLAYER_CAMERA_FORMAT_RGB888   5

Image format : 24-bit color (8 bits R, 8 bits G, 8 bits B).

Referenced by SphereDriver::Setup().

#define PLAYER_CAMERA_STRING   "camera"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_DATAMODE_PULL   2

Data delivery mode: Only on request, send data from all subscribed devices.

A PLAYER_MSGTYPE_SYNCH packet follows each set of data. Request should be made automatically by client libraries when they begin reading.

#define PLAYER_DATAMODE_PUSH   1

Data delivery mode: Send data from all subscribed devices all the time (i.e.

when it's ready on the server).

#define PLAYER_DIO_CODE   20

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_DIO_STRING   "dio"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_ENERGY_CODE   46

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_ENERGY_STRING   "energy"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_FIDUCIAL_CODE   10

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_FIDUCIAL_MAX_SAMPLES   32

The maximum number of fiducials that can be detected at one time.

#define PLAYER_FIDUCIAL_STRING   "fiducial"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GPS_CODE   13

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GPS_STRING   "gps"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRAPHICS2D_CODE   55

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRAPHICS2D_MAX_POINTS   64

The maximum number of points that can be described in a packet.

#define PLAYER_GRAPHICS2D_STRING   "graphics2d"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRAPHICS3D_CODE   58

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRAPHICS3D_MAX_POINTS   64

The maximum number of points that can be described in a packet.

#define PLAYER_GRAPHICS3D_STRING   "graphics3d"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRIPPER_CODE   3

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_GRIPPER_STRING   "gripper"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_IR_CODE   22

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by RFLEX::Subscribe(), Khepera::Subscribe(), RFLEX::Unsubscribe(), and Khepera::Unsubscribe().

#define PLAYER_IR_STRING   "ir"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_JOYSTICK_CODE   49

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_JOYSTICK_STRING   "joystick"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LASER_CODE   6

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LASER_STRING   "laser"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LIMB_CODE   54

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LIMB_STRING   "limb"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LOCALIZE_CODE   25

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LOCALIZE_MAX_HYPOTHS   10

The maximum number of pose hypotheses.

#define PLAYER_LOCALIZE_STRING   "localize"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LOG_CODE   45

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_LOG_STRING   "log"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_MAP_CODE   42

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_MAP_MAX_SEGMENTS   131068

The maximum number of segments in a vector map.

(2097152 - 30 (msg header) - 20 (meta-data to accompany the lines)) / 16 (size of each line) = 131068

#define PLAYER_MAP_MAX_TILE_SIZE   (((int)((PLAYER_MAX_PAYLOAD_SIZE-12)/1.001)) - 20 - 1)

The maximum size of a grid map tile, in cells.

(max_payload - 12 (zlib header)) / 1.001 (zlib overhead) - 20 (tile meta-data)

Referenced by MapTransform::ProcessMessage().

#define PLAYER_MAP_STRING   "map"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_MCOM_CODE   26

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_MCOM_STRING   "mcom"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_MSGTYPE_CMD   2

A command message.

Such messages are asynchronously published to devices, and are usually used to change some aspect of the device's state.

Referenced by wbr914::ProcessMessage(), SphereDriver::ProcessMessage(), SegwayRMP::ProcessMessage(), RFLEX::ProcessMessage(), P2OS::ProcessMessage(), Khepera::ProcessMessage(), GarciaDriver::ProcessMessage(), Erratic::ProcessMessage(), ER::ProcessMessage(), and ClodBuster::ProcessMessage().

#define PLAYER_MSGTYPE_DATA   1

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by RFLEX::Main(), REB::Main(), ER::Main(), ClodBuster::Main(), LaserTransform::ProcessMessage(), ImageBase::ProcessMessage(), and GarciaDriver::ProcessMessage().

#define PLAYER_MSGTYPE_REQ   3

A request message.

Such messages are published synchronously to devices, usually to get or set some aspect of the device's state that is not available in data or command messages. Every request message gets a response message (either PLAYER_MSGTYPE_RESP_ACK or PLAYER_MSGTYPE_RESP_NACK).

Referenced by wbr914::ProcessMessage(), SegwayRMP::ProcessMessage(), RFLEX::ProcessMessage(), P2OS::ProcessMessage(), MapTransform::ProcessMessage(), LaserTransform::ProcessMessage(), Khepera::ProcessMessage(), GarciaDriver::ProcessMessage(), Erratic::ProcessMessage(), ER::ProcessMessage(), ClodBuster::ProcessMessage(), and AdaptiveMCL::ProcessMessage().

#define PLAYER_MSGTYPE_RESP_ACK   4

A positive response message.

Such messages are published in response to a PLAYER_MSGTYPE_REQ. This message indicates that the underlying driver received, interpreted, and processed the request. Any requested data is in the body of this response message.

Referenced by RFLEX::ProcessMessage(), MapTransform::ProcessMessage(), LaserTransform::ProcessMessage(), Khepera::ProcessMessage(), ER::ProcessMessage(), ClodBuster::ProcessMessage(), and AdaptiveMCL::ProcessMessage().

#define PLAYER_MSGTYPE_RESP_NACK   6

A negative response message.

Such messages are published in response to a PLAYER_MSGTYPE_REQ. This messages indicates that the underlying driver did not process the message. Possible causes include: the driver's message queue was full, the driver failed to interpret the request, or the the driver does not support the request. This message will have no data in the body.

Referenced by LaserTransform::ProcessMessage(), Khepera::ProcessMessage(), ER::ProcessMessage(), and AdaptiveMCL::ProcessMessage().

#define PLAYER_MSGTYPE_SYNCH   5

A synch message.

Only used in PLAYER_DATAMODE_PULL mode. Sent at the end of the set of messages that are sent in response to a PLAYER_PLAYER_REQ_DATA request.

#define PLAYER_NOMAD_CODE   34

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_NOMAD_STRING   "nomad"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_NULL_CODE   256

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_NULL_STRING   "null"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_OPAQUE_CODE   51

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_OPAQUE_STRING   "opaque"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLANNER_CODE   44

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLANNER_STRING   "planner"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_CODE   1

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_ADD_REPLACE_RULE   10

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_AUTH   7

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_DATA   4

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_DATAMODE   5

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_IDENT   9

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_REQ_NAMESERVICE   8

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PLAYER_STRING   "player"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POSITION1D_CODE   52

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POSITION1D_STRING   "position1d"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POSITION2D_CODE   4

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by RFLEX::Subscribe(), Khepera::Subscribe(), RFLEX::Unsubscribe(), and Khepera::Unsubscribe().

#define PLAYER_POSITION2D_STRING   "position2d"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POSITION3D_CODE   30

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POSITION3D_STRING   "position3d"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_CODE   2

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_MASK_CHARGING   16

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_MASK_JOULES   4

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_MASK_PERCENT   8

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_MASK_WATTS   2

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_POWER_STRING   "power"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_PTZ_CODE   8

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by SphereDriver::SphereDriver().

#define PLAYER_PTZ_MAX_CONFIG_LEN   32

Maximum command length for use with PLAYER_PTZ_REQ_GENERIC request; based on the Sony EVID30 camera right now.

#define PLAYER_PTZ_STRING   "ptz"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_RFID_CODE   56

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_RFID_MAX_GUID   8

The maximum number of digits one RFID tag can have.

#define PLAYER_RFID_MAX_TAGS   30

The maximum nr of tags that can be detected in the RF field in total.

#define PLAYER_RFID_REQ_LOCKTAG   4

Request/reply: lock data blocks of a RFID tag - to be implemented.

#define PLAYER_RFID_REQ_POWER   1

Request/reply: put the reader in sleep mode (0) or wake it up (1).

#define PLAYER_RFID_REQ_READTAG   2

Request/reply: read data from the RFID tag - to be implemented.

#define PLAYER_RFID_REQ_WRITETAG   3

Request/reply: write data to the RFID tag - to be implemented.

#define PLAYER_RFID_STRING   "rfid"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SIMULATION_CODE   31

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SIMULATION_IDENTIFIER_MAXLEN   64

The maximum length of a string indentifying a simulation object or object property.

#define PLAYER_SIMULATION_STRING   "simulation"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SONAR_CODE   5

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

Referenced by RFLEX::Subscribe(), and RFLEX::Unsubscribe().

#define PLAYER_SONAR_STRING   "sonar"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SOUND_CODE   27

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SOUND_STRING   "sound"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SPEECH_CODE   12

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SPEECH_RECOGNITION_CODE   50

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SPEECH_RECOGNITION_STRING   "speech_recognition"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_SPEECH_STRING   "speech"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_TRUTH_CODE   15

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_TRUTH_REQ_GET_FIDUCIAL_ID   0x05

Request subtypes.

#define PLAYER_TRUTH_REQ_SET_FIDUCIAL_ID   0x04

Request subtypes.

#define PLAYER_TRUTH_REQ_SET_POSE   0x03

Request subtypes.

#define PLAYER_TRUTH_STRING   "truth"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WAVEFORM_CODE   24

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WAVEFORM_STRING   "waveform"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WIFI_CODE   23

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WIFI_STRING   "wifi"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WSN_CODE   57

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.

#define PLAYER_WSN_REQ_DATAFREQ   3

Request/reply: change the receiving data frequency.

#define PLAYER_WSN_REQ_DATATYPE   2

Request/reply: change the data type to RAW or converted metric units.

#define PLAYER_WSN_REQ_POWER   1

Request/reply: put the node in sleep mode (0) or wake it up (1).

#define PLAYER_WSN_STRING   "wsn"

A data message.

Such messages are asynchronously published from devices, and are usually used to reflect some part of the device's state.


Typedef Documentation

Request/reply: Brakes.

Send a PLAYER_ACTARRAY_BRAKES_REQ request to turn the brakes of all actuators in the array that have them on or off. Null response.

Data: state (PLAYER_ACTARRAY_DATA_STATE).

The actuator array data packet.

Request/reply: get geometry.

Send a null PLAYER_ACTARRAY_GET_GEOM_REQ request to receive the geometry in this form.

Command: Joint home (PLAYER_ACTARRAY_HOME_CMD).

Tells a joint (or the whole array) to go to home position.

Command: Joint position control (PLAYER_ACTARRAY_POS_CMD).

Tells a joint to attempt to move to a requested position.

Request/reply: Power.

Send a PLAYER_ACTARRAY_POWER_REQ request to turn the power to all actuators in the array on or off. Be careful when turning power on that the array is not obstructed from its home position in case it moves to it (common behaviour). Null response.

Command: Joint speed control (PLAYER_ACTARRAY_SPEED_CMD).

Tells a joint to attempt to move at a requested speed.

Request/reply: Speed.

Send a PLAYER_ACTARRAY_SPEED_REQ request to set the speed of a joint for all subsequent movements. Null response.

Configuration request: Add client queue replace rule.

Allows the client to add a replace rule to their server queue. Replace rules define which messages will be replaced when new data arrives. If you are not updating frequently from ther server then the use of replace rules for data packets will stop any queue overflow messages

Each field in the request type corresponds to the equivalent field in the message header use -1 for a dont care value.

Command: state (PLAYER_AIO_CMD_STATE).

The aio interface allows for the voltage level on one output to be set

Data: state (PLAYER_AIO_DATA_STATE).

The aio interface returns data regarding the current state of the analog inputs.

Command: tone to emit.

The audio interface accepts commands to produce fixed-frequency tones through /dev/dsp (which is assumed to be associated with a sound card to which a speaker is attached).

Data: tones detected.

The audio interface reads the audio stream from /dev/audio (which is assumed to be associated with a sound card connected to a microphone) and performs some analysis on it. PLAYER_AUDIO_PAIRS number of frequency/amplitude pairs are then returned as data.

Command: tone / chirp to play.

The audiodsp interface accepts commands to produce fixed-frequency tones or binary phase shift keyed(BPSK) chirps through /dev/dsp (which is assumed to be associated with a sound card to which a speaker is attached). The command subtype, which should be PLAYER_AUDIODSP_PLAY_TONE, PLAYER_AUDIODSP_PLAY_CHIRP, or PLAYER_AUDIODSP_REPLAY, determines what to do.

Request/reply : Get/set audio properties.

Send a null PLAYER_AUDIODSP_GET_CONFIG request to receive the audiodsp configuration. Send a full PLAYER_AUDIODSP_SET_CONFIG request to modify the configuration (and receive a null response).

The sample format is defined in sys/soundcard.h, and defines the byte size and endian format for each sample.

The sample rate defines the Hertz at which to sample.

Mono or stereo sampling is defined in the channels parameter where 1==mono and 2==stereo.

Data: detected tones (PLAYER_AUDIODSP_DATA_TONES).

The audiodsp interface reads the audio stream from /dev/dsp (which is assumed to be associated with a sound card connected to a microphone) and performs some analysis on it. PLAYER_AUDIODSP_MAX_FREQS number of frequency/amplitude pairs are then returned as data.

Command: set level.

The audiomixer interface accepts commands to set the left and right volume levels of various channels. The channel is determined by the subtype of the command: PLAYER_AUDIOMIXER_SET_MASTER for the master volume, PLAYER_AUDIOMIXER_SET_PCM for the PCM volume, PLAYER_AUDIOMIXER_SET_LINE for the line in volume, PLAYER_AUDIOMIXER_SET_MIC for the microphone volume, PLAYER_AUDIOMIXER_SET_IGAIN for the input gain, and PLAYER_AUDIOMIXER_SET_OGAIN for the output gain.

Request/reply: Get levels.

Send a null PLAYER_AUDIOMIXER_GET_LEVELS request to receive the current state of the mixer levels.

Command: state (PLAYER_BLINKENLIGHT_CMD_STATE) This blinkenlight command sets the complete current state of the indicator light.

Data: state (PLAYER_BLINKENLIGHT_DATA_STATE) The blinkenlight data provides the current state of the indicator light.

Structure describing a single blob.

Request/reply: Set tracking color.

For some sensors (ie CMUcam), simple blob tracking tracks only one color. To set the tracking color, send a PLAYER_BLOBFINDER_REQ_SET_COLOR request with the format below, including the RGB color ranges (max and min). Values of -1 will cause the track color to be automatically set to the current window color. This is useful for setting the track color by holding the tracking object in front of the lens. Null response.

Data: detected blobs (PLAYER_BLOBFINDER_DATA_BLOBS).

The list of detected blobs, returned as data by blobfinder devices.

Configuration request: Set imager params.

Imaging sensors that do blob tracking generally have some sorts of image quality parameters that you can tweak. The following ones are implemented here:

  • brightness (0-255)
  • contrast (0-255)
  • auto gain (0=off, 1=on)
  • color mode (0=RGB/AutoWhiteBalance Off, 1=RGB/AutoWhiteBalance On, 2=YCrCB/AWB Off, 3=YCrCb/AWB On) To set the params, send a PLAYER_BLOBFINDER_REQ_SET_IMAGER_PARAMS request with the format below. Any values set to -1 will be left unchanged. Null response.

Data: state (PLAYER_BUMPER_DATA_GEOM).

The bumper interface gives current bumper state

Data AND Request/reply: bumper geometry.

To query the geometry of a bumper array, send a null PLAYER_BUMPER_GET_GEOM request. The response will be in this form. This message may also be sent as data with the subtype PLAYER_BUMPER_DATA_GEOM (e.g., from a robot whose bumper can move with respect to its body)

Configuration request: Authentication.

Todo:
Add support for this mechanism to libplayertcp. Right now, it's disabled.

If server authentication has been enabled (by providing '-key <key>' on the command-line); then each client must authenticate itself before otherwise interacting with the server. To authenticate, send a request with this format.

If the key matches the server's key then the client is authenticated, the server will reply with a zero-length acknowledgement, and the client can continue with other operations. If the key does not match, or if the client attempts any other server interactions before authenticating, then the connection will be closed immediately. It is only necessary to authenticate each client once.

Note that this support for authentication is NOT a security mechanism. The keys are always in plain text, both in memory and when transmitted over the network; further, since the key is given on the command-line, there is a very good chance that you can find it in plain text in the process table (in Linux try 'ps -ax | grep player'). Thus you should not use an important password as your key, nor should you rely on Player authentication to prevent bad guys from driving your robots (use a firewall instead). Rather, authentication was introduced into Player to prevent accidentally connecting one's client program to someone else's robot. This kind of accident occurs primarily when Stage is running in a multi-user environment. In this case it is very likely that there is a Player server listening on port 6665, and clients will generally connect to that port by default, unless a specific option is given.

This mechanism was never really used, and may be removed.

Configuration request: Get data.

When the server is in a PLAYER_DATAMODE_PULL data delivery mode, the client can request a single round of data by sending a zero-argument request with type code PLAYER_PLAYER_REQ_DATA. The response will be a zero-length acknowledgement.

Configuration request: Change data delivery mode.

The Player server supports two data modes, described above. By default, the server operates in PLAYER_DATAMODE_PUSH mode. To switch to a different mode send a request with the format given below. The server's reply will be a zero-length acknowledgement.

Request/reply: Get the list of available devices.

It's useful for applications such as viewer programs and test suites that tailor behave differently depending on which devices are available. To request the list, send a null PLAYER_PLAYER_REQ_DEVLIST.

Request/reply: Get the driver name for a particular device.

To get a name, send a PLAYER_PLAYER_REQ_DRIVERINFO request that specifies the address of the desired device in the addr field. Set driver_name_count to 0 and leave driver_name empty. The response will contain the driver name.

Nameservice request.

Todo:
Update this structure and add support for it to libplayertcp. Right now it's disabled.

Request/reply: (un)subscribe to a device.

This is the most important request! Before interacting with a device, the client must request appropriate access. Valid access modes are:

  • PLAYER_OPEN_MODE : subscribe to the device. You will receive any data published by the device and you may send it commands and/or requests.
  • PLAYER_CLOSE_MODE : unsubscribe from the device.
  • PLAYER_ERROR_MODE : the requested access was not granted (only appears in responses)

To request access, send a PLAYER_PLAYER_REQ_DEV request that specifies the desired device address in the addr field and the desired access mode in access. Set driver_name_count to 0 and leave driver_name empty. The response will indicate the granted access in the access field and the name of the underyling driver in the driver_name field. Note that the granted access may not be the same as the requested access (e.g., if initialization of the driver failed).

Command: output values (PLAYER_DIO_CMD_VALUES).

The dio interface accepts 4-byte commands which consist of the ouput bitfield

Data: input values (PLAYER_DIO_DATA_VALUES).

The dio interface returns data regarding the current state of the digital inputs.

Request/reply: set charging policy.

Send a PLAYER_ENERGY_SET_CHARGING_POLICY_REQ request to change the charging policy.

Data: state (PLAYER_ENERGY_DATA_STATE).

The energy interface reports he amount of energy stored, current rate of energy consumption or aquisition, and whether or not the device is connected to a charger.

Data: detected fiducials (PLAYER_FIDUCIAL_DATA_SCAN).

The fiducial data packet (all fiducials).

Request/reply: Get/set sensor field of view.

The field of view of the fiducial device can be set using the PLAYER_FIDUCIAL_REQ_SET_FOV request (response will be null), and queried using a null PLAYER_FIDUCIAL_REQ_GET_FOV request.

Request/reply: Get geometry.

The geometry (pose and size) of the fiducial device can be queried by sending a null PLAYER_FIDUCIAL_REQ_GET_GEOM request.

Request/reply: Get/set fiducial ID.

Some fiducial finder devices display their own fiducial. Send a null PLAYER_FIDUCIAL_REQ_GET_ID request to get the identifier displayed by the fiducial.

Some devices can dynamically change the identifier they display. Send a PLAYER_FIDUCIAL_REQ_SET_ID request to set the currently displayed value. Make the request with the player_fiducial_id_t structure. The device replies with the same structure with the id field set to the value it actually used. You should check this value, as the device may not be able to display the value you requested.

Currently supported by the stg_fiducial driver.

Info on a single detected fiducial.

The fiducial data packet contains a list of these.

Data: state (PLAYER_GPS_DATA_STATE).

The gps interface gives current global position and heading information.

Todo:
: Review the units used here

Data: This interface produces no data.

Requests: This interface accepts no requests. Command: Draw points (PLAYER_GRAPHICS2D_CMD_POINTS) Draw some points.

Data: This interface produces no data.

Requests: This interface accepts no requests. Command: Draw points (PLAYER_GRAPHICS2D_CMD_POINTS) Draw some points.

Command: state (PLAYER_GRIPPER_CMD_STATE).

The gripper interface accepts 2-byte commands, the format of which is given below. These two bytes are sent directly to the gripper; refer to Table 3-3 page 10 in the Pioneer 2 Gripper Manual for a list of commands. The first byte is the command. The second is the argument for the LIFTcarry and GRIPpress commands, but for all others it is ignored.

Data: state (PLAYER_GRIPPER_DATA_STATE).

The gripper interface returns 2 bytes that represent the current state of the gripper; the format is given below. Note that the exact interpretation of this data may vary depending on the details of your gripper and how it is connected to your robot (e.g., General I/O vs. User I/O for the Pioneer gripper).

The following list defines how the data can be interpreted for some Pioneer robots and Stage:

  • state (unsigned byte)
    • bit 0: Paddles open
    • bit 1: Paddles closed
    • bit 2: Paddles moving
    • bit 3: Paddles error
    • bit 4: Lift is up
    • bit 5: Lift is down
    • bit 6: Lift is moving
    • bit 7: Lift error
  • beams (unsigned byte)
    • bit 0: Gripper limit reached
    • bit 1: Lift limit reached
    • bit 2: Outer beam obstructed
    • bit 3: Inner beam obstructed
    • bit 4: Left paddle open
    • bit 5: Right paddle open

Request/reply: get geometry.

The geometry (pose and size) of the gripper device can be queried by sending a null PLAYER_GRIPPER_REQ_GET_GEOM request.

Data: ranges (PLAYER_IR_DATA_RANGES).

The ir interface returns range readings from the IR array.

Request/reply: get pose.

To query the pose of the IRs, send a null PLAYER_IR_POSE request.

Request/reply: set power.

To turn IR power on and off, send a PLAYER_IR_POWER request. Null response.

Data: state (PLAYER_JOYSTICK_DATA_STATE).

The joystick data packet, which contains the current state of the joystick

Request/reply: Get/set scan properties.

The scan configuration (resolution, aperture, etc) can be queried by sending a null PLAYER_LASER_REQ_GET_CONFIG request and modified by sending a PLAYER_LASER_REQ_SET_CONFIG request. In either case, the current configuration (after attempting any requested modification) will be returned in the response. Read the documentation for your driver to determine what configuration values are permissible.

Data: pose-stamped scan (PLAYER_LASER_DATA_SCANPOSE).

A laser scan with a pose that indicates the (possibly esimated) pose of the laser when the scan was taken.

Data: scan (PLAYER_LASER_DATA_SCAN).

The basic laser data packet.

Request/reply: Get geometry.

The laser geometry (position and size) can be queried by sending a null PLAYER_LASER_REQ_GET_GEOM request.

Request/reply: Turn power on/off.

Send a PLAYER_LASER_REQ_POWER request to turn laser power on or off (assuming your hardware supports it).

Request/reply: Brakes.

Turn the brakes of the limb on or off by sending a PLAYER_LIMB_BRAKES_REQ request. Null response

Data: state (PLAYER_LIMB_DATA).

The limb data packet.

Request/reply: get geometry.

Query geometry by sending a null PLAYER_LIMB_GEOM_REQ reqest.

Command: home (PLAYER_LIMB_HOME_CMD).

Tells the end effector to return to its home position.

Request/reply: Power.

Turn the power to the limb by sending a PLAYER_LIMB_POWER_REQ request. Be careful when turning power on that the limb is not obstructed from its home position in case it moves to it (common behaviour). Null reponse

Command: Set end effector pose (PLAYER_LIMB_SETPOSE_CMD).

Provides a fully-described pose (position, normal vector and orientation vector) for the end effector to move to.

Command: Set end effector position (PLAYER_LIMB_SETPOSITION_CMD).

Set the position of the end effector without worrying about a specific orientation.

Request/reply: Speed.

Set the speed of the end effector for all subsequent movements by sending a PLAYER_LIMB_SPEED_REQ request. Null response.

Command: stop (PLAYER_LIMB_STOP_CMD).

Tells the limb to stop moving immediatly.

Command: Vector move the end effector (PLAYER_LIMB_VECMOVE_CMD).

Move the end effector along the provided vector from its current position for the provided distance.

Data: hypotheses (PLAYER_LOCALIZE_DATA_HYPOTHS).

The localize interface returns a data packet containing an an array of hypotheses.

Request/reply: Get particles.

To get (usually a subset of) the current particle set (assuming the underlying driver uses a particle filter), send a null PLAYER_LOCALIZE_REQ_GET_PARTICLES request.

Hypothesis format.

Since the robot pose may be ambiguous (i.e., the robot may at any of a number of widely spaced locations), the localize interface is capable of returning more that one hypothesis.

Request/reply: Set the robot pose estimate.

Set the current robot pose hypothesis by sending a PLAYER_LOCALIZE_REQ_SET_POSE request. Null response.

Request/reply: Get state.

To find out whether logging/playback is enabled or disabled, send a null PLAYER_LOG_REQ_GET_STATE request.

Request/reply: Set filename.

To set the name of the file to write to when logging, send a PLAYER_LOG_REQ_SET_FILENAME request. Null response.

Request/reply: Rewind playback.

To rewind log playback to beginning of logfile, send a PLAYER_LOG_REQ_SET_READ_REWIND request. Does not affect playback state (i.e., whether it is started or stopped. Null response.

Request/reply: Set playback state.

To start or stop data playback, send a PLAYER_LOG_REQ_SET_READ_STATE request. Null response.

Request/reply: Set write state.

To start or stop data logging, send a PLAYER_LOG_REQ_SET_WRITE_STATE request. Null response.

Request/reply: get grid map tile.

To request a grid map tile, send a PLAYER_MAP_REQ_GET_DATA request with the tile origin and size you want. Set data_count to 0 and leave the data field empty. The response will contain origin, size, and occupancy data for a tile. Note that the response tile may not be exactly the same as the tile you requested (e.g., your requested tile is too large or runs off the map).

Request/reply: get vector map.

A vector map is represented as line segments. To retrieve the vector map, send a null PLAYER_MAP_REQ_GET_VECTOR request.

Data AND Request/reply: Map information.

To retrieve the size and scale information of a map, send a null PLAYER_MAP_REQ_GET_INFO request. This message can also be sent as data, with the subtype PLAYER_MAP_DATA_INFO, depending on the underlying driver.

Configuration request to the device.

A piece of data.

Configuration reply from the device.

Command: state (PLAYER_PLANNER_CMD_GOAL).

The planner interface accepts a new goal.

Data: state (PLAYER_PLANNER_DATA_STATE).

The planner interface reports the current execution state of the planner.

Request/reply: Enable/disable robot motion.

To enable or disable the planner, send a PLAYER_PLANNER_REQ_ENABLE request. When disabled, the planner will stop the robot. When enabled, the planner should resume plan execution. Null response.

Request/reply: Get waypoints.

To retrieve the list of waypoints, send a null PLAYER_PLANNER_REQ_GET_WAYPOINTS request.

Command: state (PLAYER_POSITION1D_CMD_POS).

The position1d interface accepts new positions for the robot's motors (drivers may support position control, speed control, or both).

Command: state (PLAYER_POSITION1D_CMD_VEL).

The position1d interface accepts new velocities for the robot's motors (drivers may support position control, speed control, or both).

Data: state (PLAYER_POSITION1D_DATA_STATE).

The position interface returns data regarding the odometric pose and velocity of the robot, as well as motor stall information.

Request/reply: Query geometry.

To request robot geometry, send a null PLAYER_POSITION1D_REQ_GET_GEOM.

Request/reply: Change control mode.

To change the control mode, send a PLAYER_POSITION1D_REQ_POSITION_MODE reqeust. Null response.

Request/reply: Set position PID parameters.

To set position PID parameters, send a PLAYER_POSITION1D_REQ_POSITION_PID request. Null response.

Request/reply: Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION1D_REQ_MOTOR_POWER request with the format given below, and with the appropriate state (zero for motors off and non-zero for motors on). Null response.

Be VERY careful with this command! You are very likely to start the robot running across the room at high speed with the battery charger still attached.

Request/reply: Reset odometry.

To reset the robot's odometry to x = 0, send a PLAYER_POSITION1D_REQ_RESET_ODOM request. Null response.

Request/reply: Set odometry.

To set the robot's odometry to a particular state, send a PLAYER_POSITION1D_REQ_SET_ODOM request. Null response.

Request/reply: Set velocity PID parameters.

To set velocity PID parameters, send a PLAYER_POSITION1D_REQ_SPEED_PID request. Null response.

Request/reply: Set linear speed profile parameters.

To set linear speed profile parameters, send a PLAYER_POSITION1D_REQ_SPEED_PROF requst. Null response.

Request/reply: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION1D_REQ_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the position1d device remains the same. Null response.

Command: carlike (PLAYER_POSITION2D_CMD_CAR).

The position interface accepts new carlike velocity commands (speed and turning angle) for the robot's motors (only supported by some drivers).

Command: position (PLAYER_POSITION2D_CMD_POS).

The position interface accepts new positions for the robot's motors (drivers may support position control, speed control, or both).

Command: velocity (PLAYER_POSITION2D_CMD_VEL).

The position interface accepts new velocities for the robot's motors (drivers may support position control, speed control, or both).

Data: state (PLAYER_POSITION2D_DATA_STATE).

The position interface returns data regarding the odometric pose and velocity of the robot, as well as motor stall information.

Data AND Request/reply: geometry.

To request robot geometry, send a null PLAYER_POSITION2D_REQ_GET_GEOM request. Depending on the underlying driver, this message may also be sent as data, with subtype PLAYER_POSITION2D_DATA_GEOM.

Request/reply: Change control mode.

To change control mode, send a PLAYER_POSITION2D_REQ_POSITION_MODE request. Null response.

Request/reply: Set position PID parameters.

To set position PID parameters, send a PLAYER_POSITION2D_REQ_POSITION_PID request. Null response.

Request/reply: Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION2D_REQ_MOTOR_POWER request with the format given below, and with the appropriate state (zero for motors off and non-zero for motors on). Null response.

Be VERY careful with this command! You are very likely to start the robot running across the room at high speed with the battery charger still attached.

Request/reply: Reset odometry.

To reset the robot's odometry to $(x, y, yaw) = (0,0,0)$, send a PLAYER_POSITION2D_REQ_RESET_ODOM request. Null response.

Request/reply: Set odometry.

To set the robot's odometry to a particular state, send a PLAYER_POSITION2D_REQ_SET_ODOM request. Null response.

Request/reply: Set velocity PID parameters.

To set velocity PID parameters, send a PLAYER_POSITION2D_REQ_SPEED_PID request. Null response.

Request/reply: Set linear speed profile parameters.

To set linear speed profile parameters, send a PLAYER_POSITION2D_REQ_SPEED_PROF request. Null response.

Request/reply: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION2D_REQ_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the position device remains the same. Null response.

The p2os driver offers two modes of velocity control: separate translational and rotational control and direct wheel control. When in the separate mode, the robot's microcontroller internally computes left and right wheel velocities based on the currently commanded translational and rotational velocities and then attenuates these values to match a nice predefined acceleration profile. When in the direct mode, the microcontroller simply passes on the current left and right wheel velocities. Essentially, the separate mode offers smoother but slower (lower acceleration) control, and the direct mode offers faster but jerkier (higher acceleration) control. Player's default is to use the direct mode. Set mode to zero for direct control and non-zero for separate control.

For the reb driver, 0 is direct velocity control, 1 is for velocity-based heading PD controller.

Command: position (PLAYER_POSITION3D_CMD_SET_POS).

It accepts new positions and/or velocities for the robot's motors (drivers may support position control, speed control, or both).

Command: velocity (PLAYER_POSITION3D_CMD_SET_VEL).

It accepts new positions and/or velocities for the robot's motors (drivers may support position control, speed control, or both).

Data: state (PLAYER_POSITION3D_DATA_STATE).

This interface returns data regarding the odometric pose and velocity of the robot, as well as motor stall information.

Request/reply: Query geometry.

To request robot geometry, send a null PLAYER_POSITION3D_GET_GEOM request.

Request/reply: Change position control.

To change control mode, send a PLAYER_POSITION3D_POSITION_MODE request. Null response.

Request/reply: Set position PID parameters.

To set position PID parameters, send a PLAYER_POSITION3D_POSITION_PID request. Null response.

Request/reply: Motor power.

On some robots, the motor power can be turned on and off from software. To do so, send a PLAYER_POSITION3D_MOTOR_POWER request with the format given below, and with the appropriate state (zero for motors off and non-zero for motors on). Null response.

Be VERY careful with this command! You are very likely to start the robot running across the room at high speed with the battery charger still attached.

Request/reply: Reset odometry.

To reset the robot's odometry to $(x,y,\theta) = (0,0,0)$, send a PLAYER_POSITION3D_RESET_ODOM request. Null response.

Request/reply: Set odometry.

To set the robot's odometry to a particular state, send a PLAYER_POSITION3D_SET_ODOM request. Null response.

Request/reply: Set velocity PID parameters.

To set velocity PID parameters, send a PLAYER_POSITION3D_SPEED_PID request. Null response.

Request/reply: Set speed profile parameters.

To set speed profile parameters, send a PLAYER_POSITION3D_SPEED_PROF request. Null response.

Request/reply: Change velocity control.

Some robots offer different velocity control modes. It can be changed by sending a PLAYER_POSITION3D_VELOCITY_MODE request with the format given below, including the appropriate mode. No matter which mode is used, the external client interface to the position3d device remains the same. Null response.

Request/reply: set charging policy.

Send a PLAYER_ENERGY_SET_CHARGING_POLICY_REQ request to change the charging policy.

Data: voltage (PLAYER_POWER_DATA_STATE).

The power interface returns data in this format.

Command: state (PLAYER_PTZ_CMD_STATE).

The ptz interface accepts commands that set change the state of the unit. Note that the commands are absolute, not relative.

Data: state (PLAYER_PTZ_DATA_STATE).

The ptz interface returns data reflecting the current state of the Pan-Tilt-Zoom unit.

Request/reply: Query geometry.

To request ptz geometry, send a null PLAYER_PTZ_REQ_GEOM request.

Request/reply: Control mode.

To switch between position and velocity control (for those drivers that support it), send a PLAYER_PTZ_REQ_CONTROL_MODE request. Note that this request changes how the driver interprets forthcoming commands from all clients. Null response.

Request/reply: Generic request.

To send a unit-specific command to the unit, use the PLAYER_PTZ_REQ_GENERIC request. Whether data is returned depends on the command that was sent. The device may fill in "config" with a reply if applicable.

Command.

Just a placeholder for now; data will be added in future.

Data.

The RFID data packet.

Structure describing a single RFID tag.

Command.

Just a placeholder for now; data will be added in future.

Data.

Just a placeholder for now; data will be added in future.

Request/reply: get/set 2D pose of a named simulation object.

To retrieve the pose of an object in a simulator, send a null PLAYER_SIMULATION_REQ_GET_POSE2D request. To set the pose of an object in a simulator, send a PLAYER_SIMULATION_REQ_SET_POSE2D request (response will be null).

Request/reply: get/set floating-point property of a named simulation object.

Behaves identically to the integer version, but for double-precision floating-pont values.

Request/reply: get/set integer property of a named simulation object.

To retrieve an integer property of an object in a simulator, send a PLAYER_SIMULATION_REQ_GET_PROPERTY_INT request. The server will reply with the integer value filled in. To set a integer property, send a completely filled in PLAYER_SIMULATION_REQ_SET_PROPERTY_INT request. The server will respond with an ACK if the property was successfully set to your value, else a NACK.

Request/reply: get/set string property of a named simulation object.

Behaves identically to the integer version, but for strings.

Data: ranges (PLAYER_SONAR_DATA_RANGES).

The sonar interface returns up to PLAYER_SONAR_MAX_SAMPLES range readings from a robot's sonars.

Data AND Request/reply: geometry.

To query the geometry of the sonar transducers, send a null PLAYER_SONAR_REQ_GET_GEOM request. Depending on the underlying driver, this message can also be sent as data with the subtype PLAYER_SONAR_DATA_GEOM.

Request/reply: Sonar power.

On some robots, the sonars can be turned on and off from software. To do so, send a PLAYER_SONAR_REQ_POWER request. Null response.

Command: play clip (PLAYER_SOUND_CMD_IDX).

The sound interface accepts an index of a pre-recorded sound file to play.

Command: say a string (PLAYER_SPEECH_CMD_SAY).

The speech interface accepts a command that is a string to be given to the speech synthesizer.

Data: recognized string (PLAYER_SPEECH_MAX_STRING_LEN).

The speech recognition data packet.

Configuration request: Get/set fiducial ID number.

To get the fiducial ID of an object, use the following request, filling in only the subtype with PLAYER_TRUTH_REQ_GET_FIDUCIAL_ID. The server will respond with the ID field filled in. To set the fiducial ID, set the subtype to PLAYER_TRUTH_REQ_SET_FIDUCIAL_ID and fill in the ID field with the desired value.

Data.

The truth interface returns data concerning the current state of an entity.

Data: sample (PLAYER_WAVEFORM_DATA_SAMPLE).

The waveform interface reads a digitized waveform from the target device.

Data: state (PLAYER_WIFI_DATA_STATE).

The complete data packet format.

Link information for one host.

The wifi interface returns data regarding the signal characteristics of remote hosts as perceived through a wireless network interface; this is the format of the data for each host.

Command: set device state (PLAYER_WSN_CMD_DEVSTATE) This wsn command sets the state of the node's indicator lights or its buzzer/sounder (if equipped with one).

Data (PLAYER_WSN_DATA).

The WSN data packet describes a wireless sensor network node.

Request/reply: Change data delivery frequency.

By default, the frequency set for receiving data is set on the wireless node. Send a PLAYER_WSN_REQ_DATAFREQ request to change the frequency. Fill in the node ID or set -1 for all nodes. Null response.

Request/reply: change the data type to RAW or converted engineering units.

Send a PLAYER_WSN_REQ_DATATYPE request to switch between RAW or converted engineering units values in the data packet. Null response.

Structure describing the WSN node's data packet.

Request/reply: Put the node in sleep mode (0) or wake it up (1).

Send a PLAYER_WSN_REQ_POWER request to power or wake up a node in the WSN. Null response.


Last updated 12 September 2005 21:38:45