コード例 #1
0
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()
コード例 #2
0
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()
コード例 #3
0
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()
コード例 #4
0
ファイル: move_base_override.py プロジェクト: cvra/goldorak
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()
コード例 #5
0
ファイル: send_setpoint.py プロジェクト: antoinealb/goldorak
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()