Skip to content

Commit 859d493

Browse files
committed
feat: ElasticBands remove tangential component
1 parent 35a2aaa commit 859d493

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

PathPlanning/ElasticBands/elastic_bands.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
# Visualization Params
3232
ENABLE_PLOT = True
33-
ENABLE_INTERACTIVE = False
33+
ENABLE_INTERACTIVE = True
3434
ENABLE_SAVE_DATA = False
3535
MAX_ITER = 50
3636

@@ -101,8 +101,13 @@ def update_bubbles(self):
101101
continue
102102

103103
f_total = self.contraction_force(i) + self.repulsive_force(i)
104+
v = self.bubbles[i - 1].pos - self.bubbles[i + 1].pos
105+
106+
# Remove tangential component
107+
f_star = f_total - f_total * v * v / (np.linalg.norm(v) ** 2 + 1e-6)
108+
104109
alpha = self.bubbles[i].radius # Adaptive step size
105-
new_pos = self.bubbles[i].pos + alpha * f_total
110+
new_pos = self.bubbles[i].pos + alpha * f_star
106111
new_pos = np.clip(new_pos, 0, 499)
107112
new_radius = self.compute_rho(new_pos)
108113

0 commit comments

Comments
 (0)