import numpy as np import rospy from superros.logger import Logger from rocup.param.global_parameters import Parameters from superros.comm import RosNode from sensor_msgs.msg import JointState def command_callback(msg): global joints joints = msg.position if __name__ == '__main__': robot_name = Parameters.get("BONMET_NAME") node = RosNode('joint_command_sequencer'.format(robot_name)) node_rate = Parameters.get(obj=robot_name, param="NODE_FREQUENCY") node.setupParameter("hz", node_rate) node.createSubscriber("/bonmetc60/joint_command", JointState, command_callback) pub = node.createPublisher("/bonmetc60/joint_command_seq", JointState) joints = [0, 0, 0, 0, 0, 0] joints_msg = JointState() while node.isActive(): joints_msg.position = joints pub.publish(joints_msg) node.tick()
from std_msgs.msg import Header, Float64, Float32, Float64MultiArray import superros.transformations as transformations from superros.logger import Logger from superros.comm import RosNode from rocup.sensors.sensor_manager import SensorManager def tactile_callback(msg): global sensor sensor.update(msg) if __name__ == '__main__': node = RosNode("tactile_supervisor_node") node.setupParameter("hz", 250) node.setHz(node.getParameter("hz")) sensor_name = "tactile" sensor = SensorManager(sensor_name) reset_publisher = node.createPublisher("/tactile_reset", String) sensor.uploadResetPublisher(reset_publisher) node.createSubscriber("/tactile", Float64MultiArray, tactile_callback) try: while node.isActive(): node.tick() except rospy.ROSInterruptException: pass
import math import time import PyKDL import random from PyKDL import Frame, Vector, Rotation from sensor_msgs.msg import JointState from std_msgs.msg import String from geometry_msgs.msg import Twist from std_msgs.msg import Header, Float64, Float32, Float64MultiArray import superros.transformations as transformations from superros.logger import Logger from superros.comm import RosNode from rocup.sensors.sensor_manager import SensorManager if __name__ == '__main__': node = RosNode("atift_manager_node") node.setupParameter("hz", 250) node.setHz(node.getParameter("hz")) sensor_name = "atift" sens = SensorManager(sensor_name) node.createSubscriber("/atift", Twist, sens.sensor_callback) try: while node.isActive(): node.tick() except rospy.ROSInterruptException: pass
container_map[self.topic]['value'] = msg @staticmethod def createACallback(name): callback_managers[name] = CallbackManager(name) return callback_managers[name].callback for t, msg_type in topic_map.iteritems(): topic = str(t) container_map[topic] = {'value': None} data_map[topic] = [] callback_map[topic] = CallbackManager.createACallback(topic) node.createSubscriber(topic, msg_type, callback_map[topic]) for tf in tf_list: datatf_map[tf] = [] print("Started") while node.isActive(): if node.getElapsedTimeInSecs() >= node.getParameter("time_window"): print("Time Window") break try: found = True tf_frames = {} for tf in tf_list: tf_frame = node.retrieveTransform( tf, tf_base, -1)
#!/usr/bin/env python # -*- encoding: utf-8 -*- import rospy from superros.comm import RosNode from std_msgs.msg import String def topic_collback(msg): print msg.data #⬢⬢⬢⬢⬢➤ NODE node = RosNode("tf_export_test") node.setupParameter("hz", 30) node.setHz(node.getParameter("hz")) topic_pub = node.createPublisher("/topic_1", String) node.createSubscriber("/topic_2", String, topic_collback) while node.isActive(): msg = String() msg.data = "hello world" topic_pub.publish(msg) node.tick()