iCub-main
Loading...
Searching...
No Matches
iKinHlp.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2006-2018 Istituto Italiano di Tecnologia (IIT)
3 * Copyright (C) 2006-2010 RobotCub Consortium
4 * All rights reserved.
5 *
6 * This software may be modified and distributed under the terms
7 * of the BSD-3-Clause license. See the accompanying LICENSE file for
8 * details.
9*/
10
24#ifndef __IKINHLP_H__
25#define __IKINHLP_H__
26
27#define IKIN_ALMOST_ZERO 1e-6
28
29#include <yarp/os/Bottle.h>
30#include <yarp/sig/all.h>
31
32#include <iCub/iKin/iKinFwd.h>
33
34
35namespace iCub
36{
37
38namespace iKin
39{
40
48{
49protected:
50 static void addVectorOption(yarp::os::Bottle &b, const int vcb, const yarp::sig::Vector &v);
51 static bool getDesiredOption(const yarp::os::Bottle &reply, yarp::sig::Vector &xdhat,
52 yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat);
53
54public:
60 static void addTargetOption(yarp::os::Bottle &b, const yarp::sig::Vector &xd);
61
68 static void addDOFOption(yarp::os::Bottle &b, const yarp::sig::Vector &dof);
69
77 static void addJointsResPosOption(yarp::os::Bottle &b, const yarp::sig::Vector &restPos);
78
85 static void addJointsRestWeightsOption(yarp::os::Bottle &b, const yarp::sig::Vector &restWeights);
86
94 static void addPoseOption(yarp::os::Bottle &b, const unsigned int pose);
95
102 static void addModeOption(yarp::os::Bottle &b, const bool tracking);
103
110 static void addTokenOption(yarp::os::Bottle &b, const double token);
111
118 static yarp::os::Bottle *getTargetOption(const yarp::os::Bottle &b);
119
126 static yarp::os::Bottle *getEndEffectorPoseOption(const yarp::os::Bottle &b);
127
134 static yarp::os::Bottle *getJointsOption(const yarp::os::Bottle &b);
135
143 static bool getTokenOption(const yarp::os::Bottle &b, double *token);
144
156 yarp::sig::Vector &fp);
157
171 yarp::sig::Vector &fp, yarp::sig::Matrix &J);
172};
173
174}
175
176}
177
178#endif
179
Helper class providing useful methods to deal with Cartesian Solver options.
Definition iKinHlp.h:48
static yarp::os::Bottle * getEndEffectorPoseOption(const yarp::os::Bottle &b)
Retrieves the end-effector pose data.
Definition iKinHlp.cpp:156
static void addVectorOption(yarp::os::Bottle &b, const int vcb, const yarp::sig::Vector &v)
Definition iKinHlp.cpp:26
static yarp::os::Bottle * getJointsOption(const yarp::os::Bottle &b)
Retrieves the joints configuration data.
Definition iKinHlp.cpp:163
static yarp::os::Bottle * getTargetOption(const yarp::os::Bottle &b)
Retrieves commanded target data from a bottle.
Definition iKinHlp.cpp:149
static bool computeFixationPointData(iKinChain &eyeL, iKinChain &eyeR, yarp::sig::Vector &fp, yarp::sig::Matrix &J)
Retrieves current fixation point and its Jacobian wrt eyes tilt-pan-vergence dofs given the current k...
static void addModeOption(yarp::os::Bottle &b, const bool tracking)
Appends to a bottle all data needed to change the tracking mode.
Definition iKinHlp.cpp:127
static bool computeFixationPointData(iKinChain &eyeL, iKinChain &eyeR, yarp::sig::Vector &fp)
Retrieves current fixation point given the current kinematics configuration of the eyes.
static void addTargetOption(yarp::os::Bottle &b, const yarp::sig::Vector &xd)
Appends to a bottle all data needed to command a target.
Definition iKinHlp.cpp:86
static void addJointsResPosOption(yarp::os::Bottle &b, const yarp::sig::Vector &restPos)
Appends to a bottle all data needed to modify joints rest position.
Definition iKinHlp.cpp:100
static void addDOFOption(yarp::os::Bottle &b, const yarp::sig::Vector &dof)
Appends to a bottle all data needed to reconfigure chain's dof.
Definition iKinHlp.cpp:93
static bool getDesiredOption(const yarp::os::Bottle &reply, yarp::sig::Vector &xdhat, yarp::sig::Vector &odhat, yarp::sig::Vector &qdhat)
Definition iKinHlp.cpp:38
static bool getTokenOption(const yarp::os::Bottle &b, double *token)
Retrieves the token from the bottle.
Definition iKinHlp.cpp:170
static void addJointsRestWeightsOption(yarp::os::Bottle &b, const yarp::sig::Vector &restWeights)
Appends to a bottle all data needed to modify joints rest weights.
Definition iKinHlp.cpp:107
static void addTokenOption(yarp::os::Bottle &b, const double token)
Appends to a bottle a token to be exchanged with the solver.
Definition iKinHlp.cpp:140
static void addPoseOption(yarp::os::Bottle &b, const unsigned int pose)
Appends to a bottle all data needed to change the pose mode.
Definition iKinHlp.cpp:114
A Base class for defining a Serial Link Chain.
Definition iKinFwd.h:354
This file contains the definition of unique IDs for the body parts and the skin parts of the robot.
static struct bpf_program fp