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 return newNode
def pi_2_pi(self, angle): def pi_2_pi(self, angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def steer(self, rnd, nind): def steer(self, rnd, nind):
# print(rnd) # print(rnd)

View File

@@ -38,13 +38,7 @@ def update(state, a, delta):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
if __name__ == '__main__': if __name__ == '__main__':

View File

@@ -17,13 +17,7 @@ def mod2pi(theta):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle >= math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle <= -math.pi):
angle = angle + 2.0 * math.pi
return angle
def LSL(alpha, beta, d): def LSL(alpha, beta, d):

View File

@@ -109,13 +109,7 @@ class RRT():
return newNode return newNode
def pi_2_pi(self, angle): def pi_2_pi(self, angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def sample_path(self, wx, wy, step): def sample_path(self, wx, wy, step):

View File

@@ -18,13 +18,7 @@ class State:
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def update(state, v, delta, dt, L): def update(state, v, delta, dt, L):

View File

@@ -17,13 +17,7 @@ def mod2pi(theta):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle >= math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle <= -math.pi):
angle = angle + 2.0 * math.pi
return angle
def LSL(alpha, beta, d): def LSL(alpha, beta, d):

View File

@@ -96,14 +96,10 @@ class RRT():
return newNode return newNode
def pi_2_pi(self, angle): def pi_2_pi(self, angle):
while(angle >= math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle <= -math.pi):
angle = angle + 2.0 * math.pi
return angle
def steer(self, rnd, nind): def steer(self, rnd, nind):
# print(rnd) # print(rnd)

View File

@@ -13,13 +13,7 @@ def mod2pi(theta):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle >= math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle <= -math.pi):
angle = angle + 2.0 * math.pi
return angle
def LSL(alpha, beta, d): def LSL(alpha, beta, d):

View File

@@ -97,13 +97,7 @@ class RRT():
return newNode return newNode
def pi_2_pi(self, angle): def pi_2_pi(self, angle):
while(angle >= math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle <= -math.pi):
angle = angle + 2.0 * math.pi
return angle
def steer(self, rnd, nind): def steer(self, rnd, nind):
# print(rnd) # print(rnd)

View File

@@ -106,13 +106,7 @@ class RRT():
return newNode return newNode
def pi_2_pi(self, angle): def pi_2_pi(self, angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def steer(self, rnd, nind): 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): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def calc_paths(sx, sy, syaw, gx, gy, gyaw, maxc, step_size): def calc_paths(sx, sy, syaw, gx, gy, gyaw, maxc, step_size):

View File

@@ -51,13 +51,7 @@ def update(state, a, delta):
def pi_2_pi(angle): def pi_2_pi(angle):
while (angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while (angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def solve_DARE(A, B, Q, R): def solve_DARE(A, B, Q, R):

View File

@@ -61,13 +61,7 @@ def PIDControl(target, current):
def pi_2_pi(angle): def pi_2_pi(angle):
while (angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while (angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def solve_DARE(A, B, Q, R): def solve_DARE(A, B, Q, R):

View File

@@ -203,13 +203,7 @@ def jacobH(q, delta, x, i):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def main(): def main():

View File

@@ -325,13 +325,7 @@ def motion_model(x, u):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def main(): def main():

View File

@@ -354,13 +354,7 @@ def motion_model(x, u):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def main(): def main():

View File

@@ -253,13 +253,7 @@ def motion_model(x, u):
def pi_2_pi(angle): def pi_2_pi(angle):
while(angle > math.pi): return (angle + math.pi) % (2*math.pi) - math.pi
angle = angle - 2.0 * math.pi
while(angle < -math.pi):
angle = angle + 2.0 * math.pi
return angle
def main(): def main():