Advertisement
Guest User

Untitled

a guest
Oct 16th, 2018
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.56 KB | None | 0 0
  1. from PiBot import PiBot
  2. import rospy
  3. robot = PiBot()
  4.  
  5.  
  6. def follow_line():
  7. """Line follower."""
  8. turn_counter = 0
  9. while True:
  10. robot.get_third_line_sensor_from_right()
  11. robot.get_third_line_sensor_from_left()
  12. robot.get_leftmost_line_sensor()
  13. robot.get_rightmost_line_sensor()
  14. if robot.get_rightmost_line_sensor() < 200 and robot.get_leftmost_line_sensor() < 200:
  15. turn(turn_counter)
  16. turn_counter += 1
  17. if robot.get_third_line_sensor_from_left() == 900 and robot.get_third_line_sensor_from_right() == 900:
  18. robot.set_wheels_speed(17)
  19. rospy.sleep(0.05)
  20. robot.get_third_line_sensor_from_right()
  21. robot.get_third_line_sensor_from_left()
  22. elif robot.get_third_line_sensor_from_left() > 200 and robot.get_third_line_sensor_from_right() < 200:
  23. robot.set_left_wheel_speed(-17)
  24. robot.set_right_wheel_speed(0)
  25. rospy.sleep(0.05)
  26. robot.get_third_line_sensor_from_right()
  27. robot.get_third_line_sensor_from_left()
  28. robot.get_leftmost_line_sensor()
  29. robot.get_rightmost_line_sensor()
  30. elif robot.get_third_line_sensor_from_right() > 200 and robot.get_third_line_sensor_from_left() < 200:
  31. robot.set_right_wheel_speed(-17)
  32. robot.set_left_wheel_speed(0)
  33. rospy.sleep(0.05)
  34. robot.get_third_line_sensor_from_right()
  35. robot.get_third_line_sensor_from_left()
  36. robot.get_leftmost_line_sensor()
  37. robot.get_rightmost_line_sensor()
  38. elif robot.get_third_line_sensor_from_right() < 150 and robot.get_third_line_sensor_from_left() < 150:
  39. robot.set_wheels_speed(-17)
  40. rospy.sleep(0.05)
  41. robot.get_third_line_sensor_from_right()
  42. robot.get_third_line_sensor_from_left()
  43. robot.get_leftmost_line_sensor()
  44. robot.get_rightmost_line_sensor()
  45.  
  46.  
  47. def turn(value: int):
  48. """Turn robot."""
  49. if value % 3 == 2:
  50. robot.set_right_wheel_speed(-20)
  51. robot.set_left_wheel_speed(15)
  52. rospy.sleep(0.7) # 3.14 * robot.AXIS_LENGTH / 2
  53. elif value % 3 == 0:
  54. robot.set_right_wheel_speed(15)
  55. robot.set_left_wheel_speed(-20)
  56. rospy.sleep(0.7) # 3.14 * robot.AXIS_LENGTH / 2
  57. elif value % 3 == 1:
  58. robot.set_right_wheel_speed(-15)
  59. robot.set_left_wheel_speed(-15)
  60. rospy.sleep(0.4) # 3.14 * robot.AXIS_LENGTH / 2
  61. else:
  62. pass
  63.  
  64.  
  65. follow_line()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement