KDL 1.5.1
chaindynparam.hpp
Go to the documentation of this file.
1// Copyright (C) 2009 Dominick Vanthienen <dominick dot vanthienen at intermodalics dot eu>
2
3// Version: 1.0
4// Author: Dominick Vanthienen <dominick dot vanthienen at intermodalics dot eu>
5// Maintainer: Ruben Smits <ruben dot smits at intermodalics dot eu>
6// URL: http://www.orocos.org/kdl
7
8// This library is free software; you can redistribute it and/or
9// modify it under the terms of the GNU Lesser General Public
10// License as published by the Free Software Foundation; either
11// version 2.1 of the License, or (at your option) any later version.
12
13// This library is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16// Lesser General Public License for more details.
17
18// You should have received a copy of the GNU Lesser General Public
19// License along with this library; if not, write to the Free Software
20// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21
22#ifndef KDLCHAINDYNPARAM_HPP
23#define KDLCHAINDYNPARAM_HPP
24
28#include <Eigen/StdVector>
29
30namespace KDL {
31
47 class ChainDynParam : public SolverI
48 {
49 public:
50 ChainDynParam(const Chain& chain, Vector _grav);
51 virtual ~ChainDynParam();
52
53 virtual int JntToCoriolis(const JntArray &q, const JntArray &q_dot, JntArray &coriolis);
54 virtual int JntToMass(const JntArray &q, JntSpaceInertiaMatrix& H);
55 virtual int JntToGravity(const JntArray &q,JntArray &gravity);
56
58 virtual void updateInternalDataStructures();
59
60 private:
61 const Chain& chain;
62 int nr; // unused, remove in a future version
63 unsigned int nj;
64 unsigned int ns;
70 std::vector<Wrench> wrenchnull;
71 std::vector<Frame> X;
72 std::vector<Twist> S;
73 //std::vector<RigidBodyInertia> I;
74 std::vector<ArticulatedBodyInertia, Eigen::aligned_allocator<ArticulatedBodyInertia> > Ic;
77
78 };
79
80}
81
82#endif
Implementation of a method to calculate the matrices H (inertia),C(coriolis) and G(gravitation) for t...
Definition: chaindynparam.hpp:48
ChainIdSolver_RNE chainidsolver_coriolis
Definition: chaindynparam.hpp:68
unsigned int nj
Definition: chaindynparam.hpp:63
std::vector< Twist > S
Definition: chaindynparam.hpp:72
const Chain & chain
Definition: chaindynparam.hpp:61
Wrench F
Definition: chaindynparam.hpp:75
Vector grav
Definition: chaindynparam.hpp:65
virtual int JntToMass(const JntArray &q, JntSpaceInertiaMatrix &H)
Definition: chaindynparam.cpp:60
virtual int JntToCoriolis(const JntArray &q, const JntArray &q_dot, JntArray &coriolis)
Definition: chaindynparam.cpp:127
virtual void updateInternalDataStructures()
Update the internal data structures.
Definition: chaindynparam.cpp:46
unsigned int ns
Definition: chaindynparam.hpp:64
Twist ag
Definition: chaindynparam.hpp:76
std::vector< ArticulatedBodyInertia, Eigen::aligned_allocator< ArticulatedBodyInertia > > Ic
Definition: chaindynparam.hpp:74
virtual ~ChainDynParam()
Definition: chaindynparam.cpp:149
int nr
Definition: chaindynparam.hpp:62
Vector vectornull
Definition: chaindynparam.hpp:66
ChainIdSolver_RNE chainidsolver_gravity
Definition: chaindynparam.hpp:69
std::vector< Frame > X
Definition: chaindynparam.hpp:71
JntArray jntarraynull
Definition: chaindynparam.hpp:67
std::vector< Wrench > wrenchnull
Definition: chaindynparam.hpp:70
virtual int JntToGravity(const JntArray &q, JntArray &gravity)
Definition: chaindynparam.cpp:139
ChainDynParam(const Chain &chain, Vector _grav)
Definition: chaindynparam.cpp:29
Recursive newton euler inverse dynamics solver.
Definition: chainidsolver_recursive_newton_euler.hpp:40
Definition: chain.hpp:35
Definition: jntarray.hpp:70
Solver interface supporting storage and description of the latest error.
Definition: solveri.hpp:85
represents both translational and rotational velocities.
Definition: frames.hpp:720
A concrete implementation of a 3 dimensional vector class.
Definition: frames.hpp:161
represents both translational and rotational acceleration.
Definition: frames.hpp:879
Definition: articulatedbodyinertia.cpp:26