Skip to content

Commit 56a5503

Browse files
author
ipuch
committed
finite diff ok for S
1 parent 9f213ec commit 56a5503

File tree

2 files changed

+15
-5
lines changed

2 files changed

+15
-5
lines changed

include/pinocchio/multibody/joint/joint-ellipsoid.hpp

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -196,9 +196,19 @@ namespace pinocchio
196196

197197
data.M.translation() << radius_a * nx, radius_b * ny, radius_c * nz;
198198

199-
data.S.matrix() << c1 * (-radius_b * s0 * s1 + radius_c * c0 * c1 * s2), c1 * (radius_a - radius_c * c0 * c2), -radius_b * c1 * s0,
200-
-radius_a * s1 * s1 - radius_b * c0 * c1 + radius_c * c0 * c1 * c1 * c2, radius_b * s0 * s1 + radius_c * c0 * c1 * s2, radius_a * s1,
201-
c1 * (radius_a * s1 * s2 + radius_b * c1 * c2 * s0 - radius_c * s0), radius_a * c2 * s1 + radius_b * c1 * s0 * s2 + radius_c * c0 * s1, Scalar(0),
199+
Scalar S_11, S_21, S_31, S_12, S_22, S_32;
200+
S_11 = c1 * (-radius_b * c0 * (c0 * s2 + c2 * s0 * s1) - radius_c * s0 * (- c0 * c2 * s1 + s0 * s2));
201+
S_21 = c1 * (radius_b * c0 * (- c0 * c2 + s0 * s1 * s2) - radius_c * s0 * (c0 * s1 * s2 + c2 * s0));
202+
S_31 = c0 * c1 * c1 * s0 * (radius_b - radius_c);
203+
204+
S_12 = radius_a * c1c2 * c1 + radius_b * s0 * s1 * (c0 * s2 + c2 * s0 * s1) - radius_c * c0 * s1 * (- c0 * c2 * s1 + s0 * s2);
205+
S_22 = - radius_a * c1s2 * c1 - radius_b * s0 * s1 * (- c0 * c2 + s0 * s1 * s2) - radius_c * c0 * s1 * (c0 * s1 * s2 + c2 * s0);
206+
S_32 = c1 * s1 * (radius_a - radius_b * s0 * s0 - radius_c * c0 * c0);
207+
208+
209+
data.S.matrix() << S_11, S_12, Scalar(0),
210+
S_21, S_22, Scalar(0),
211+
S_31, S_32, Scalar(0),
202212
c1c2, s2, Scalar(0),
203213
-c1s2, c2, Scalar(0),
204214
s1, Scalar(0), Scalar(1);

unittest/finite-differences.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,8 +171,8 @@ struct init<pinocchio::JointModelEllipsoidTpl<Scalar, Options>>
171171
static JointModel run()
172172
{
173173
JointModel jmodel(Scalar(0.01),
174-
Scalar(0),
175-
Scalar(0)
174+
Scalar(0.02),
175+
Scalar(0.03)
176176
);
177177

178178
jmodel.setIndexes(0, 0, 0);

0 commit comments

Comments
 (0)