import roshelper import rospy from std_msgs.msg import String from std_srvs.srv import SetBool, SetBoolRequest, SetBoolResponse message = "hello world" n = roshelper.Node("talker_and_listener", anonymous=False) @n.publisher("/chatter", String, queue_size=1) def talker(): hello_str = message + " %s" % rospy.get_time() rospy.loginfo(hello_str) return hello_str @n.subscriber("/chatter", String) def listener(word): rospy.loginfo(rospy.get_caller_id() + " : I heard %s" % word.data) @n.entry_point(frequency=30) def main(): talker() @n.service("use_uppercase", SetBool) def use_uppercase(request): assert isinstance(request, SetBoolRequest)
import roshelper import rospy from std_msgs.msg import String from std_msgs.msg import Int64 from std_srvs.srv import SetBool, SetBoolRequest, SetBoolResponse n = roshelper.Node("test_node", anonymous=False) @n.publisher("/test_node_string", String) def str_pub(word): rospy.loginfo("Pub --> {}".format(word)) st = String() st.data = word[::-1] return st @n.publisher(Int64) def int_pub(num): rospy.loginfo("Int Pub --> {}".format(num)) msg = Int64() msg.data = num return msg @n.subscriber("/test_node_string", String) def str_sub(word): rospy.loginfo("Sub --> {}".format(word)) @n.subscriber("/test_node_int", Int64)
#!/usr/bin/env python import roshelper # import math import rospy from sensor_msgs.msg import Joy from sensor_msgs.msg import Range from geometry_msgs.msg import TransformStamped import csv import time NODE_NAME = "joystick" n = roshelper.Node(NODE_NAME, anonymous=False) JOY_TOPIC = "joy" FILE_PATH = "/home/rcac/foresight_ws/src/uwb_variance/nodes/data.csv" DISTANCES = [.5, 1] ANGLES = [30, 60, 90] class Buttons(object): A = 0 B = 1 X = 2 @n.entry_point() class JoystickCommandCenter(object): def __init__(self): # self.planner_enabled = False self.last_joy = Joy()
import roshelper n = roshelper.Node("bag_streamer", anonymous=False) @n.entry_point() class Republisher(object): def __init__(self): self.message_queue = list() def add_message(self, msg): self.message_queue.append(msg) return self def publish(self, msg): pass @n.main_loop(frequency=100) def run(self): mq = self.message_queue[:] for msg in mq: self.publish(msg)