Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Gabriele Buondonno
pinocchio
Commits
b1908a1b
Commit
b1908a1b
authored
Jun 19, 2017
by
jcarpent
Browse files
[Algo] Correct jacobian of frames algo
parent
8c95e5c7
Changes
1
Hide whitespace changes
Inline
Side-by-side
src/algorithm/frames.hpp
View file @
b1908a1b
...
...
@@ -129,20 +129,19 @@ namespace se3
const
int
colRef
=
nv
(
model
.
joints
[
parent
])
+
idx_v
(
model
.
joints
[
parent
])
-
1
;
// Lever between the joint center and the frame center expressed in the global frame
const
SE3
::
Vector3
lever
(
data
.
oMi
[
parent
].
rotation
()
*
frame
.
placement
.
translation
());
getJacobian
<
local_frame
>
(
model
,
data
,
parent
,
J
);
if
(
!
local_frame
)
getJacobian
<
local_frame
>
(
model
,
data
,
parent
,
J
);
if
(
!
frame
.
placement
.
isIdentity
())
// Lever between the joint center and the frame center expressed in the global frame
const
SE3
::
Vector3
lever
(
data
.
oMi
[
parent
].
rotation
()
*
frame
.
placement
.
translation
());
for
(
int
j
=
colRef
;
j
>=
0
;
j
=
data
.
parents_fromRow
[(
size_t
)
j
])
{
for
(
int
j
=
colRef
;
j
>=
0
;
j
=
data
.
parents_fromRow
[(
size_t
)
j
])
{
if
(
!
local_frame
)
J
.
col
(
j
).
topRows
<
3
>
()
-=
lever
.
cross
(
J
.
col
(
j
).
bottomRows
<
3
>
());
else
J
.
col
(
j
)
=
oMframe
.
actInv
(
Motion
(
data
.
J
.
col
(
j
))).
toVector
();
}
if
(
!
local_frame
)
J
.
col
(
j
).
topRows
<
3
>
()
-=
lever
.
cross
(
J
.
col
(
j
).
bottomRows
<
3
>
());
else
J
.
col
(
j
)
=
oMframe
.
actInv
(
Motion
(
data
.
J
.
col
(
j
))).
toVector
();
}
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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