alexpetro000

Untitled

Dec 12th, 2018
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.82 KB | None | 0 0
  1.  
  2.  
  3. if mode is JUST_STARTED:
  4.     mode = STAB_TO_SEARCH_FOR_THE_SUN
  5.  
  6. elif mode is STAB_TO_SEARCH_FOR_THE_SUN:
  7.     if speed < -4:
  8.         speed_goal = -4
  9.     elif -4 < speed < 4:
  10.         if  abs(speed - -4) < abs(speed - 4):
  11.             speed_goal = -4
  12.         else:
  13.             speed_goal = 4
  14.     else: #speed > 4
  15.         speed_goal = 4
  16.    
  17.     if abs(speed - speed_goal) < 0.5:
  18.         mode = SEARCH_FOR_THE_SUN
  19.    
  20. elif mode is SEARCH_FOR_THE_SUN:
  21.     '''
  22.        s_sun[][] - Массив данных с солнечных датчиков.
  23.        s_sun[номер_датчика][ячейка данных].
  24.            Ячейки данных:
  25.                0 - 1й поддатчик
  26.                1 - 2й поддатчик
  27.                2 - среднеквадратичное двух поддатчиков
  28.        
  29.    '''
  30.     max_sensor_n = find_max_sensor_n(s_sun[0][2],
  31.                                      s_sun[1][2],
  32.                                      s_sun[2][2],
  33.                                      s_sun[3][2])
  34.    
  35.     if s_sun[max_sensor_n][2] < SUN_TRESHOLD:
  36.         return
  37.    
  38.     sun_diff = abs(s_sun[max_sensor_n][0] - s_sun[max_sensor_n][1])
  39.    
  40.     if sun_diff < SUN_DIFF_TRESHOLD and sun_diff < best_sun_diff:
  41.         azimuth_to_sun = (s_azimuth + max_sensor_n * 90) % 360  # s_azimuth - азимут с датчика
  42.         best_sun_diff = sun_diff
  43.     else:
  44.         mode = TURN_TO_GOAL_ANGLE
  45.        
  46. elif mode == TURN_TO_GOAL_ANGLE:
  47.     ...
  48.  
  49.  
  50.  
  51. def find_max_sensor_n(v0, v1, v2, v3):
  52.     max_v = v0
  53.     max_v_n = 0
  54.  
  55.     if v1 > max_v:
  56.         max_v = v1
  57.         max_v_n = 1
  58.    
  59.     if v2 > max_v:
  60.         max_v = v2
  61.         max_v_n = 2
  62.  
  63.     if v3 > max_v:
  64.         max_v = v3
  65.         max_v_n = 3
  66.    
  67.     return max_v_n
Add Comment
Please, Sign In to add comment