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
Humanoid Path Planner
hpp-model
Commits
879c7880
Commit
879c7880
authored
Oct 23, 2015
by
Joseph Mirabel
Committed by
Joseph Mirabel
Oct 23, 2015
Browse files
Fix bug in SO3JointConfig::difference
* Eigen convention on 4D vectors representing quaternion is (x,y,z,w)
parent
5ceaa852
Changes
1
Show whitespace changes
Inline
Side-by-side
src/joint-configuration.cc
View file @
879c7880
...
@@ -248,8 +248,18 @@ namespace hpp {
...
@@ -248,8 +248,18 @@ namespace hpp {
)
?
-
1
:
1
;
)
?
-
1
:
1
;
// Compute rotation vector between q2 and q1.
// Compute rotation vector between q2 and q1.
Quaternion_t
p1
(
invertor
*
q1
.
segment
<
4
>
(
indexConfig
));
// Cannot use the following because eigen convention is (x,y,z,w) when
Quaternion_t
p2
(
q2
.
segment
<
4
>
(
indexConfig
));
// passing a 4d vector...
// Quaternion_t p1 (invertor * q1.segment <4> (indexConfig));
// Quaternion_t p2 (q2.segment <4> (indexConfig));
Quaternion_t
p1
(
invertor
*
q1
[
indexConfig
+
0
],
invertor
*
q1
[
indexConfig
+
1
],
invertor
*
q1
[
indexConfig
+
2
],
invertor
*
q1
[
indexConfig
+
3
]);
Quaternion_t
p2
(
q2
[
indexConfig
+
0
],
q2
[
indexConfig
+
1
],
q2
[
indexConfig
+
2
],
q2
[
indexConfig
+
3
]);
Quaternion_t
p
(
p1
*
p2
.
conjugate
());
Quaternion_t
p
(
p1
*
p2
.
conjugate
());
AngleAxis_t
angleAxis
(
p
);
AngleAxis_t
angleAxis
(
p
);
result
.
segment
<
3
>
(
indexVelocity
)
=
angleAxis
.
angle
()
*
angleAxis
.
axis
();
result
.
segment
<
3
>
(
indexVelocity
)
=
angleAxis
.
angle
()
*
angleAxis
.
axis
();
...
...
Write
Preview
Supports
Markdown
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