Blender
V4.3
intern
itasc
Distance.hpp
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2009 Ruben Smits
2
*
3
* SPDX-License-Identifier: LGPL-2.1-or-later */
4
9
#ifndef DISTANCE_HPP_
10
#define DISTANCE_HPP_
11
12
#include "
ConstraintSet.hpp
"
13
#include "
kdl/chain.hpp
"
14
#include "
kdl/chainfksolverpos_recursive.hpp
"
15
#include "
kdl/chainjnttojacsolver.hpp
"
16
17
namespace
iTaSC
18
{
19
20
class
Distance
:
public
iTaSC::ConstraintSet
21
{
22
protected
:
23
virtual
void
updateKinematics
(
const
Timestamp
& timestamp);
24
virtual
void
pushCache
(
const
Timestamp
& timestamp);
25
virtual
void
updateJacobian
();
26
virtual
bool
initialise
(
Frame
& init_pose);
27
virtual
void
initCache
(
Cache
*_cache);
28
virtual
void
updateControlOutput
(
const
Timestamp
& timestamp);
29
virtual
bool
closeLoop
();
30
31
public
:
32
enum
ID
{
33
ID_DISTANCE
=1,
34
};
35
Distance
(
double
armlength=1.0,
double
accuracy=1
e
-6,
unsigned
int
maximum_iterations=100);
36
virtual
~Distance
();
37
38
virtual
bool
setControlParameters
(
struct
ConstraintValues
* _values,
unsigned
int
_nvalues,
double
timestep);
39
virtual
const
ConstraintValues
*
getControlParameters
(
unsigned
int
* _nvalues);
40
41
private
:
42
bool
computeChi(
Frame
& pose);
43
KDL::Chain
m_chain;
44
KDL::ChainFkSolverPos_recursive
* m_fksolver;
45
KDL::ChainJntToJacSolver
* m_jacsolver;
46
KDL::JntArray
m_chiKdl;
47
KDL::Jacobian
m_jac;
48
struct
ConstraintSingleValue
m_data
;
49
struct
ConstraintValues
m_values;
50
Cache
* m_cache;
51
int
m_distCCh;
52
CacheTS
m_distCTs;
53
double
m_maxerror;
54
55
void
pushDist(
CacheTS
timestamp);
56
bool
popDist(
CacheTS
timestamp);
57
58
double
m_alpha,m_yddot,m_yd,m_nextyd,m_nextyddot,m_K,m_tolerance;
59
};
60
61
}
62
63
#endif
/* DISTANCE_HPP_ */
ConstraintSet.hpp
e
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
Definition
bmesh_query_inline.hh:36
m_data
btAlignedObjectArray< btScalar > m_data
Definition
btMultiBodyConstraint.h:80
chain.hpp
chainfksolverpos_recursive.hpp
chainjnttojacsolver.hpp
KDL::ChainFkSolverPos_recursive
Definition
chainfksolverpos_recursive.hpp:37
KDL::ChainJntToJacSolver
Class to calculate the jacobian of a general KDL::Chain, it is used by other solvers....
Definition
chainjnttojacsolver.hpp:41
KDL::Chain
This class encapsulates a serial kinematic interconnection structure. It is build out of segments.
Definition
chain.hpp:36
KDL::Frame
represents a frame transformation in 3D space (rotation + translation)
Definition
frames.hpp:526
KDL::Jacobian
Definition
jacobian.hpp:33
KDL::JntArray
Definition
jntarray.hpp:68
iTaSC::Cache
Definition
Cache.hpp:89
iTaSC::ConstraintSet
Definition
ConstraintSet.hpp:52
iTaSC::Distance
Definition
Distance.hpp:21
iTaSC::Distance::initCache
virtual void initCache(Cache *_cache)
Definition
Distance.cpp:116
iTaSC::Distance::updateKinematics
virtual void updateKinematics(const Timestamp ×tamp)
Definition
Distance.cpp:170
iTaSC::Distance::Distance
Distance(double armlength=1.0, double accuracy=1e-6, unsigned int maximum_iterations=100)
Definition
Distance.cpp:19
iTaSC::Distance::ID_DISTANCE
@ ID_DISTANCE
Definition
Distance.hpp:33
iTaSC::Distance::setControlParameters
virtual bool setControlParameters(struct ConstraintValues *_values, unsigned int _nvalues, double timestep)
Definition
Distance.cpp:200
iTaSC::Distance::updateControlOutput
virtual void updateControlOutput(const Timestamp ×tamp)
Definition
Distance.cpp:292
iTaSC::Distance::closeLoop
virtual bool closeLoop()
Definition
Distance.cpp:107
iTaSC::Distance::updateJacobian
virtual void updateJacobian()
Definition
Distance.cpp:187
iTaSC::Distance::pushCache
virtual void pushCache(const Timestamp ×tamp)
Definition
Distance.cpp:164
iTaSC::Distance::initialise
virtual bool initialise(Frame &init_pose)
Definition
Distance.cpp:97
iTaSC::Distance::~Distance
virtual ~Distance()
Definition
Distance.cpp:52
iTaSC::Distance::getControlParameters
virtual const ConstraintValues * getControlParameters(unsigned int *_nvalues)
Definition
Distance.cpp:279
iTaSC
Definition
Armature.cpp:14
iTaSC::CacheTS
unsigned int CacheTS
Definition
Cache.hpp:33
ID
Definition
DNA_ID.h:413
iTaSC::ConstraintSingleValue
Definition
ConstraintSet.hpp:28
iTaSC::ConstraintValues
Definition
ConstraintSet.hpp:38
iTaSC::Timestamp
Definition
Cache.hpp:36
Generated on Thu Feb 6 2025 07:36:39 for Blender by
doxygen
1.11.0