18 #ifndef ROBOT_INTERFACES_H
19 #define ROBOT_INTERFACES_H
21 #include <yarp/dev/all.h>
22 #include <yarp/dev/ControlBoardInterfaces.h>
23 #include <iCub/skinDynLib/common.h>
27 class robot_interfaces
31 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IPositionControl*> ipos;
32 std::map<iCub::skinDynLib::BodyPart, yarp::dev::ITorqueControl*> itrq;
33 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IImpedanceControl*> iimp;
34 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IControlMode*> icmd;
35 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IInteractionMode*> iint;
36 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IEncoders*> ienc;
37 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IPidControl*> ipid;
38 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IPositionDirect*> idir;
39 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IVelocityControl*> ivel;
40 std::map<iCub::skinDynLib::BodyPart, yarp::dev::IAmplifierControl*> iamp;
42 std::map<iCub::skinDynLib::BodyPart, yarp::os::Property> options;
43 std::map<iCub::skinDynLib::BodyPart, yarp::dev::PolyDriver*> dd;
50 robot_interfaces(iCub::skinDynLib::BodyPart bp1);
51 robot_interfaces(iCub::skinDynLib::BodyPart bp1, iCub::skinDynLib::BodyPart bp2);
52 robot_interfaces(iCub::skinDynLib::BodyPart bp1, iCub::skinDynLib::BodyPart bp2, iCub::skinDynLib::BodyPart bp3);
53 robot_interfaces(iCub::skinDynLib::BodyPart bp1, iCub::skinDynLib::BodyPart bp2, iCub::skinDynLib::BodyPart bp3,
54 iCub::skinDynLib::BodyPart bp4);
55 robot_interfaces(iCub::skinDynLib::BodyPart bp1, iCub::skinDynLib::BodyPart bp2, iCub::skinDynLib::BodyPart bp3,
56 iCub::skinDynLib::BodyPart bp4, iCub::skinDynLib::BodyPart bp5);
57 robot_interfaces(iCub::skinDynLib::BodyPart *bps,
int size);
62 std::vector<iCub::skinDynLib::BodyPart> bodyParts;