libplayercore | |
libplayercommon | This C library provides error-reporting and debug output facilities. Instead of calling directly into the stdio library (printf, puts, etc.), use the macros defined in error.h, so that message verbosity can be centrally controlled and so that all messsages get logged to .player |
▼Tutorials | Listed below are tutorials on various topics that may be of interest to users of Player. The goal of these documents is to provide the user with concise explanations (with examples, wherever possible) of important concepts and common tasks |
Interfaces, drivers, and devices | Fundamental concepts in Player |
Migrating from Player 1.6 to Player 2.0 | Including a guide to updating your drivers |
Using cameras and blobfinders | Configuring and accessing cameras |
Using Player and Automake | A brief overview of how Automake works |
Using Player and CMake | A brief overview of how CMake works |
Cross-compiling | How to build Player for embedded systems |
Command line arguments | Parsing command-line arguments |
►Data logging | Logging sensor data to files and playing it back |
Laser format | Laser log format |
Ranger format | Ranger log format |
Localize format | Localize log format |
Position2d format | Position2d log format |
PTZ format | PTZ log format |
Opaque format | Opaque log format |
Sonar format | Sonar log format |
WiFi format | Wifi log format |
WSN format | WSN log format |
CoopObject format | CoopObject log format |
IMU format | IMU log format |
Pointcloud3d format | PointCloud3D log format |
Actarray format | Actarray log format |
AIO format | AIO log format |
DIO format | DIO log format |
RFID format | RFID log format |
IR format | IR log format |
Bumper format | Bumper log format |
Blobfinder format | Blobfinder log format |
Camera format | Camera data format |
Fiducial format | Fiducial log format |
GPS format | Gps log format |
Joystick format | Joystick log format |
Position3d format | Position3d format |
Power format | Power log format |
Writing configuration files | Config files |
Adding a new interface | How to add an interface for a new kind of device |
Writing a Player driver | How to write, compile, and load plugin driver |
Manipulating maps | Map-handling |
▼Player utilities | Player utilities |
player server | TCP server that allows remote access to Player devices |
playerv | General-purpose sensor visualization and device control GUI |
playernav | Multi-robot localization, navigation, and path-planning GUI |
playercam | Camera visualization GUI |
playerjoy | Joystick control for a mobile robot |
playerprint | Print sensor data to the console |
playervcr | Remote control of data logging and playback |
dgps_server | Differential GPS correction server |
playerwritemap | Retrieve map data and save it to a file |
▼Client Libraries | Libraries are available in various languages to facilitate the development of TCP client programs. You would probably use one of these libraries to develop your robot control program if, like most people, you're using the player server (whether with hardware or simulation) |
►libplayerc | A C client library for the player server |
libplayerc example | An example |
Client Data Modes | Describes the data modes used for delivering data from the server to the client |
Utility and error-handling | Some helper functions |
Multi-Client object | The multi-client object manages connections to multiple server in parallel |
Client API | The client object manages the connection with the Player server; it is responsible for reading new data, setting data transmission modes and so on. The client object must be created and connected before device proxies are initialized |
Device API | The device object provides a common interface to the functionality that is shared by all device proxies (in OOP parlance, it is a base class). In general, this object should not be instantiated or accessed directly: use the device proxies instead |
►Device proxies | Each interface has a corresponding proxy |
aio | The aio proxy provides an interface to the analog input/output sensors |
actarray | The actarray proxy provides an interface to actuator arrays such as the ActivMedia Pioneer Arm. See the Player User Manual for a complete description of the drivers that support this interface |
audio | The audio proxy provides access to drivers supporting the audio . See the Player User Manual for a complete description of the drivers that support this interface |
blackboard | The blackboard proxy provides an interface to a simple data-store in a similar fashion to a hash-map. Data is set and retrieved by using a label. Any player message structure can be stored in the blackboard. At this time it is up to the user to pack and unpack the entry data. The xdr functions can be used to do this |
blinkenlight | The blinkenlight proxy provides an interface to a (possibly colored and/or blinking) indicator light |
blobfinder | The blobfinder proxy provides an interface to color blob detectors such as the ACTS vision system. See the Player User Manual for a complete description of the drivers that support this interface |
bumper | The bumper proxy provides an interface to the bumper sensors built into robots such as the RWI B21R |
camera | The camera proxy can be used to get images from a camera |
cooperating object | The coopobject proxy provides an interface to a networked Cooperating Object (Wireless Sensor Network, Networked Robot, etc.) |
dio | The dio proxy provides an interface to the digital input/output sensors |
fiducial | The fiducial proxy provides an interface to a fiducial detector. This device looks for fiducials (markers or beacons) in the laser scan, and determines their identity, range, bearing and orientation. See the Player User Manual for a complete description of the various drivers that support the fiducial interface |
gps | The gps proxy provides an interface to a GPS-receiver |
graphics2d | The graphics2d proxy provides an interface to the graphics2d |
graphics3d | The graphics3d proxy provides an interface to the graphics3d |
gripper | The gripper proxy provides an interface to the gripper |
health | The health proxy provides an interface to the HEALTH Module |
ir | The ir proxy provides an interface to the ir sensors built into robots such as the RWI B21R |
joystick | The joystick proxy can be used to get images from a joystick |
laser | The laser proxy provides an interface to scanning laser range finders such as the sicklms200. Data is returned in the playerc_laser_t structure |
limb | The limb proxy provides an interface to limbs using forward/inverse kinematics, such as the ActivMedia Pioneer Arm. See the Player User Manual for a complete description of the drivers that support this interface |
localize | The localize proxy provides an interface to localization drivers. Generally speaking, these are abstract drivers that attempt to localize the robot by matching sensor observations (odometry, laser and/or sonar) against a prior map of the environment (such as an occupancy grid). Since the pose may be ambiguous, multiple hypotheses may returned; each hypothesis specifies one possible pose estimate for the robot. See the Player manual for details of the localize interface, and and drivers that support it (such as the amcl driver) |
log | The log proxy provides start/stop control of data logging |
map | The map proxy provides an interface to a map |
vectormap | The vectormap proxy provides an interface to a map of geometric features |
opaque | The opaque proxy provides an interface for generic messages to drivers. See examples/plugins/opaquedriver for an example of using this interface in combination with a custom plugin |
planner | The planner proxy provides an interface to a 2D motion planner |
position1d | The position1d proxy provides an interface to 1 DOF actuator such as a linear or rotational actuator |
position2d | The position2d proxy provides an interface to a mobile robot base, such as the ActiveMedia Pioneer series. The proxy supports both differential drive robots (which are capable of forward motion and rotation) and omni-drive robots (which are capable of forward, sideways and rotational motion) |
position3d | The position3d proxy provides an interface to a mobile robot base, such as the Segway RMP series. The proxy supports both differential drive robots (which are capable of forward motion and rotation) and omni-drive robots (which are capable of forward, sideways and rotational motion) |
power | The power proxy provides an interface through which battery levels can be monitored |
ptz | The ptz proxy provides an interface to pan-tilt units such as the Sony PTZ camera |
ranger | The ranger proxy provides an interface to ranger sensor devices |
sonar | The sonar proxy provides an interface to the sonar range sensors built into robots such as the ActiveMedia Pioneer series |
wifi | The wifi proxy is used to query the state of a wireless network. It returns information such as the link quality and signal strength of access points or of other wireless NIC's on an ad-hoc network |
simulation | The simulation proxy is used to interact with objects in a simulation |
speech | The speech proxy provides an interface to a speech synthesis system |
speech recognition | The speech recognition proxy provides an interface to a speech recognition system |
rfid | The rfid proxy provides an interface to a RFID reader |
pointcloud3d | The pointcloud3d proxy provides an interface to a pointcloud3d device |
stereo | The stereo proxy provides an interface to a stereo device |
imu | The imu proxy provides an interface to an Inertial Measurement Unit |
wsn | The wsn proxy provides an interface to a Wireless Sensor Network |
►libplayerc++ | A C++ client library for the player server |
Proxies | A proxy class is associated with each kind of device |
libplayerc++ example | An example of using libplayerc++ |
Signals & multithreading | Boost signal and thread support |
MultiClient | How to easily connect to multiple servers |
Constants and utility functions | Helper functions when using the library |
▼libplayerinterface | |
►Messaging basics | Interface-independent message types, sizes, units, address structures, etc |
Miscellaneous constants | Maximum message lengths, etc |
Message types | The Player message types |
Interface codes | An integer code is assigned to each interface. See Interface specifications for detailed descriptions of each interface |
Address structures | Device and message address structures |
General-purpose message structures. | These structures often appear inside other structures |
Units | Standard units used in Player messages |
Capabilities | Querying driver capabilities |
Property Bags | Querying driver properties |
►Interface specifications | All Player communication occurs through interfaces, which specify the syntax and semantics for a set of messages. See the tutorial Interfaces, drivers, and devices for a discussion of what an interface is |
player | Player: the meta-device |
power | Power system |
gripper | Gripper interface |
position2d | Planar mobile robot |
sonar | DEPRECATED Array of ultrasonic rangers |
laser | DEPRECATED Laser range-finder |
blobfinder | A visual blob-detection system |
ptz | Pan-tilt-zoom unit |
audio | Interface to an audio system |
fiducial | Fiducial (marker) detection |
speech | Speech synthesis |
gps | Global positioning system |
bumper | An array of bumpers |
dio | Digital I/O |
aio | Analog I/O |
ir | DEPRECATED Array of infrared rangers |
wifi | WiFi signal information |
localize | Multi-hypothesis planar localization system |
position3d | A robot that moves in 3-D |
simulation | A robot simulator |
blinkenlight | An indicator light |
camera | Camera imagery |
map | Access maps |
planner | A planar path-planner |
log | Log read / write control |
joystick | Joystick control |
speech_recognition | Speech recognition |
opaque | A generic interface for user-defined messages |
position1d | A 1-D linear actuator |
actarray | An array of actuators |
limb | A multi-jointed limb |
graphics2d | Two-dimensional graphics interface |
rfid | RFID reader |
wsn | Wireless Sensor Networks |
graphics3d | Three-dimensional graphics interface |
health | Statgrab - System Infos |
imu | Inertial Measurement Unit |
pointcloud3d | A 3-D point cloud |
ranger | A range sensor |
vectormap | Access and update geometric features in a map. EXPERIMENTAL |
blackboard | Access properties stored in a central repository. EXPERIMENTAL |
stereo | Stereo imagery (left-right channels, disparity and a 3-D stereo point cloud) |
coopobject | Intelligent cooperating objects (WSNs, RFIDs, Networked Robots, etc.) |
Interface Utilities | These utilities are provided to make it easier to work with interface types |
libplayersd | Player service discovery library |
libplayertcp | Player TCP library |
▼libplayerdrivers | Library of standard Player drivers |
►Drivers | The drivers themselves |
amtecM5 | Amtec PowerCube modules |
alsa | Linux ALSA sound system driver |
imagebase | Driver base for image processing drivers, inherit from this driver and implement the process frame method |
LocalBB | Local memory implementation of a blackboard. The data entries are stored internally in a hash-map. Internally information is stored in two hash-maps. One hash-map contains a map of labels to the entry data. This stores the actual data. The second hash-map stores a map of device queues which are listening to an entry. These are the devices that are sent events when an entry is updated. CAVEATS: -There is no checking to see if a device is already subscribed to a key. If a device subscribes to a key twice, it will receive two updates. -All listening devices are sent updates when an entry is set, even if that device set the entry |
acts | ActivMedia color tracking system |
artoolkitplus | Coded marker detection from the artoolkitplus project |
cmvision | CMVision |
searchpattern | Pattern finder |
shapetracker | Tracks shapes in camera images |
simpleshape | Visual shape-detection |
upcbarcode | UPC barcode detection |
camera1394 | Firewire camera capture |
camerareq | PLAYER_CAMERA_REQ_GET_IMAGE request emitter |
camfilter | Camera image filtering driver |
cameracompress | Image compression |
camerauncompress | Image compression |
cvcam | OpenCV camera capture |
gstreamer | Gstreamer driver |
imageseq | Image file sequencer |
imgcmp | Image comparing driver |
imgsave | Image storage dispatcher |
kinect | USB camera driver for Microsoft Kinect camera |
libv4l2 | Libv4l2-based capture driver |
powershot | Canon Powershot digicam capture driver |
sphere | Logitech Sphere camera |
unicapimage | Unicapimage |
camerauvc | USB video (UVC) camera interface |
camerav4l | Video4Linux camera capture |
camerav4l2 | Video4Linux2 camera capture |
VideoCanny | OpenCV-based edge detection |
yarpimage | Driver for connecting to a YARP server and getting an Image |
bitlogic | Bitwise logic functions for dio interface |
blobtodio | Blobfinder to dio converter |
Blobtracker | Blob tracker that sends ptz commands in order to make camera follow certain blobs |
bumpertodio | Bumper to dio converter |
diodelay | Dio state delay |
diolatch | Dio bits latch |
portio | Low-level access to the hardware I/O ports |
rangertodio | Ranger to dio converter |
serio | Low-level access to the serial port control lines |
stalltodio | Position2d stall state to dio converter |
laserbar | Laser bar detector |
laserbarcode | Laser barcode detector |
laserfeature | Extract line/corner features from a laser scan |
laservisualbarcode | Color laser/visual barcode detector |
laservisualbw | Black & white laser/visual barcode detector |
garminnmea | Garmin GPS unit |
gbxgarminacfr | Gearbox Garmin GPS driver |
rt3xxx | Driver for the RT3XXX |
nimu | NIMU Inertial Measurement Unit driver |
razorimu | Sparkfun Razor IMU driver |
xsensmt | XSens MTx/MTi Inertial Measurement Unit driver |
linuxjoystick | Linux joystick |
Bumper2Laser | A driver to convert bumper readings to fake laser readings |
lasercspace | Laser configuration space |
lasercutter | Laser cutter |
laserposeinterpolator | Attach poses to laser scans |
laserrescan | Laser rescanner |
pbs | Hokuyo PBS 03JN driver |
RS4LeuzeLaser | RS4-E leuze laser range-finder |
sickLDMRS | SICK LD MRS / Multi plae and multi return laser scanner |
sicklms200 | SICK LMS 200 / PLS laser range-finder |
sicklms400 | SICK LMS 400 laser range-finder |
sicks3000 | SICK S 3000 laser range-finder |
eeDHcontroller | Calculates the joint commands for a given End Effector pose using ROBOOP's Inverse Kinematics algorithms |
amcl | Adaptive Monte Carlo localization |
ekfvmap | ScanMatching |
fakelocalize | Fake localization |
gridmap | Provides a map using sonars |
mapcspace | Grow obstacles in grid maps |
mapfile | Read grid maps from image files |
mapscale | Scale grid maps |
vmapfile | Read vector maps from text files |
obot | Botrics Obot mobile robot |
clodbuster | Clodbuster mobile robot |
cmucam2 | CMUCam2 pan-tilt-zoom blob-tracking camera |
epuck | Epuck Robot |
erratic | Erratic platform driver |
er1 | Evolution ER1 mobile robot |
garcia | Mixed mode driver for Garcia robot by Acroname |
hemisson | K-Team Hemisson mobile robot |
create | IRobot Create |
roomba | IRobot Roomba |
khepera | K-Team Khepera mobile robot |
mbasedriver | Mbase platform driver |
MRICP | Map Reference ICP |
nomad | NOMAD 200 driver |
nxt | Lego Mindstorms NXT |
p2os | ActivMedia mobile robots |
phidgetIFK | Phidget InterfaceKit driver |
reb | K-Team Kameleon Robotics Extension Board |
rflex | RWI mobile robots |
segwayrmp | Segway RMP mobile robot |
robotino | FESTO Robotino(R) robot |
sr3000 | SR3000 |
swissranger | SWISSRANGER |
wbr914 | White Box Robotics Model 914 robot |
flexiport | Flexiport multi-port driver |
serialstream | Serial streaming driver |
tcpstream | TCP streaming driver |
wavefront | Wavefront-propagation path-planner |
laserptzcloud | Build a 3D point cloud from laser and ptz data |
flockofbirds | Ascension Flock of Birds position tracker |
Blobposition | Localization device that treats blobs as object markers that can be used to retrieve real position of given object |
bumpersafe | Bumper monitor |
deadstop | Stop while dead |
differential | Differential steering (also skid-steering) |
Globalize | This driver replaces local (odometry) position data with global position |
Goto | A robot controller that drives a robot to a given target |
inertiacube2 | ISense InertiaCube2 IMU |
lasersafe | Bumper monitor |
mbicp | ScanMatching |
microstrain3dmg | MicroStrain 3DM-G IMU |
motionmind | Solutions Cubed motor controller |
sicknav200 | SICK NAV200 laser localisation unit |
nd | Nearness Diagram Navigation |
roboteq | Motor control driver for Roboteq AX2850 |
segwayrmp400 | Segway RMP 400 Mobile Robot |
snd | Smooth Nearness Diagram Navigation |
vfh | Vector Field Histogram local navigation algorithm |
gbxsmartbatteryacfr | Gearbox SmartBattery driver for OceanServer devices |
amtecpowercube | Amtec PowerCube pan-tilt unit |
canonvcc4 | Canon VC-C4 pan-tilt-zoom cameras |
ptu46 | Directed Perceptions PTU-46-17.5 pan-tilt unit |
sonyevid30 | Sony EVI-D30 and EVI-D100 pan-tilt-zoom cameras |
SpherePTZ | PTZ for Logitech Sphere AF webcams (based on experiences with real device) |
gbxsickacfr | Gearbox sickacfr SICK LMS driver library |
hokuyoaist | HokuyoAIST Hokuyo laser scanner driver library |
lasertoranger | Laser-to-Ranger converter |
rangerposeinterpolator | Attach poses to ranger scans |
RangerToLaser | Ranger-to-Laser converter |
sonartoranger | Sonar-to-Ranger converter |
acr_120u | ACR120U RFID reader |
insideM300 | Inside M300 RFID reader |
phidgetRFID | Phidget RFID reader |
sickrfi341 | SICK RFI341 RFID reader |
skyetekM1 | Skyetek M1 RFID reader |
service_adv_mdns | Multicast DNS service discovery |
cmdsplitter | Command flow splitter |
diocmd | Dio commands sender |
dummy | Dummy driver |
gripcmd | Gripper commands sender |
guile | Scripting engine for Player Server |
inhibitor | Command flow inhibitor |
kartowriter | Karto logger plugin |
opaquecmd | Opaque commands sender |
passthrough | General-purpose proxy driver |
postlog | Driver for storing log data into PostgreSQL database |
readlog | Playback of logged data |
relay | General-purpose communications relay driver |
speechcmd | Speech commands sender |
suppressor | Command flow suppressor |
velcmd | Velocity commands sender |
writelog | Logging data |
AioToSonar | Array of analog sonar sensors connected to an aio device |
festival | Festival speech synthesis system |
sphinx2 | Sphinx2 speech recognition system |
stoc | STOC |
PostGIS | Vectormap driver based on a Postgresql database with the PostGIS plugin |
robotracker | Robot tracker that updates vectormap layer with shapes of given robots |
Vec2Map | A driver to convert a vector map to a regular grid map |
aodv | Linux AODV ad hoc networking |
iwspy | Linux iwspy access |
linuxwifi | Linux WiFi devices |
accel_calib | Acceleration calibration driver |
generic_xbow | Crossbow Mica2, MicaZ, Iris and TelosB, TinyOS and Contiki operating systems compatible driver |
mica2 | Crossbow Mica2/Mica2Dot mote sensor node |
phidgetACC | Phidget ACC |
rcore_xbridge | TeCo Particle Router Core (XBridge) sensor node |