Prof, I’m trying quiz but I want to know this…
How’s the sequence of execution? Does it execute step by step from top to bottom? or are there any jumps in between from one part of code to the other.
Below is the code. Will it all execute line by line, or are there some jumps? If there are a few breaks, please tell me where?
#! /usr/bin/env python import rospy from geometry_msgs.msg import Twist from sensor_msgs.msg import LaserScan def callback(msg): decide_direction(msg.ranges) rospy.init_node('topics_quiz_node', anonymous = True) pub = rospy.Publisher('/cmd_vel', Twist, queue_size=1) sub = rospy.Subscriber('/kobuki/laser/scan', LaserScan, callback) rate = rospy.Rate(2) move = Twist() def decide_direction(ranges): straight = ranges left = ranges right = ranges def turn_left(): if (straight < 1) or (right < 1): move.linear.x = 0 move.angular.z = 0.2 pub.publish(move) def turn_right(): if left < 1: move.linear.x = 0 move.angular.z = -0.2 pub.publish(move) def straight_motion(): if straight > 1: move.linear.x = 0.6 move.angular.z = 0 pub.publish(move) rospy.spin()