Open GiulioRomualdi opened 3 years ago
Another possible solution is to substitute
if(k * this->optiSettings.plannerSamplingTime > contactPhaseListIt->endTime)
with
if(k * this->optiSettings.plannerSamplingTime + contactPhaseList.cbegin()->initTime > contactPhaseListIt->endTime)
However I would prefer the solution proposed in https://github.com/dic-iit/bipedal-locomotion-framework/issues/222#issue-820985689
I was debugging the
TimeVaryingDCMPlanner
with @paolo-viceconte and we noticed that the planner was not able to handle contacts that didn't start from zero. Indeed the following lines of code assume that the contact list start from zerohttps://github.com/dic-iit/bipedal-locomotion-framework/blob/06fecff66977b009c0c1e9dd8f6f17023e52ba2c/src/Planners/src/TimeVaryingDCMPlanner.cpp#L378
https://github.com/dic-iit/bipedal-locomotion-framework/blob/67afe42a454aa19103b8aaf545bdf7e1a8cfee8d/src/Planners/src/TimeVaryingDCMPlanner.cpp#L476
https://github.com/dic-iit/bipedal-locomotion-framework/blob/67afe42a454aa19103b8aaf545bdf7e1a8cfee8d/src/Planners/src/TimeVaryingDCMPlanner.cpp#L423
A possible solution is to reset the time to zero of the contact when
setContactList
is calledcc @traversaro and @S-Dafarra