mirror of
https://github.com/AtsushiSakai/PythonRobotics.git
synced 2026-02-12 04:15:23 -05: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
|
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)
|
||||||
|
|||||||
@@ -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__':
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|||||||
@@ -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():
|
||||||
|
|||||||
@@ -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():
|
||||||
|
|||||||
@@ -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():
|
||||||
|
|||||||
@@ -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():
|
||||||
|
|||||||
Reference in New Issue
Block a user