Yet Another Robot Platform
yarp::dev YARP Devices

Dealing with devices. More...

+ Collaboration diagram for yarp::dev YARP Devices:


 Device Creation/Configuration
 Basic classes and methods related to creating and configuring devices, and network communication to and from devices.
 Device Interfaces
 Device interfaces, specified independently of specific implementations.
 Device Implementations
 Concrete device drivers that implement sets of interfaces.
 Device invocation examples
 Example configuration files.

Detailed Description

Dealing with devices.

What do you need to know to use devices in YARP? First, we try to write our devices so that they implement a set of interfaces. Your program ideally would use the minimal set of interfaces needed for the particular task you have in mind. Then you'll be later able to switch to any implementation that meets your interface. This is something you often have to do in robotics.

Of course, pretty much every device has some special magic numbers you need to set up at the beginning. This process of configuration process is separated out in YARP to make it easy to control it via external command line switches or configuration files.

YARP devices can be started from the commandline, via yarprobotinterface or from c++ code.

Devices that can be created and configured from the command-line. Generally you can create them with the yarpdev command by specifying a "--device" option followed by their name, for example:

yarpdev --device fakeFrameGrabber

This creates a fakeFrameGrabber device with default options. You will generally need to specify additional options, for example:

yarpdev --device fakeFrameGrabber --width 640 --height 480 --name /test

How do you know what options are available? You can check our list of device invocation examples. Or When you try to run "yarpdev --device yourdevice" and add the "--verbose" flag, it will tell you what options it is checking, and any documentation present for those options.

For example, try running:

yarpdev --device fakeFrameGrabber --verbose