19 #ifndef SUBSYSTEM_KARMA_H 20 #define SUBSYSTEM_KARMA_H 24 #include <yarp/os/all.h> 25 #include <yarp/sig/all.h> 26 #include <yarp/dev/all.h> 31 #define SUBSYSTEM_KARMA "KARMA" 70 void appendTarget(yarp::os::Bottle& b,
const yarp::sig::VectorOf<double> &tCenter);
80 yarp::sig::VectorOf<double>& target,
81 const std::string handToUse=
"");
88 bool sendCmd(yarp::os::Bottle &cmd);
98 SubSystem_KARMA(
const std::string &masterName,
const std::string &robot);
107 yarp::sig::VectorOf<double>
applySafetyMargins(
const yarp::sig::VectorOf<double>& in);
113 bool chooseArm(
const std::string &armType);
130 bool pushAside(
const std::string &objName,
131 const yarp::sig::VectorOf<double> &objCenter,
const double &targetPosY,
133 const std::string &armType =
"selectable",
134 const yarp::os::Bottle &options = yarp::os::Bottle());
145 bool pushFront(
const std::string &objName,
146 const yarp::sig::VectorOf<double> &objCenter,
const double &targetPosXFront,
147 const std::string &armType =
"selectable",
148 const yarp::os::Bottle &options = yarp::os::Bottle());
158 bool push(
const yarp::sig::VectorOf<double> &targetCenter,
const double theta,
const double radius,
159 const yarp::os::Bottle &options = yarp::os::Bottle());
170 bool pullBack(
const std::string &objName,
171 const yarp::sig::VectorOf<double> &objCenter,
const double &targetPosXBack,
172 const std::string &armType =
"selectable",
173 const yarp::os::Bottle &options = yarp::os::Bottle());
183 bool draw(
const yarp::sig::VectorOf<double> &targetCenter,
const double theta,
184 const double radius,
const double dist,
185 const yarp::os::Bottle &options = yarp::os::Bottle());
197 bool vdraw(
const std::string &objName,
198 const yarp::sig::VectorOf<double> &targetCenter,
const double theta,
199 const double radius,
const double dist,
200 const yarp::os::Bottle &options = yarp::os::Bottle());
211 #endif // SUBSYSTEM_KARMA_H bool chooseArm(const std::string &armType)
chooseArm (toolAttach in KARMA): wrapper for tool-attach of KARMA, can be used to choose the arm for ...
bool sendCmd(yarp::os::Bottle &cmd)
Sends a command to KARMA's RPC port.
~SubSystem_KARMA()
Destructor.
bool pullBack(const std::string &objName, const yarp::sig::VectorOf< double > &objCenter, const double &targetPosXBack, const std::string &armType="selectable", const yarp::os::Bottle &options=yarp::os::Bottle())
pullBack (KARMA): pull an object to a certain location along x-axis of robot RoF
SubSystem to deal with the actionsRenderingEngine module (a.k.a.
yarp::dev::PolyDriver driverHR
yarp::dev::PolyDriver driverR
SubSystem to deal with the experimental affordance learning module (a.k.a.
bool vdraw(const std::string &objName, const yarp::sig::VectorOf< double > &targetCenter, const double theta, const double radius, const double dist, const yarp::os::Bottle &options=yarp::os::Bottle())
vdraw (KARMA): virtual draw action, along the positive direction of the x-axis (in robot FoR) ...
yarp::os::RpcClient portFinder
yarp::sig::VectorOf< double > applySafetyMargins(const yarp::sig::VectorOf< double > &in)
Applies safety margins, i.e.
void appendTarget(yarp::os::Bottle &b, const yarp::sig::VectorOf< double > &tCenter)
Appends a target vector t to the Bottle
bool draw(const yarp::sig::VectorOf< double > &targetCenter, const double theta, const double radius, const double dist, const yarp::os::Bottle &options=yarp::os::Bottle())
draw (KARMA): draw action, along the positive direction of the x-axis (in robot FoR) ...
yarp::dev::PolyDriver driverHL
Abstract class to handle sub-systems of the icub-client.
yarp::dev::PolyDriver driverL
SubSystem_KARMA(const std::string &masterName, const std::string &robot)
Default constructor.
bool openCartesianClient()
bool returnArmSafely(std::string armType)
yarp::os::RpcClient portCalib
void selectHandCorrectTarget(yarp::os::Bottle &options, const std::string &targetName, yarp::sig::VectorOf< double > &target, const std::string handToUse="")
void chooseArmAuto()
chooseArmAuto (toolRemove in KARMA): wrapper for tool-remove of Karma, use to clear the arm choise ...
yarp::os::RpcClient portStop
void appendDouble(yarp::os::Bottle &b, const double &v)
Appends a double value v to the Bottle
bool pushFront(const std::string &objName, const yarp::sig::VectorOf< double > &objCenter, const double &targetPosXFront, const std::string &armType="selectable", const yarp::os::Bottle &options=yarp::os::Bottle())
pushFront (KARMA): push an object to a certain location along x-axis of robot RoF ...
bool push(const yarp::sig::VectorOf< double > &targetCenter, const double theta, const double radius, const yarp::os::Bottle &options=yarp::os::Bottle())
push (KARMA): push to certain position, along a defined direction
yarp::os::RpcClient portVision
bool pushAside(const std::string &objName, const yarp::sig::VectorOf< double > &objCenter, const double &targetPosY, const double &theta, const std::string &armType="selectable", const yarp::os::Bottle &options=yarp::os::Bottle())
pushAside (KARMA): push an object to a certain location along y-axis of robot RoF ...
void Close()
Clean up resources.
yarp::dev::ICartesianControl * iCartCtrlL
yarp::dev::ICartesianControl * iCartCtrlR