Skip to content

Commit c659b8f

Browse files
authored
Merge pull request AtsushiSakai#80 from AlexisTM/update_pi_2_pi_to_fixed_time
Update the pi_2_pi function to a use of a modulo instead of two while.
2 parents a84040b + b243750 commit c659b8f

File tree

17 files changed

+19
-117
lines changed

17 files changed

+19
-117
lines changed

PathPlanning/ClosedLoopRRTStar/closed_loop_rrt_star_car.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -221,14 +221,10 @@ def choose_parent(self, newNode, nearinds):
221221

222222
return newNode
223223

224-
def pi_2_pi(self, angle):
225-
while(angle > math.pi):
226-
angle = angle - 2.0 * math.pi
227224

228-
while(angle < -math.pi):
229-
angle = angle + 2.0 * math.pi
225+
def pi_2_pi(self, angle):
226+
return (angle + math.pi) % (2*math.pi) - math.pi
230227

231-
return angle
232228

233229
def steer(self, rnd, nind):
234230
# print(rnd)

PathPlanning/ClosedLoopRRTStar/unicycle_model.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,7 @@ def update(state, a, delta):
3838

3939

4040
def pi_2_pi(angle):
41-
while(angle > math.pi):
42-
angle = angle - 2.0 * math.pi
43-
44-
while(angle < -math.pi):
45-
angle = angle + 2.0 * math.pi
46-
47-
return angle
41+
return (angle + math.pi) % (2*math.pi) - math.pi
4842

4943

5044
if __name__ == '__main__':

PathPlanning/DubinsPath/dubins_path_planning.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@ def mod2pi(theta):
1717

1818

1919
def pi_2_pi(angle):
20-
while(angle >= math.pi):
21-
angle = angle - 2.0 * math.pi
22-
23-
while(angle <= -math.pi):
24-
angle = angle + 2.0 * math.pi
25-
26-
return angle
20+
return (angle + math.pi) % (2*math.pi) - math.pi
2721

2822

2923
def LSL(alpha, beta, d):

PathPlanning/LQRRRTStar/lqr_rrt_star.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -109,13 +109,7 @@ def choose_parent(self, newNode, nearinds):
109109
return newNode
110110

111111
def pi_2_pi(self, angle):
112-
while(angle > math.pi):
113-
angle = angle - 2.0 * math.pi
114-
115-
while(angle < -math.pi):
116-
angle = angle + 2.0 * math.pi
117-
118-
return angle
112+
return (angle + math.pi) % (2*math.pi) - math.pi
119113

120114
def sample_path(self, wx, wy, step):
121115

PathPlanning/ModelPredictiveTrajectoryGenerator/motion_model.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,7 @@ def __init__(self, x=0.0, y=0.0, yaw=0.0, v=0.0):
1818

1919

2020
def pi_2_pi(angle):
21-
while(angle > math.pi):
22-
angle = angle - 2.0 * math.pi
23-
24-
while(angle < -math.pi):
25-
angle = angle + 2.0 * math.pi
26-
27-
return angle
21+
return (angle + math.pi) % (2*math.pi) - math.pi
2822

2923

3024
def update(state, v, delta, dt, L):

PathPlanning/RRTDubins/dubins_path_planning.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,13 +17,7 @@ def mod2pi(theta):
1717

1818

1919
def pi_2_pi(angle):
20-
while(angle >= math.pi):
21-
angle = angle - 2.0 * math.pi
22-
23-
while(angle <= -math.pi):
24-
angle = angle + 2.0 * math.pi
25-
26-
return angle
20+
return (angle + math.pi) % (2*math.pi) - math.pi
2721

2822

2923
def LSL(alpha, beta, d):

PathPlanning/RRTDubins/rrt_dubins.py

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -96,14 +96,10 @@ def choose_parent(self, newNode, nearinds):
9696

9797
return newNode
9898

99-
def pi_2_pi(self, angle):
100-
while(angle >= math.pi):
101-
angle = angle - 2.0 * math.pi
10299

103-
while(angle <= -math.pi):
104-
angle = angle + 2.0 * math.pi
100+
def pi_2_pi(self, angle):
101+
return (angle + math.pi) % (2*math.pi) - math.pi
105102

106-
return angle
107103

108104
def steer(self, rnd, nind):
109105
# print(rnd)

PathPlanning/RRTStarDubins/dubins_path_planning.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,7 @@ def mod2pi(theta):
1313

1414

1515
def pi_2_pi(angle):
16-
while(angle >= math.pi):
17-
angle = angle - 2.0 * math.pi
18-
19-
while(angle <= -math.pi):
20-
angle = angle + 2.0 * math.pi
21-
22-
return angle
16+
return (angle + math.pi) % (2*math.pi) - math.pi
2317

2418

2519
def LSL(alpha, beta, d):

PathPlanning/RRTStarDubins/rrt_star_dubins.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -97,13 +97,7 @@ def choose_parent(self, newNode, nearinds):
9797
return newNode
9898

9999
def pi_2_pi(self, angle):
100-
while(angle >= math.pi):
101-
angle = angle - 2.0 * math.pi
102-
103-
while(angle <= -math.pi):
104-
angle = angle + 2.0 * math.pi
105-
106-
return angle
100+
return (angle + math.pi) % (2*math.pi) - math.pi
107101

108102
def steer(self, rnd, nind):
109103
# print(rnd)

PathPlanning/RRTStarReedsShepp/rrt_star_reeds_shepp.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -106,13 +106,7 @@ def choose_parent(self, newNode, nearinds):
106106
return newNode
107107

108108
def pi_2_pi(self, angle):
109-
while(angle > math.pi):
110-
angle = angle - 2.0 * math.pi
111-
112-
while(angle < -math.pi):
113-
angle = angle + 2.0 * math.pi
114-
115-
return angle
109+
return (angle + math.pi) % (2*math.pi) - math.pi
116110

117111
def steer(self, rnd, nind):
118112

0 commit comments

Comments
 (0)