Difference between revisions of "Controlling the fakebot from code"

From Wiki for iCub and Friends
Jump to: navigation, search
Line 16: Line 16:
 
       Bottle& outBot1 = out.prepare();  // Get the object
 
       Bottle& outBot1 = out.prepare();  // Get the object
 
       outBot1.addString("set"); // put "set" command in the bottle
 
       outBot1.addString("set"); // put "set" command in the bottle
 +
      outBot1.addString("pos"); // put "set" command in the bottle
 
       outBot1.addInt(0); //control joint 0
 
       outBot1.addInt(0); //control joint 0
       outBot2.addInt(80); //move to 80
+
       outBot1.addInt(80); //move to 80
 
       printf("Writing bottle 1 (%s)\n", outBot1.toString().c_str());
 
       printf("Writing bottle 1 (%s)\n", outBot1.toString().c_str());
 
       out.write();                      // Now send it on its way
 
       out.write();                      // Now send it on its way

Revision as of 13:01, 21 February 2007

This example shows how to send commands to the fake robot.

  int main() {
     // Initialize YARP - some OSes need network and time service initialization
      Network::init();
     //
     // Create a port you will use to send commands to the bot
     Port out;
     //
     // Name the ports
     out.open("/USERNAME/out");
     //
     // Connect the ports so that anything written from /out arrives to /in
     Network::connect("/USERNAME/out","/fakebot/motor/rpc:i");
     //
     Bottle& outBot1 = out.prepare();   // Get the object
     outBot1.addString("set"); // put "set" command in the bottle
     outBot1.addString("pos"); // put "set" command in the bottle
     outBot1.addInt(0); //control joint 0
     outBot1.addInt(80); //move to 80
     printf("Writing bottle 1 (%s)\n", outBot1.toString().c_str());
     out.write();                       // Now send it on its way
     //
     Network::fini(); // This is the reverse of Network::init()
     return 0;
  }