+ obstacles = []
+ min_r = ((W/2)**2 + ((WB+L)/2)**2)**0.5 + (OBST_W**2 + OBST_L**2)**0.5 / 2
+ for i in range(OBST_COUNT):
+ l = OBST_L
+ w = OBST_W
+ angl = uniform(0, 2 * pi)
+ r = uniform(min_r**2, (SLOT_RADI - 5)**2)**0.5
+ x = r * cos(angl)
+ y = r * sin(angl)
+ h = uniform(0, 2 * pi)
+ obstacles.append([
+ [
+ x + w/2 * cos(h - pi/2) + l/2 * cos(h),
+ y + w/2 * sin(h - pi/2) + l/2 * sin(h),
+ ],
+ [
+ x + w/2 * cos(h - pi/2) - l/2 * cos(h),
+ y + w/2 * sin(h - pi/2) - l/2 * sin(h),
+ ],
+ [
+ x + w/2 * cos(h + pi/2) - l/2 * cos(h),
+ y + w/2 * sin(h + pi/2) - l/2 * sin(h),
+ ],
+ [
+ x + w/2 * cos(h + pi/2) + l/2 * cos(h),
+ y + w/2 * sin(h + pi/2) + l/2 * sin(h),
+ ],
+ [
+ x + w/2 * cos(h - pi/2) + l/2 * cos(h),
+ y + w/2 * sin(h - pi/2) + l/2 * sin(h),
+ ],
+ ])
+ return obstacles