humanoid-path-planner / hpp-rbprm

"Implementation of RB-PRM planner using hpp."
5 stars 7 forks source link

getContactsVariations() may produce false positives #16

Closed pFernbach closed 5 years ago

pFernbach commented 5 years ago

The method in rbprm-state.cc : contactCreation() compare the position of each contacts in a given state with their position in another state with the following line :

newContact = (previous.contactPositions_.at(name) - cit->second).norm() > 10e-3;

Depending on the error threshold set for the configProjector when creating this states, the norm of the distance may exceed this hardcoded value while the given contact position was identical. I do not see an easy way to relate the value of the error threshold of the config projector to the maximal distance possible that should be tested in this method.

stonneau commented 5 years ago

The brutal way is to define statically these variables in the configuration files. The question being whether there is any reason to ever change their value. Since this is not parametrizable right now, I guess not. We could then add a unit test / assert that the values are coherent (or use just one value).

Then, from a practical point of view, I guess replacing a contact by less than one centimeter is not replacing a contact...

pFernbach commented 5 years ago

I agree. I changed the value to 1cm in 491902eef8089fd1e65966da702780f5b3ff18d0.