OpenAg Wiki Archive
Archived Contents from the original OpenAg Wiki (snapshot on Apr 8, 2020)
The archived wiki only includes information up the v3.0 version of the PFC-EDU, and is here for preservation purposes. You can find resources about the latest version of the PFC v4.0 on the Personal Food Computer resources page.
This is a simple design pattern for creating a polling node in ROS.
#!/usr/bin/env python
import rospy
from std_msgs.msg import Float64
if __name__ == '__main__':
    pub = rospy.Publisher("some_topic", Float64, queue_size=10)
    rate = rospy.get_param("~rate_hz", 1)
    # Set polling rate to 1Hz (once-per-second)
    r = rospy.Rate(rate)
    # Keep looping as long as ROS is running
    while not rospy.is_shutdown():
        # Do something...
        # Publish the result
        pub.publish(temp)
        # Use rate timer instance to sleep until next turn
        r.sleep()
Note: nodes must be executable. Don’t forget to chmod +x your file:
chmod +x nodes/my_node