mirror of
https://github.com/AtsushiSakai/PythonRobotics.git
synced 2026-04-22 03:00:22 -04:00
Update the pi_2_pi function to a use of a modulo instead of two while.
This commit is contained in:
@@ -221,14 +221,10 @@ class RRT():
|
||||
|
||||
return newNode
|
||||
|
||||
|
||||
def pi_2_pi(self, angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
|
||||
def steer(self, rnd, nind):
|
||||
# print(rnd)
|
||||
|
||||
@@ -38,13 +38,7 @@ def update(state, a, delta):
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
@@ -17,13 +17,7 @@ def mod2pi(theta):
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle >= math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle <= -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
def LSL(alpha, beta, d):
|
||||
|
||||
@@ -109,13 +109,7 @@ class RRT():
|
||||
return newNode
|
||||
|
||||
def pi_2_pi(self, angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
def sample_path(self, wx, wy, step):
|
||||
|
||||
|
||||
@@ -18,13 +18,7 @@ class State:
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
def update(state, v, delta, dt, L):
|
||||
|
||||
@@ -17,13 +17,7 @@ def mod2pi(theta):
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle >= math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle <= -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
def LSL(alpha, beta, d):
|
||||
|
||||
@@ -96,14 +96,10 @@ class RRT():
|
||||
|
||||
return newNode
|
||||
|
||||
|
||||
def pi_2_pi(self, angle):
|
||||
while(angle >= math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
while(angle <= -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
|
||||
def steer(self, rnd, nind):
|
||||
# print(rnd)
|
||||
|
||||
@@ -13,13 +13,7 @@ def mod2pi(theta):
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle >= math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle <= -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
def LSL(alpha, beta, d):
|
||||
|
||||
@@ -97,13 +97,7 @@ class RRT():
|
||||
return newNode
|
||||
|
||||
def pi_2_pi(self, angle):
|
||||
while(angle >= math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle <= -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
def steer(self, rnd, nind):
|
||||
# print(rnd)
|
||||
|
||||
@@ -106,13 +106,7 @@ class RRT():
|
||||
return newNode
|
||||
|
||||
def pi_2_pi(self, angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
def steer(self, rnd, nind):
|
||||
|
||||
|
||||
@@ -331,13 +331,7 @@ def generate_local_course(L, lengths, mode, maxc, step_size):
|
||||
|
||||
|
||||
def pi_2_pi(angle):
|
||||
while(angle > math.pi):
|
||||
angle = angle - 2.0 * math.pi
|
||||
|
||||
while(angle < -math.pi):
|
||||
angle = angle + 2.0 * math.pi
|
||||
|
||||
return angle
|
||||
return (angle + math.pi) % (2*math.pi) - math.pi
|
||||
|
||||
|
||||
def calc_paths(sx, sy, syaw, gx, gy, gyaw, maxc, step_size):
|
||||
|
||||
Reference in New Issue
Block a user