Update the pi_2_pi function to a use of a modulo instead of two while.

This commit is contained in:
Alexis Paques
2018-07-10 09:22:18 +02:00
parent 39aa4f5a6a
commit b243750a13
17 changed files with 19 additions and 117 deletions

View File

@@ -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)

View File

@@ -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__':

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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):

View File

@@ -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)

View File

@@ -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):

View File

@@ -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)

View File

@@ -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):

View File

@@ -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):