Skip to content

Commit 295645f

Browse files
committed
fixed rrt star.py
1 parent a5c7096 commit 295645f

File tree

1 file changed

+12
-3
lines changed

1 file changed

+12
-3
lines changed

PathPlanning/RRTStar/rrt_star.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ def __init__(self, start, goal, obstacle_list, rand_area,
5252
5353
"""
5454
self.connect_circle_dist = connect_circle_dist
55+
self.goal_node = self.Node(goal[0], goal[1])
5556

5657
def planning(self, animation=True, search_until_max_iter=True):
5758
"""
@@ -121,7 +122,14 @@ def search_best_goal_node(self):
121122
dist_to_goal_list = [self.calc_dist_to_goal(n.x, n.y) for n in self.node_list]
122123
goal_inds = [dist_to_goal_list.index(i) for i in dist_to_goal_list if i <= self.expand_dis]
123124

124-
if not goal_inds:
125+
# safe_goal_inds = goal_inds
126+
safe_goal_inds = []
127+
for goal_ind in goal_inds:
128+
t_node = self.steer(self.node_list[goal_ind], self.goal_node)
129+
if self.check_collision(t_node, self.obstacle_list):
130+
safe_goal_inds.append(goal_ind)
131+
132+
if not safe_goal_inds:
125133
return None
126134

127135
min_cost = min([self.node_list[i].cost for i in goal_inds])
@@ -177,12 +185,13 @@ def main():
177185
(3, 8, 2),
178186
(3, 10, 2),
179187
(7, 5, 2),
180-
(9, 5, 2)
188+
(9, 5, 2),
189+
(8, 10, 1),
181190
] # [x,y,size(radius)]
182191

183192
# Set Initial parameters
184193
rrt_star = RRTStar(start=[0, 0],
185-
goal=[10, 10],
194+
goal=[6, 10],
186195
rand_area=[-2, 15],
187196
obstacle_list=obstacle_list)
188197
path = rrt_star.planning(animation=show_animation)

0 commit comments

Comments
 (0)