Advertisement
Guest User

MP #2 TurtleBot

a guest
Nov 20th, 2019
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.46 KB | None | 0 0
  1. #! usr#!/usr/bin/env python
  2.  
  3. import rospy
  4. from sensor_msgs.msg import LaserScan
  5. from geometry_msgs.msg import Twist
  6.  
  7. import time
  8. import math
  9.  
  10. def shutdown():
  11. rospy.loginfo("Stop TurtleBot")
  12. pub.publish(Twist())
  13. rospy.sleep(1)
  14.  
  15. rospy.init_node('move_forward')
  16. rospy.loginfo("To stop TurtleBot CTRL + C")
  17. rospy.on_shutdown(shutdown)
  18. pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
  19. move = Twist()
  20. rp = rospy.Rate(10)
  21.  
  22. #
  23. # 1.2s for 90 deg
  24. #
  25. def ako_sa_eee():
  26. move.linear.x = 0.0
  27. move.angular.z = 0.0
  28. print("making forward")
  29. curr_time = time.time()
  30. while time.time()-curr_time <= 0.2:
  31. pub.publish(move)
  32. rp.sleep()
  33.  
  34. def fwd(t=3, v=0.5):
  35. move.linear.x = v
  36. move.angular.z = 0.0
  37. print("making forward")
  38. curr_time = time.time()
  39. while time.time()-curr_time <= t:
  40. pub.publish(move)
  41. rp.sleep()
  42. move.linear.x = 0.0
  43. move.angular.z = 0.0
  44. pub.publish(move)
  45.  
  46. def rgt():
  47. print("biglang liko")
  48. move.linear.x = 0.0
  49. move.angular.z = -1*math.pi/2
  50. curr_time = time.time()
  51. while time.time()-curr_time <= 1.05:
  52. pub.publish(move)
  53. rp.sleep()
  54. move.linear.x = 0.0
  55. move.angular.z = 0.0
  56. pub.publish(move)
  57.  
  58. def lft():
  59. print("biglang liko")
  60. move.linear.x = 0.0
  61. move.angular.z = 1*math.pi/2
  62. curr_time = time.time()
  63. while time.time()-curr_time <= 1.05:
  64. pub.publish(move)
  65. rp.sleep()
  66. pub.publish(Twist())
  67. move.linear.x = 0.0
  68. move.angular.z = 0.0
  69. pub.publish(move)
  70.  
  71. def e():
  72. print("\n--------------------------------------------")
  73. print("Drawing E")
  74. print("--------------------------------------------\n")
  75. fwd(1)
  76. lft()
  77. fwd(1)
  78. lft()
  79. fwd(1)
  80. lft()
  81. fwd(2)
  82. lft()
  83. fwd(1)
  84. ako_sa_eee()
  85.  
  86. def o():
  87. print("\n--------------------------------------------")
  88. print("Drawing O")
  89. print("--------------------------------------------\n")
  90. fwd(1)
  91. rgt()
  92. fwd(1)
  93. rgt()
  94. fwd(1)
  95. rgt()
  96. fwd(1)
  97.  
  98. def i():
  99. print("\n--------------------------------------------")
  100. print("Drawing I")
  101. print("--------------------------------------------\n")
  102. fwd(1)
  103. ako_sa_eee()
  104.  
  105. def l():
  106. print("\n--------------------------------------------")
  107. print("Drawing L")
  108. print("--------------------------------------------\n")
  109. fwd(1, -0.5)
  110. ako_sa_eee()
  111.  
  112. def c():
  113. print("\n--------------------------------------------")
  114. print("Drawing C")
  115. print("--------------------------------------------\n")
  116. lft()
  117. fwd(1)
  118. rgt()
  119. fwd(1)
  120. rgt()
  121. fwd(1)
  122. ako_sa_eee()
  123.  
  124. def t():
  125. print("\n--------------------------------------------")
  126. print("Drawing T")
  127. print("--------------------------------------------\n")
  128. fwd(2)
  129. lft()
  130. fwd(1)
  131. fwd(2, -0.5)
  132. ako_sa_eee()
  133.  
  134. def r():
  135. print("\n--------------------------------------------")
  136. print("Drawing R")
  137. print("--------------------------------------------\n")
  138. fwd(1)
  139. rgt()
  140. fwd(1)
  141. rgt()
  142. fwd(0.5)
  143. ako_sa_eee()
  144.  
  145. def a():
  146. print("\n--------------------------------------------")
  147. print("Drawing A")
  148. print("--------------------------------------------\n")
  149. fwd(2)
  150. rgt()
  151. fwd(1)
  152. rgt()
  153. fwd(2)
  154. fwd(1, -0.5)
  155. rgt()
  156. fwd(1)
  157. ako_sa_eee()
  158.  
  159. def n():
  160. print("\n--------------------------------------------")
  161. print("Drawing N")
  162. print("--------------------------------------------\n")
  163. fwd(1)
  164. rgt()
  165. fwd(1)
  166. rgt()
  167. fwd(1)
  168. ako_sa_eee()
  169.  
  170. def d():
  171. print("\n--------------------------------------------")
  172. print("Drawing D")
  173. print("--------------------------------------------\n")
  174. lft()
  175. fwd(1)
  176. lft()
  177. fwd(1)
  178. lft()
  179. fwd(1)
  180. lft()
  181. fwd(2)
  182. ako_sa_eee()
  183.  
  184. def s():
  185. print("\n--------------------------------------------")
  186. print("Drawing S")
  187. print("--------------------------------------------\n")
  188. lft()
  189. fwd(1)
  190. lft()
  191. fwd(1)
  192. lft()
  193. fwd(1)
  194. rgt()
  195. fwd(1)
  196. rgt()
  197. fwd(1)
  198.  
  199. def g():
  200. print("\n--------------------------------------------")
  201. print("Drawing G")
  202. print("--------------------------------------------\n")
  203. lft()
  204. fwd(1)
  205. rgt()
  206. fwd(1)
  207. rgt()
  208. fwd(1)
  209. rgt()
  210. fwd(2)
  211. rgt()
  212. fwd(1)
  213. ako_sa_eee()
  214.  
  215. g()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement