update end condition
This commit is contained in:
13
utility.py
13
utility.py
@@ -19,7 +19,7 @@ class Loader:
|
|||||||
|
|
||||||
|
|
||||||
class Stepper:
|
class Stepper:
|
||||||
def __init__(self, print_gap=1.0e-2, break_gap=1.0e-9):
|
def __init__(self, print_gap=1.0e-4, break_gap=1.0e-9):
|
||||||
self._prev_cost = 0
|
self._prev_cost = 0
|
||||||
self._cost = 0
|
self._cost = 0
|
||||||
self._cost_diff = 0
|
self._cost_diff = 0
|
||||||
@@ -41,22 +41,19 @@ class Stepper:
|
|||||||
self._cost = step
|
self._cost = step
|
||||||
self._cost_diff = self._cost - self._prev_cost
|
self._cost_diff = self._cost - self._prev_cost
|
||||||
|
|
||||||
self.accumulator += self._cost_diff
|
self.accumulator += abs(self._cost_diff)
|
||||||
|
|
||||||
if self.accumulator >= self._print_gap:
|
if self.accumulator >= self._print_gap:
|
||||||
self.accumulator -= self._print_gap
|
self.accumulator = 0
|
||||||
self._b_print_turn = True
|
self._b_print_turn = True
|
||||||
|
|
||||||
if self._prev_cost != 0 and self._cost_diff > 0:
|
if self._prev_cost != 0 and (self._cost_diff > 0 or abs(self._cost_diff) < self._break_gap):
|
||||||
self._serial_divergence_cnt += 1
|
self._serial_divergence_cnt += 1
|
||||||
if self._serial_divergence_cnt >= 3:
|
if self._serial_divergence_cnt >= 5:
|
||||||
self._b_break_turn = True
|
self._b_break_turn = True
|
||||||
else:
|
else:
|
||||||
self._serial_divergence_cnt = 0
|
self._serial_divergence_cnt = 0
|
||||||
|
|
||||||
if abs(self._cost_diff) < self._break_gap:
|
|
||||||
self._b_break_turn = True
|
|
||||||
|
|
||||||
def is_print_turn(self):
|
def is_print_turn(self):
|
||||||
return self._b_print_turn
|
return self._b_print_turn
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user