Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Stack Of Tasks
pinocchio
Commits
fd60b37a
Verified
Commit
fd60b37a
authored
Dec 18, 2019
by
Justin Carpentier
Browse files
joint/mimic: refactoting of the code
parent
01637494
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/multibody/joint/joint-mimic.hpp
View file @
fd60b37a
...
...
@@ -284,16 +284,16 @@ namespace pinocchio
JointDataMimic
(
const
JointDataBase
<
JointData
>
&
jdata
,
const
Scalar
&
scaling
)
:
jdata_ref
(
jdata
.
derived
())
,
scaling
(
scaling
)
,
S
(
jdata_ref
.
S
,
scaling
)
:
m_
jdata_ref
(
jdata
.
derived
())
,
m_
scaling
(
scaling
)
,
m_S
(
m_
jdata_ref
.
S
,
scaling
)
{}
JointDataMimic
&
operator
=
(
const
JointDataMimic
&
other
)
{
jdata_ref
=
other
.
jdata_ref
;
scaling
=
other
.
scaling
;
S
=
Constraint_t
(
jdata_ref
.
S
,
other
.
scaling
);
m_
jdata_ref
=
other
.
m_
jdata_ref
;
m_
scaling
=
other
.
m_
scaling
;
m_
S
=
Constraint_t
(
m_
jdata_ref
.
S
,
other
.
m_
scaling
);
return
*
this
;
}
...
...
@@ -304,7 +304,7 @@ namespace pinocchio
std
::
string
shortname
()
const
{
return
std
::
string
(
"JointDataMimic<"
)
+
jdata_ref
.
shortname
()
+
std
::
string
(
">"
);
return
std
::
string
(
"JointDataMimic<"
)
+
m_
jdata_ref
.
shortname
()
+
std
::
string
(
">"
);
}
// Accessors
...
...
@@ -332,20 +332,26 @@ namespace pinocchio
template
<
class
JointModel
>
friend
struct
JointModelMimic
;
const
JointData
&
jdata
()
const
{
return
m_jdata_ref
;
}
JointData
&
jdata
()
{
return
m_jdata_ref
;
}
const
Scalar
&
scaling
()
const
{
return
m_scaling
;
}
Scalar
&
scaling
()
{
return
m_scaling
;
}
protected:
JointData
jdata_ref
;
Scalar
scaling
;
JointData
m_
jdata_ref
;
Scalar
m_
scaling
;
/// \brief Transform configuration vector
ConfigVector_t
q_transform
;
ConfigVector_t
m_
q_transform
;
/// \brief Transform velocity vector.
TangentVector_t
v_transform
;
TangentVector_t
m_
v_transform
;
public:
// data
Constraint_t
S
;
Constraint_t
m_
S
;
};
// struct JointDataMimic
...
...
@@ -414,8 +420,8 @@ namespace pinocchio
typedef
typename
ConfigVectorAffineTransform
<
JointDerived
>::
Type
AffineTransform
;
AffineTransform
::
run
(
qs
.
head
(
m_jmodel_ref
.
nq
()),
m_scaling
,
m_offset
,
jdata
.
q_transform
);
m_jmodel_ref
.
calc
(
jdata
.
jdata_ref
,
jdata
.
q_transform
);
m_scaling
,
m_offset
,
jdata
.
m_
q_transform
);
m_jmodel_ref
.
calc
(
jdata
.
m_
jdata_ref
,
jdata
.
m_
q_transform
);
}
template
<
typename
ConfigVector
,
typename
TangentVector
>
...
...
@@ -427,11 +433,11 @@ namespace pinocchio
typedef
typename
ConfigVectorAffineTransform
<
JointDerived
>::
Type
AffineTransform
;
AffineTransform
::
run
(
qs
.
head
(
m_jmodel_ref
.
nq
()),
m_scaling
,
m_offset
,
jdata
.
q_transform
);
jdata
.
v_transform
=
m_scaling
*
vs
.
head
(
m_jmodel_ref
.
nv
());
m_jmodel_ref
.
calc
(
jdata
.
jdata_ref
,
jdata
.
q_transform
,
jdata
.
v_transform
);
m_scaling
,
m_offset
,
jdata
.
m_
q_transform
);
jdata
.
m_
v_transform
=
m_scaling
*
vs
.
head
(
m_jmodel_ref
.
nv
());
m_jmodel_ref
.
calc
(
jdata
.
m_
jdata_ref
,
jdata
.
m_
q_transform
,
jdata
.
m_
v_transform
);
}
template
<
typename
Matrix6Like
>
...
...
@@ -439,7 +445,8 @@ namespace pinocchio
const
Eigen
::
MatrixBase
<
Matrix6Like
>
&
I
,
const
bool
update_I
)
const
{
m_jmodel_ref
.
calc_aba
(
data
.
jdata_ref
,
// TODO: fixme
m_jmodel_ref
.
calc_aba
(
data
.
m_jdata_ref
,
PINOCCHIO_EIGEN_CONST_CAST
(
Matrix6Like
,
I
),
update_I
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment