This particular device can be decomposed into client and server if needed, as can be seen below, and each client and server can have various submodules so the user can choose a different structure depending on his need. To see how different client and server configurations can be coupled, see the following page: FrameTransform: possibile server-client configurations Fts_ftc_config
FrameTransformClient
A client to manage frame transforms for robots.
This device implements the yarp::dev::IFrameTransform interface and it can be configured in different ways to match the user's needs.
In the following sections a brief description and simple graphic representation for each configuration are shown.
Client configurations that DO NOT need a Server
LOCAL ONLY This first configuration have to be used when the the user needs only to manage and store the transforms locally.
Command line instructions to use the configuration:
ROS ONLY This second configuration is to be chosen everytime a bilateral communication (publish and subscribe) with ROS is needed.
The picture hereunder shows, as in the previous case, a simplified schema of the configuration. Command line instructions to use the configuration:
ROS PUB ONLY and ROS SUB ONLY These two configurations have been added in order to allow a one way communication between the client and the ROS environment, be it publication or subscription. To launch these configurations the following commands have to be used:
The following configurations need, as the section title suggests, a running server component. The appropriate client configuration depends on the running server.
YARP ONLY This is the full client that uses only yarp.
N.B. The client use only yarp but the server attached can be both ONLY YARP or YARP + ROS
Command line instructions to use the configuration:
YARP PUB ONLY and YARP SUB ONLY These two configurations, as the last two of the previous section, allow to select only one of the two available communication routes.
Like the one above they can be used in combination with an ONLY YARP or YARP + ROS server configuration
In the following lines, the commands to launch these two configurations are shown:
YARP UPDATE ONLY This third YARP ONLY configuration allows to connect to another yarp client (it must publish transforms to the network) in order to monitor the transforms coming from it.
YARP AND ROS The last available version of the client uses both YARP and ROS.
It has to be used when a YARP only server is running and the client needs to store transform coming from both YARP and ROS.
To launch this client the following command have to be employed:
For what is concerning the server part, there are 2 different configurations: (XML files path to be determined)
The first one is the YARP ONLY configuration.
It starts a server listening only to thrift ports with a small storage inside to update all the clients that connects to it later with the latest transforms.
the code to launch this server is:
The second one is the YARP AND ROS configuration.
It starts a server listening to both thrift ports and ros topics, so its updates came from both parts. It has also a small storage inside to update all the clients that connects to it later with the latest transforms.
the code to launch this server is: