Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.75 KB | None | 0 0
  1. def isStuck(S,stuck_count):
  2. max_unstuck_angle = 0.5 # radians
  3. max_unstuck_speed = 5*3.6 # km/h
  4. min_unstuck_dist = 1 # m
  5. #print 'angle %s' %S['angle']
  6.  
  7. if abs(S['angle']) > max_unstuck_angle and S['speedX'] < max_unstuck_speed and abs(S['trackPos']) > .2:
  8. print 'in stuck mode'
  9. if stuck_count > 200 and S['trackPos'] * S['angle'] < 0:
  10. stuck = True
  11. else:
  12. stuck_count+=1
  13. stuck = False
  14. else:
  15. stuck_count = 0
  16. stuck = False
  17.  
  18. return stuck_count, stuck
  19.  
  20. # INSERT IN DRIVE MODULE
  21. if stuck:
  22. R['steer'] = - S['angle'] * 0.785398 # steerlock number
  23. R['gear'] = -1
  24. R['accel'] = 0.5
  25. R['brake'] = 0
  26.  
  27.  
  28. # MAINTAIN STUCK COUNT SOMEWHERE OUT OF DRIVE MODULE
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement