[irteus/irtutil.l] Enable to pass integer time-list to interpolator #625
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Currently, interpolator does not work with integer time-list:
This PR fixes this issue by forcibly converting time-list to float.
Result:
Details
When
irteus/irtutil.l
andlisp/geo/geopack.l
are loaded explicitly, that issue disappears:That issue was cause by #596 and euslisp/EusLisp#406.
#596 introduced
eps>
to interpolator:jskeus/irteus/irtutil.l
Line 297 in 3040a1a
jskeus/irteus/irtutil.l
Line 299 in 3040a1a
But compiled
eps>
does not work when one item is float and the other is integer as euslisp/EusLisp#406.So if
(nth segment time-list)
is integer, it cannot be compared withtime
(float).This issue is fatal in jsk-ros-pkg/jsk_pr2eus#486.
We usually pass integer time to
:angle-vector
, but this cannot be correctly managed in current interpolator:https://github.com/jsk-ros-pkg/jsk_pr2eus/blob/4700cf84db91d3b8d6cb17a540c29add5fbfd656/pr2eus/robot-interface.l#L516