def talker(): pub = rospy.Publisher('/goldorak/' + node_name + '/setpoint', MotorControlSetpoint, queue_size=10) rospy.init_node('setpoint_sender', anonymous=True) rate = rospy.Rate(frequency) i = 0 msg = MotorControlSetpoint() while not rospy.is_shutdown(): msg.node_name = node_name msg.mode = MotorControlSetpoint.MODE_CONTROL_TORQUE if i > frequency: msg.position = 0 msg.velocity = 0 msg.torque = 20 if i > 2 * frequency: i = 0 msg.position = 0 msg.velocity = 0 msg.torque = -20 i += 1 pub.publish(msg) rate.sleep()
def move_speed(speed, duration, rate=10): global right_wheel_pub, left_wheel_pub, right_wheel_radius, left_wheel_radius, right_wheel_direction, left_wheel_direction, external_to_internal_wheelbase_encoder_direction right_speed = external_to_internal_wheelbase_encoder_direction * right_wheel_direction * speed / right_wheel_radius left_speed = external_to_internal_wheelbase_encoder_direction * left_wheel_direction * speed / left_wheel_radius right_wheel_msg = MotorControlSetpoint() left_wheel_msg = MotorControlSetpoint() right_wheel_msg.node_name = 'right_wheel' right_wheel_msg.mode = MotorControlSetpoint.MODE_CONTROL_VELOCITY left_wheel_msg.node_name = 'left_wheel' left_wheel_msg.mode = MotorControlSetpoint.MODE_CONTROL_VELOCITY rate_ = rospy.Rate(rate) for i in range(int(duration * rate)): current_time = rospy.get_rostime() right_wheel_msg.timestamp = current_time right_wheel_msg.velocity = right_speed left_wheel_msg.timestamp = current_time left_wheel_msg.velocity = left_speed right_wheel_pub.publish(right_wheel_msg) left_wheel_pub.publish(left_wheel_msg) rate_.sleep()
def talker(): pub = rospy.Publisher('/goldorak/' + node_name + '/setpoint', MotorControlSetpoint, queue_size=10) rospy.init_node('setpoint_sender', anonymous=True) rate = rospy.Rate(frequency) i = 0 msg = MotorControlSetpoint() while not rospy.is_shutdown(): msg.node_name = node_name msg.mode = MotorControlSetpoint.MODE_CONTROL_TORQUE if i > frequency: msg.position = 0 msg.velocity = 0 msg.torque = 20 if i > 2 * frequency: i = 0 msg.position = 0 msg.velocity = 0 msg.torque = -20 i += 1 pub.publish(msg) rate.sleep()
def move_speed(speed, duration, rate=10): global right_wheel_pub, left_wheel_pub, right_wheel_radius, left_wheel_radius, right_wheel_direction, left_wheel_direction, external_to_internal_wheelbase_encoder_direction right_speed = external_to_internal_wheelbase_encoder_direction * right_wheel_direction * speed / right_wheel_radius left_speed = external_to_internal_wheelbase_encoder_direction * left_wheel_direction * speed / left_wheel_radius right_wheel_msg = MotorControlSetpoint() left_wheel_msg = MotorControlSetpoint() right_wheel_msg.node_name = 'right_wheel' right_wheel_msg.mode = MotorControlSetpoint.MODE_CONTROL_VELOCITY left_wheel_msg.node_name = 'left_wheel' left_wheel_msg.mode = MotorControlSetpoint.MODE_CONTROL_VELOCITY rate_ = rospy.Rate(rate) for i in range(int(duration * rate)): current_time = rospy.get_rostime() right_wheel_msg.timestamp = current_time right_wheel_msg.velocity = right_speed left_wheel_msg.timestamp = current_time left_wheel_msg.velocity = left_speed right_wheel_pub.publish(right_wheel_msg) left_wheel_pub.publish(left_wheel_msg) rate_.sleep()
def talker(): args = parse_arguments() pub = rospy.Publisher('/goldorak/' + node_name + '/setpoint', MotorControlSetpoint, queue_size=10) rospy.init_node('setpoint_sender', anonymous=True) rate = rospy.Rate(frequency) msg = MotorControlSetpoint() while not rospy.is_shutdown(): msg.node_name = node_name if args.position: msg.mode = MotorControlSetpoint.MODE_CONTROL_POSITION msg.position = args.position elif args.velocity: msg.mode = MotorControlSetpoint.MODE_CONTROL_VELOCITY msg.velocity = args.velocity elif args.torque: msg.mode = MotorControlSetpoint.MODE_CONTROL_TORQUE msg.torque = args.torque pub.publish(msg) rate.sleep()