ROS中Python话题发布与订阅入门|发布自定义话题|消息
from time import sleep, time
from math import pi
import threading
import math
from matplotlib import pyplot as plt
import numpy as np
import rospy
from sensor_msgs.msg import JointState
from std_msgs.msg import String
class Ez_msg:
def __init__(self):
self.angle = 0
self.delta_x = 1
def Ezekiel_Node_Pub():
rospy.init_node('Ezekiel_talk', anonymous=True)
Ezekiel_info_pub = rospy.Publisher('/Ezekiel_mok', Pub_Str, queue_size=10)
rate = rospy.Rate(10)
Ez_msg_ = Ez_msg()
while not rospy.is_shutdown():
Ezekiel_info_pub.publish(Ez_msg_)
rate.sleep()
rospy.loginfo("Publish laneline message[%d, %d]", Ez_msg_.angle, Ez_msg_.delta_x)
if __name__ == '__main__':
try:
Ezekiel_Node_Pub()
except rospy.ROSInterruptException:
pass
from time import sleep, time
from math import pi
import threading
import math
from matplotlib import pyplot as plt
import numpy as np
import rospy
from sensor_msgs.msg import JointState
from std_msgs.msg import String
def EzekielInfoCallback(Ez_msg_):
rospy.loginfo("Publish laneline message[%d, %d]", Ez_msg_.angle, Ez_msg_.delta_x)
def Ezekiel_Subscriber():
rospy.init_node('Ezekiel_Subscriber', anonymous=True)
rospy.Subscriber("/Ezekiel_mok", Pub_Str, Ez_InfoCallback)
rospy.spin()
if __name__ == '__main__':
Ezekiel_Subscriber()