Blender
V3.3
intern
itasc
Distance.hpp
Go to the documentation of this file.
1
/* SPDX-License-Identifier: LGPL-2.1-or-later
2
* Copyright 2009 Ruben Smits. */
3
8
#ifndef DISTANCE_HPP_
9
#define DISTANCE_HPP_
10
11
#include "
ConstraintSet.hpp
"
12
#include "
kdl/chain.hpp
"
13
#include "
kdl/chainfksolverpos_recursive.hpp
"
14
#include "
kdl/chainjnttojacsolver.hpp
"
15
16
namespace
iTaSC
17
{
18
19
class
Distance
:
public
iTaSC::ConstraintSet
20
{
21
protected
:
22
virtual
void
updateKinematics
(
const
Timestamp
& timestamp);
23
virtual
void
pushCache
(
const
Timestamp
& timestamp);
24
virtual
void
updateJacobian
();
25
virtual
bool
initialise
(
Frame
& init_pose);
26
virtual
void
initCache
(
Cache
*_cache);
27
virtual
void
updateControlOutput
(
const
Timestamp
& timestamp);
28
virtual
bool
closeLoop
();
29
30
public
:
31
enum
ID
{
32
ID_DISTANCE
=1,
33
};
34
Distance
(
double
armlength=1.0,
double
accuracy=1
e
-6,
unsigned
int
maximum_iterations=100);
35
virtual
~Distance
();
36
37
virtual
bool
setControlParameters
(
struct
ConstraintValues
* _values,
unsigned
int
_nvalues,
double
timestep);
38
virtual
const
ConstraintValues
*
getControlParameters
(
unsigned
int
* _nvalues);
39
40
private
:
41
bool
computeChi(
Frame
& pose);
42
KDL::Chain
m_chain;
43
KDL::ChainFkSolverPos_recursive
* m_fksolver;
44
KDL::ChainJntToJacSolver
* m_jacsolver;
45
KDL::JntArray
m_chiKdl;
46
KDL::Jacobian
m_jac;
47
struct
ConstraintSingleValue
m_data
;
48
struct
ConstraintValues
m_values;
49
Cache
* m_cache;
50
int
m_distCCh;
51
CacheTS
m_distCTs;
52
double
m_maxerror;
53
54
void
pushDist(
CacheTS
timestamp);
55
bool
popDist(
CacheTS
timestamp);
56
57
double
m_alpha,m_yddot,m_yd,m_nextyd,m_nextyddot,m_K,m_tolerance;
58
};
59
60
}
61
62
#endif
/* DISTANCE_HPP_ */
ConstraintSet.hpp
e
ATTR_WARN_UNUSED_RESULT const BMVert const BMEdge * e
Definition:
bmesh_query_inline.h:34
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:88
iTaSC::ConstraintSet
Definition:
ConstraintSet.hpp:51
iTaSC::Distance
Definition:
Distance.hpp:20
iTaSC::Distance::initCache
virtual void initCache(Cache *_cache)
Definition:
Distance.cpp:115
iTaSC::Distance::updateKinematics
virtual void updateKinematics(const Timestamp ×tamp)
Definition:
Distance.cpp:169
iTaSC::Distance::Distance
Distance(double armlength=1.0, double accuracy=1e-6, unsigned int maximum_iterations=100)
Definition:
Distance.cpp:18
iTaSC::Distance::ID_DISTANCE
@ ID_DISTANCE
Definition:
Distance.hpp:32
iTaSC::Distance::setControlParameters
virtual bool setControlParameters(struct ConstraintValues *_values, unsigned int _nvalues, double timestep)
Definition:
Distance.cpp:199
iTaSC::Distance::updateControlOutput
virtual void updateControlOutput(const Timestamp ×tamp)
Definition:
Distance.cpp:291
iTaSC::Distance::closeLoop
virtual bool closeLoop()
Definition:
Distance.cpp:106
iTaSC::Distance::updateJacobian
virtual void updateJacobian()
Definition:
Distance.cpp:186
iTaSC::Distance::pushCache
virtual void pushCache(const Timestamp ×tamp)
Definition:
Distance.cpp:163
iTaSC::Distance::initialise
virtual bool initialise(Frame &init_pose)
Definition:
Distance.cpp:96
iTaSC::Distance::~Distance
virtual ~Distance()
Definition:
Distance.cpp:51
iTaSC::Distance::getControlParameters
virtual const ConstraintValues * getControlParameters(unsigned int *_nvalues)
Definition:
Distance.cpp:278
iTaSC
Definition:
Armature.cpp:13
iTaSC::CacheTS
unsigned int CacheTS
Definition:
Cache.hpp:32
ID
Definition:
DNA_ID.h:368
iTaSC::ConstraintSingleValue
Definition:
ConstraintSet.hpp:27
iTaSC::ConstraintValues
Definition:
ConstraintSet.hpp:37
iTaSC::Timestamp
Definition:
Cache.hpp:35
Generated on Sat Jul 27 2024 14:57:55 for Blender by
doxygen
1.9.1