IS.h
Go to the documentation of this file.
1
/*
2
* Copyright 2012-2019 CNRS-UM LIRMM, CNRS-AIST JRL
3
*/
4
5
#pragma once
6
7
// includes
8
// std
9
#include <vector>
10
11
// SpaceVecAlg
12
#include <SpaceVecAlg/SpaceVecAlg>
13
14
#include "
Jacobian.h
"
15
16
namespace
rbd
17
{
18
class
MultiBody;
19
struct
MultiBodyConfig;
20
24
class
RBDYN_DLLAPI
InverseStatics
25
{
26
public
:
27
InverseStatics
() {}
29
InverseStatics
(
const
MultiBody
& mb);
30
31
void
setJacobianSize(
const
MultiBody
& mb,
32
const
MultiBodyConfig
& mbc,
33
const
std::vector<Eigen::MatrixXd> & jacMomentsAndForces);
34
42
void
inverseStatics(
const
MultiBody
& mb,
MultiBodyConfig
& mbc);
43
60
void
computeTorqueJacobianJoint(
const
MultiBody
& mb,
61
MultiBodyConfig
& mbc,
62
const
std::vector<Eigen::MatrixXd> & jacMomentsAndForces);
63
68
void
computeTorqueJacobianJoint(
const
MultiBody
& mb,
MultiBodyConfig
& mbc);
69
70
// safe version for python binding
71
75
void
sInverseStatics(
const
MultiBody
& mb,
MultiBodyConfig
& mbc);
76
82
const
std::vector<sva::ForceVecd> &
f
()
const
83
{
84
return
f_;
85
};
86
87
const
std::vector<Eigen::MatrixXd> &
jointTorqueDiff
()
const
88
{
89
return
jointTorqueDiff_;
90
};
91
92
private
:
96
std::vector<sva::ForceVecd> f_;
97
std::vector<Eigen::MatrixXd> df_;
98
std::vector<Eigen::MatrixXd> jointTorqueDiff_;
99
std::vector<Jacobian> jacW_;
100
Eigen::MatrixXd fullJac_;
101
bool
jacobianSizeHasBeenSet_;
102
};
103
104
}
// namespace rbd
Jacobian.h
rbd::InverseStatics::jointTorqueDiff
const std::vector< Eigen::MatrixXd > & jointTorqueDiff() const
Definition:
IS.h:87
rbd::MultiBody
Definition:
MultiBody.h:29
rbd::InverseStatics::InverseStatics
InverseStatics()
Definition:
IS.h:27
rbd
Definition:
common.h:20
rbd::MultiBodyConfig
Definition:
MultiBodyConfig.h:23
rbd::InverseStatics
Definition:
IS.h:24
rbd::InverseStatics::f
const std::vector< sva::ForceVecd > & f() const
Get the internal forces.
Definition:
IS.h:82
src
RBDyn
RBDyn
IS.h
Generated by
1.8.17