Publisher in ROS

The publisher node will publish the type of data and the data on the topic

Following commands should be ran in the terminal

  • $ roscd beginner_tutorials

  • $ mkdir scripts

  • $ cd scripts

Make a new file and name it talker.py

   #!/usr/bin/env python
    # license removed for brevity
    import rospy
    from std_msgs.msg import String
    
    def talker():
        pub = rospy.Publisher('chatter', String, queue_size=10)
        rospy.init_node('talker', anonymous=True)
        rate = rospy.Rate(10) # 10hz
       while not rospy.is_shutdown():
           hello_str = "hello world %s" % rospy.get_time()
           rospy.loginfo(hello_str)
           pub.publish(hello_str)
           rate.sleep()
   
   if __name__ == '__main__':
       try:
           talker()
       except rospy.ROSInterruptException:
           pass

$ chmod +x talker.py (Write this command to make the file executable)

Last updated

Was this helpful?