YARP has no special support for the ROS parameter server, but can communicate with it via its network API.
Here is a command-line example:
yarp rpc /ros
>>setParam /demo foo 15
Response: 1 "parameter /foo set" 0
>>getParam /demo foo
Target disappeared, reconnecting...
Response: 1 "Parameter [/foo]" 15
From code, you could use a Bottle:
Contact ros = Network::queryName("/ros");
printf("ROS available as %s\n", ros.toURI().c_str());
Bottle cmd, reply;
cmd.addString("setParam");
cmd.addString("/demo");
cmd.addString("foo");
cmd.addInt32(15);
printf("reply to setParam is: %s\n", reply.toString().c_str());
cmd.clear();
cmd.addString("getParam");
cmd.addString("/demo");
cmd.addString("foo");
printf("reply to getParam is: %s\n", reply.toString().c_str());
printf("Stored value is hopefully %d\n", reply.get(2).asInt32());
return 0;
bool write(const ImageOf< PixelRgb > &src, const std::string &dest, image_fileformat format=FORMAT_PPM)
The main, catch-all namespace for YARP.
This should give:
ROS available as xmlrpc://127.0.0.1:11311
reply to setParam is: 1 "parameter /foo set" 0
reply to getParam is: 1 "Parameter [/foo]" 15
Stored value is hopefully 15