-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add the possibility to set the dafault contact in ContactList
class
#297
Conversation
I did not understand what " default index" meant. It became clearer once I read the docs. Probably "default frame index" may be more evident. Moreover, the definition of frame index is strictly bound to the use of Can you detail your use case? |
I agree
The In my specific case, I use The aim of the method was to simplify the possibility to add steps in a manif::SE3d rightTransform(Eigen::Vector3d::Zero(), manif::SO3d::Identity());
contactListMap["right_foot"].setDefaultIndex(
m_kinDynWithMeasured.kindyn->model().getFrameIndex("r_sole"));
contactListMap["right_foot"].addContact(rightTransform, 0.0, 3.0);
contactListMap["right_foot"].addContact(rightTransform,4.0, 5.0); Otherwise this is required manif::SE3d rightTransform(Eigen::Vector3d::Zero(), manif::SO3d::Identity());
PlannedContact contact1;
contact1.activationTime = 0.0;
contact1.deactivationTime = 3.0;
contact1.pose = rightTransform;
contact1.index = m_kinDynWithMeasured.kindyn->model().getFrameIndex("r_sole");
contactListMap["right_foot"].setDefaultIndex(
m_kinDynWithMeasured.kindyn->model().getFrameIndex("r_sole"));
contactListMap["right_foot"].addContact(contact1); Another possibility is to remove from contact and keep it only in the Just to conclude I'm using the index to reset the legged odometry in this way. m_floatingBaseEstimator.changeFixedFrame(m_fixedFootDetector.getFixedFoot().index,
m_fixedFootDetector.getFixedFoot().pose.quat(),
m_fixedFootDetector.getFixedFoot().pose.translation()); Notice that here Let me know if you have any idea |
We (@GiulioRomualdi , @prashanthr05 and I) discussed F2F. Ideally, it would be better to avoid using indexes since:
In addition, if the contact is a point, we can define only its position, but then we cannot use that to define the frame pose. Hence, we agreed on the following. Instead of specifying the index, we may use a struct with the following fields:
In any case, this is something that can be addressed in future PRs. |
This PR introduces the possibility to set the default contact in the
ContactList
class. Furthermore it introduces theTextLogging
inContactList