Skip to content

Commit ea954a5

Browse files
author
ipuch
committed
tests(joint vs spherical) passes for position and speed
1 parent 31b26f8 commit ea954a5

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

unittest/joint-ellipsoid.cpp

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -277,10 +277,14 @@ BOOST_AUTO_TEST_CASE(vsSphericalZYX)
277277

278278
// Get the motion subspace matrices (which give us the Jacobians)
279279
JointModelSphericalZYX jmodel_s;
280+
jmodel_s.setIndexes(0, 0, 0); // Set indices for standalone joint
281+
280282
JointDataSphericalZYX jdata_s = jmodel_s.createData();
281283
jmodel_s.calc(jdata_s, q_s);
282284

283285
JointModelEllipsoid jmodel_e(0, 0, 0);
286+
jmodel_e.setIndexes(0, 0, 0); // Set indices for standalone joint
287+
284288
JointDataEllipsoid jdata_e = jmodel_e.createData();
285289
jmodel_e.calc(jdata_e, q_e);
286290

@@ -313,6 +317,7 @@ BOOST_AUTO_TEST_CASE(vsSphericalZYX)
313317
forwardKinematics(modelEllipsoid, dataEllipsoid, q_e, qd_e);
314318

315319
// Getting S with q_e from the three calcs
320+
// Note: jmodel_e already has indices set from earlier
316321
JointDataEllipsoid jdata_e_fk = jmodel_e.createData();
317322
JointDataEllipsoid jdata_e_fk2 = jmodel_e.createData();
318323
JointDataEllipsoid jdata_e_fk3 = jmodel_e.createData();
@@ -332,9 +337,14 @@ BOOST_AUTO_TEST_CASE(vsSphericalZYX)
332337
jmodel_s.calc(jdata_s_fk, q_s, qd_s);
333338

334339
std::cout << "\n=== Joint-frame velocities (S * v) ===" << std::endl;
340+
std::cout << "idx_v() for standalone joint: " << jmodel_e.idx_v() << std::endl;
341+
std::cout << "qd_e: " << qd_e.transpose() << std::endl;
342+
std::cout << "jdata_e_fk.joint_v: " << jdata_e_fk.joint_v.transpose() << std::endl;
335343
Eigen::Matrix<double, 6, 1> joint_vel_e = jdata_e_fk.S.matrix() * qd_e;
336-
std::cout << "joint_vel_e: " << joint_vel_e.transpose() << std::endl;
337-
std::cout << "jdata_e_fk.v : " << jdata_e_fk.v.toVector().transpose() << std::endl;
344+
std::cout << "joint_vel_e (S * qd_e): " << joint_vel_e.transpose() << std::endl;
345+
std::cout << "jdata_e_fk.v (computed): " << jdata_e_fk.v.toVector().transpose() << std::endl;
346+
Eigen::Matrix<double, 6, 1> manual_vel = jdata_e_fk.S.matrix() * jdata_e_fk.joint_v;
347+
std::cout << "S * jdata_e_fk.joint_v: " << manual_vel.transpose() << std::endl;
338348

339349
Eigen::Matrix<double, 6, 1> joint_vel_s = jdata_s_fk.S.matrix() * qd_s;
340350
std::cout << "Ellipsoid (S_xyz * qd_e): " << joint_vel_e.transpose() << std::endl;

0 commit comments

Comments
 (0)