File tree 1 file changed +11
-4
lines changed
1 file changed +11
-4
lines changed Original file line number Diff line number Diff line change 294
294
(setq position (send self :interpolation ))
295
295
(incf time dt)
296
296
(setq segment-time (- time (if (= segment 0 ) 0 (nth (1- segment) time-list))))
297
- (when (> time (nth segment time-list))
298
- (setq segment-time (- time (nth segment time-list)))
299
- (incf segment))
297
+ (when (eps> time (nth segment time-list) (* 0.1 dt))
298
+ ; ; if time-segment is not aligned, need to fix the data (see https://github.com/jsk-ros-pkg/jsk_pr2eus/issues/457)
299
+ (while (and (< segment segment-num) (eps> time (nth segment time-list) (* 0.1 dt)))
300
+ (setq segment-time (- time (nth segment time-list)))
301
+ (incf segment)))
300
302
(when (>= segment segment-num)
301
- (setq position (car (last position-list)))
303
+ ; ; adjust time and segment-time to exact position
304
+ (setq segment (1- segment-num))
305
+ (setq time (car (last time-list)))
306
+ (setq segment-time (- time (if (= segment 0 ) 0 (nth (1- segment) time-list))))
307
+ ; ; re-calculate :interpolation
308
+ (setq position (send self :interpolation ))
302
309
(send self :reset ))
303
310
position ))
304
311
)
You can’t perform that action at this time.
0 commit comments