17#include <yarp/os/Network.h>
18#include <yarp/os/Port.h>
19#include <yarp/os/Bottle.h>
20#include <yarp/sig/Vector.h>
21#include <yarp/math/Math.h>
28using namespace yarp::os;
29using namespace yarp::sig;
30using namespace yarp::math;
39 if (!
yarp.checkNetwork())
47 options.put(
"robot",
"icubSim");
49 options.put(
"type",
"right");
51 options.put(
"pose",
"xyz");
53 options.put(
"verbosity",
"off");
56 if (!onlineSolver.
open(options))
61 in.open(
"/in");
out.open(
"/out"); rpc.open(
"/rpc");
62 Network::connect(
"/solver/out",in.getName());
63 Network::connect(
out.getName(),
"/solver/in");
64 Network::connect(rpc.getName(),
"/solver/rpc");
71 cout<<
"got dof: "<<reply.toString()<<endl;
77 cout<<
"got pose: "<<reply.toString()<<endl;
83 cout<<
"got mode: "<<reply.toString()<<endl;
92 cout<<
"switching to track mode...";
94 cout<<reply.toString()<<endl;
123 onlineSolver.
close();
static yarp::os::Bottle * getEndEffectorPoseOption(const yarp::os::Bottle &b)
Retrieves the end-effector pose data.
static yarp::os::Bottle * getJointsOption(const yarp::os::Bottle &b)
Retrieves the joints configuration data.
static yarp::os::Bottle * getTargetOption(const yarp::os::Bottle &b)
Retrieves commanded target data from a bottle.
static void addTargetOption(yarp::os::Bottle &b, const yarp::sig::Vector &xd)
Appends to a bottle all data needed to command a target.
static void addDOFOption(yarp::os::Bottle &b, const yarp::sig::Vector &dof)
Appends to a bottle all data needed to reconfigure chain's dof.
virtual void close()
Stop the solver and dispose it.
Derived class which implements the on-line solver for the chain torso+arm.
virtual bool open(yarp::os::Searchable &options)
Configure the solver and start it up.
#define IKINSLV_VOCAB_OPT_DOF
#define IKINSLV_VOCAB_VAL_MODE_TRACK
#define IKINSLV_VOCAB_OPT_POSE
#define IKINSLV_VOCAB_OPT_MODE
#define IKINSLV_VOCAB_CMD_SET
#define IKINSLV_VOCAB_CMD_GET
Copyright (C) 2008 RobotCub Consortium.