]> rtime.felk.cvut.cz Git - hubacji1/iamcar2.git/blobdiff - scripts/generate_simple_json_scenario.py
Accomply to pep8
[hubacji1/iamcar2.git] / scripts / generate_simple_json_scenario.py
index c72b72dfd83399fc144494dacb9ee90f2aedc8a1..d8bfb2e54602e8dfbc69075eb3c5cb2bfeb11b43 100644 (file)
@@ -8,7 +8,7 @@ The scenario contains at least:
 
 - `obst` -- the list of (convex polygon) obstacles.
 """
-from json import dumps, loads
+from json import dumps
 from math import cos, pi, sin
 from random import random, uniform
 
@@ -19,15 +19,17 @@ CTC = 10.820
 MTR = ((CTC / 2)**2 - WB**2)**0.5 - W / 2
 
 SLOT_RADI = 20
-OBST_L = 4
+OBST_L = 2
 OBST_W = 2
 OBST_COUNT = 8
 
+
 def gen_init():
     """Generate car init position."""
     # TODO if changed, change ``gen_slot`` accordingly
     return (0, 0, 0)
 
+
 def gen_slot(l=5.3, w=2.4):
     """Generate parking slot."""
     parallel = True if random() < 0.5 else False
@@ -38,49 +40,51 @@ def gen_slot(l=5.3, w=2.4):
         ol = l
         l = w
         w = ol
+    right = 1.0 if random() < 0.5 else -1.0
     r = SLOT_RADI
     angl = uniform(0, 2 * pi)
     x = r * cos(angl)
     y = r * sin(angl)
     h = uniform(0, 2 * pi)
     if parallel:
-        return [[
+        return [
             [
-                x + l/2 * cos(h - pi/2),
-                y + l/2 * sin(h - pi/2),
+                x + l/2 * cos(h - pi/2 * right),
+                y + l/2 * sin(h - pi/2 * right),
             ],
             [
-                x + w * cos(h) + l/2 * cos(h - pi/2),
-                y + w * sin(h) + l/2 * sin(h - pi/2),
+                x + w * cos(h) + l/2 * cos(h - pi/2 * right),
+                y + w * sin(h) + l/2 * sin(h - pi/2 * right),
             ],
             [
-                x + w * cos(h) + l/2 * cos(h + pi/2),
-                y + w * sin(h) + l/2 * sin(h + pi/2),
+                x + w * cos(h) + l/2 * cos(h + pi/2 * right),
+                y + w * sin(h) + l/2 * sin(h + pi/2 * right),
             ],
             [
-                x + l/2 * cos(h + pi/2),
-                y + l/2 * sin(h + pi/2),
+                x + l/2 * cos(h + pi/2 * right),
+                y + l/2 * sin(h + pi/2 * right),
             ],
-        ]]
+        ]
     else:
-        return [[
+        return [
             [
-                x + w/2 * cos(h - pi/2),
-                y + w/2 * sin(h - pi/2),
+                x + w/2 * cos(h - pi/2 * right),
+                y + w/2 * sin(h - pi/2 * right),
             ],
             [
-                x + l * cos(h) + w/2 * cos(h - pi/2),
-                y + l * sin(h) + w/2 * sin(h - pi/2),
+                x + l * cos(h) + w/2 * cos(h - pi/2 * right),
+                y + l * sin(h) + w/2 * sin(h - pi/2 * right),
             ],
             [
-                x + l * cos(h) + w/2 * cos(h + pi/2),
-                y + l * sin(h) + w/2 * sin(h + pi/2),
+                x + l * cos(h) + w/2 * cos(h + pi/2 * right),
+                y + l * sin(h) + w/2 * sin(h + pi/2 * right),
             ],
             [
-                x + w/2 * cos(h + pi/2),
-                y + w/2 * sin(h + pi/2),
+                x + w/2 * cos(h + pi/2 * right),
+                y + w/2 * sin(h + pi/2 * right),
             ],
-        ]]
+        ]
+
 
 def gen_obst():
     """Generate obstacles array."""
@@ -118,6 +122,7 @@ def gen_obst():
         ])
     return obstacles
 
+
 if __name__ == "__main__":
     init = gen_init()
     slot = gen_slot()