sender_timesplot
import rospy
from std_msgs.msg import Int32
import time
name = "sender"
pub_topic = "msg_to_student"
rospy.init_node(name)
pub = rospy.Publisher(pub_topic, Int32, queue_size=0)
rate = rospy.Rate(5)
def do_job(time):
for i in range(0,time):
i = i + 1
pub.publish(i)
def list_append_time():
start.append(start_time)
end.append(ent_time)
sleep.append(sleep_time)
while not rospy.is_shutdown():
start = []
end = []
sleep = []
num = input("input count number : ")
rate.sleep()
total_start = time.time()
for j in range(0,5):
start_time = time.time()
do_job(num)
end_time = time.time()
rate.sleep()
sleep_time = time.time()
list_append_time()
total_end = time.time()
for t in range(0,5):
sleep[t] = sleep[t] - end[t]
end[t] = end[t] - start[t]
for result in range(0,5):
print("spend time > ", round(end[result], 4), 's')
print("sleep time > " , round(sleep[result], 4), 's')
print("-------------------------------")
print("total time > ", round((total_end - total_start),4), 's')
print("-----------------------\n\n")
receiver_timesplot
import rospy
from std_msgs.msg import Int32
name = "receiver"
sub_topic = "msg_to_student"
def callback(msg):
print(msg.data)
rospy.init_node(name, anonymous=True)
sub = rospy.Subscriber(sub_topic, Int32, callback, queue_size=1)
rospy.spin()
sr_timeslot.launch
<launch>
<node pkg="msg_send" type="sender_timeslot.py" name = "sender" output="screen"/>
<node pkg="msg_send" type="receiver_timeslot.py" name="receiver"/>
</launch>
chmod
$ chmod +x receiver_timeslot.py sender_timeslot.py
cm
실행
$ roslaunch msg_send sr_timeslot.launch




- 순차적인 delay가 발생하고 시간이 걸리더라도 일을 다 수행한다