Processing Delay Subscriber
1_2_처리지연_receiver.ipynb
- Running the cell codeCtrl + Enter
import rospy
from std_msgs.msg import Int32
Import rospy modules
Import Int32 from std_msgs.msg module
rospy.init_node('Receiver')
Create Receiver Node
pre_num = 0
cur_num = 0
Set variable pre_num to 0
Set variable cur_num to 0
def callback(msg):
global pre_num
global cur_num
print("Callback is being processed")
cur_num = msg.data
rospy.sleep(3)
if (cur_num - pre_num) != 1:
print_str = "Data: {0:>6} Missing: {1:6} ~ {2:>6} ( cnt: {3} )\n"\
.format(msg.data,pre_num +1, cur_num -1, cur_num - pre_num -1)
else:
print_str = "Data: " + str(msgs.data) + "\n"
print(print_str)
pre_num = cur_num
Create callback(msg) function
Declare pre_num and cur_num as global variables
Designate cur_num as message data
3 second time delay
cur_num - if pre_num is not 1,
Output in order of message data, pre_num + 1, cur_num -1, cur_num - pre_num -1
Data: (current data) Missing: (minimum value of missing data ~ maximum value of missing data) (cnt: (number of missing data))
Other cases
Message data output
Specify pre_num as cur_num
sub = rospy.Subscriber('increase_num', Int32, callback, queue_size=1)
rospy.spin()
Create increase_num Topic Subscriber