當前位置: 首頁>>代碼示例>>Java>>正文


Java SpeedController類代碼示例

本文整理匯總了Java中edu.wpi.first.wpilibj.SpeedController的典型用法代碼示例。如果您正苦於以下問題:Java SpeedController類的具體用法?Java SpeedController怎麽用?Java SpeedController使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


SpeedController類屬於edu.wpi.first.wpilibj包,在下文中一共展示了SpeedController類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: calibrateMotor

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
public static void calibrateMotor (SpeedController motor)
{
    if (hasRunVictorOnce == false)
        {
            time.stop();
            time.reset();
            time.start();
            hasRunVictorOnce = true;
        }
    if (time.get() <= 2.0)
        motor.set(1.0);
    else if (time.get() >= 2.0 && time.get() <= 3.0)
        motor.set(0.0);
    else if (time.get() >= 3.0 && time.get() <= 5.0)
        motor.set(-1.0);
    else
        motor.set(0.0);

}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:20,代碼來源:PWMMotorCalibration.java

示例2: getSpeedController

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
@Override
public SpeedController getSpeedController (MotorPosition position)
{
    switch (position)
        {
        case LEFT_FRONT:
            return this.leftFrontMotor;
        case LEFT_REAR:
            return this.leftRearMotor;
        case RIGHT_FRONT:
            return this.rightFrontMotor;
        case RIGHT_REAR:
            return this.rightRearMotor;
        default:
            return null;
        }
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:18,代碼來源:MecanumTransmission.java

示例3: getSpeedController

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
@Override
public SpeedController getSpeedController(MotorPosition position)
{
	switch (position)
	{
	case LEFT_FRONT:
		return this.leftMotor;
	case LEFT_REAR:
		return this.leftMotor;
	case RIGHT_FRONT:
		return this.rightMotor;
	case RIGHT_REAR:
		return this.rightMotor;
	default:
		return null;
	}
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:18,代碼來源:TractionTransmission.java

示例4: getSpeedController

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
@Override
public SpeedController getSpeedController(MotorPosition position)
{
	switch (position)
	{
	case LEFT_FRONT:
		return this.leftFrontMotor;
	case LEFT_REAR:
		return this.leftRearMotor;
	case RIGHT_FRONT:
		return this.rightFrontMotor;
	case RIGHT_REAR:
		return this.rightRearMotor;
	default:
		return null;
	}
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:18,代碼來源:TankTransmission.java

示例5: Transmission_old

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
public Transmission_old (
        final SpeedController rightFrontSpeedController,
        final SpeedController rightRearSpeedController,
        final SpeedController leftFrontSpeedController,
        final SpeedController leftRearSpeedController)
{
    this.isFourWheel = true;
    this.oneOrRightSpeedController = rightFrontSpeedController;
    this.leftSpeedController = leftFrontSpeedController;
    this.rightRearSpeedController = rightRearSpeedController;
    this.leftRearSpeedController = leftRearSpeedController;

    // initialize mecanum drive
    /*
     * this.mecanumDrive = new RobotDrive(this.leftSpeedController,
     * this.leftRearSpeedController,
     * this.oneOrRightSpeedController,
     * this.rightRearSpeedController);
     * this.mecanumDrive.setSafetyEnabled(false);
     */

    this.initPIDControllers();
    this.init();
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:25,代碼來源:Transmission_old.java

示例6: controls

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * This function allows a transmission to control the
 * power of a speed controller based on the current
 * gear. This applies to any of the speed controllers
 * (either Jaguar or Victor) Note that it must be the
 * right joystick.
 *
 * @method controls
 * @param joystickInputValue
 *            - a float value which is used to set
 *            the motor speed to that value
 * @param rightSpeedController
 *            - the right or ONLY motor to
 *            control
 * @author Bob Brown
 * @written Sep 20, 2009
 *          -------------------------------------------------------
 */
public void controls (final double joystickInputValue,
        // the input value from the
        // joystick that controls this
        // speed controller
        final SpeedController rightSpeedController)
// if we only have one Motor
// to control then we consider
// it to be the right Motor
{
    // -------------------------------------
    // call the ControlSpeedController() with
    // the correct motor direction
    // -------------------------------------
    this.controlSpeedController(joystickInputValue *
            this.rightJoystickIsReversed.get(),
            rightSpeedController,
            WhichJoystick.ONE_JOYSTICK);
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:37,代碼來源:Transmission_old.java

示例7: SnobotDriveTrainWithEncoders

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
   * @param aLeftMotor
   *                  The First Left Motor
   * @param aLeftMotorB
   *                   The Second Left Motor
   * @param aRightMotor
   *                   The First Right Motor
   * @param aRightMotorB
   *                    The Second Right Motor
   * @param aDriverJoyStick
   *                       The Driver Joystick
   * @param aLogger
   *               The Logger
   *               
    */
   public SnobotDriveTrainWithEncoders(
   		SpeedController aLeftMotor, 
   		SpeedController aLeftMotorB, 
   		SpeedController aRightMotor, 
   		SpeedController aRightMotorB, 
   		Encoder aLeftEncoder, 
   		Encoder aRightEncoder,
IDriverJoystick aDriverJoyStick, Logger aLogger)
   {
       super(aLeftMotor, aLeftMotorB, aRightMotor, aRightMotorB, aDriverJoyStick, aLogger);

       mLeftEncoder = aLeftEncoder;
       mRightEncoder = aRightEncoder;
       
       mLeftEncoder.setDistancePerPulse(Properties2016.sLEFT_ENCODER_DIST_PER_PULSE.getValue());
       mRightEncoder.setDistancePerPulse(Properties2016.sRIGHT_ENCODER_DIST_PER_PULSE.getValue());

   }
 
開發者ID:ArcticWarriors,項目名稱:snobot-2017,代碼行數:34,代碼來源:SnobotDriveTrainWithEncoders.java

示例8: ShooterControl

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
ShooterControl(Encoder encoder, SpeedController pullBackSpeedController, double speedControllerMaxRpm,
               DigitalInput limitSwitch, DoubleSolenoid gearControl, Servo latchServo,
               Relay angleControl)
{
    m_latchReleaseServo = latchServo;
    m_currentState = SHOOTER_CONTROL_STATE_WAIT;
    m_encoder = encoder;
    m_pullBackSpeedController = pullBackSpeedController;
    m_angleControl = angleControl;
    m_speedControllerMaxRpm = speedControllerMaxRpm;
    m_limitSwitch = limitSwitch;
    m_pullBackEncoderRpm = new EncoderRPM();
    m_pullBackEncoderRpm.Init(m_pullBackSpeedController, m_encoder, (-1)*m_speedControllerMaxRpm, m_speedControllerMaxRpm, 0.05, 100, m_limitSwitch);
    m_releaseFromMidptEncoderRpm = new EncoderRPM();
    m_releaseFromMidptEncoderRpm.Init(m_pullBackSpeedController, m_encoder,(-1)*m_speedControllerMaxRpm/4,m_speedControllerMaxRpm,0.05, 3);
    m_gearControl = gearControl;
    m_latchReleased = false;
    m_gearReleased = false;
    m_isPulledBack = false;
}
 
開發者ID:Dinoyan,項目名稱:FRC-2014-robot-project,代碼行數:21,代碼來源:ShooterControl.java

示例9: SwervePod

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
public SwervePod(SpeedController turningMotor, SpeedController driveMotor, Encoder encoder, double encoderDistancePerTick, AngularSensor directionSensor) {
    // Initialize motors //
    _turningMotor = turningMotor;
    _driveMotor = driveMotor;
    
    // Initialize sensors //
    _encoder = encoder;
    _encoder.setPIDSourceParameter(PIDSource.PIDSourceParameter.kRate);
    _encoder.setDistancePerPulse(encoderDistancePerTick);
    _encoder.start();
    _directionSensor = directionSensor;
    
    // Initialize PID loops //
    // Turning //
    PIDTurning = new PIDController(Kp_turning, Ki_turning, Kd_turning, _directionSensor, _turningMotor);
    PIDTurning.setOutputRange(minSpeed, maxSpeed);
    PIDTurning.setContinuous(true);
    PIDTurning.setAbsoluteTolerance(tolerance_turning);
    PIDTurning.enable();
    
    // Linear driving //
    PIDDriving = new PIDController(Kp_driving, Ki_driving, Kd_driving, _encoder, _driveMotor);
    PIDDriving.setOutputRange(minSpeed, maxSpeed);
    PIDDriving.disable(); //TODO: Enable
}
 
開發者ID:Whillikers,項目名稱:SwerveDrive,代碼行數:26,代碼來源:SwervePod.java

示例10: RobotDrive6

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * Constructor for RobotDrive with 6 motors specified as SpeedController
 * objects. Speed controller input version of RobotDrive (see previous
 * comments).
 *
 * @param rearLeftMotor The back left SpeedController object used to drive
 * the robot.
 * @param frontLeftMotor The front left SpeedController object used to drive
 * the robot
 * @param rearRightMotor The back right SpeedController object used to drive
 * the robot.
 * @param frontRightMotor The front right SpeedController object used to
 * drive the robot.
 * @param middleLeftMotor The middle left SpeedController object used to
 * drive the robot.
 * @param middleRightMotor The middle right SpeedController object used to
 * drive the robot.
 */
public RobotDrive6(SpeedController frontLeftMotor, SpeedController rearLeftMotor,
        SpeedController frontRightMotor, SpeedController rearRightMotor,
        SpeedController middleLeftMotor, SpeedController middleRightMotor) {
    if (frontLeftMotor == null || rearLeftMotor == null || frontRightMotor == null || rearRightMotor == null) {
        m_frontLeftMotor = m_rearLeftMotor = m_frontRightMotor = m_rearRightMotor = null;
        throw new NullPointerException("Null motor provided");
    }
    m_frontLeftMotor = frontLeftMotor;
    m_rearLeftMotor = rearLeftMotor;
    m_frontRightMotor = frontRightMotor;
    m_rearRightMotor = rearRightMotor;
    m_middleLeftMotor = middleLeftMotor;
    m_middleRightMotor = middleRightMotor;
    m_sensitivity = kDefaultSensitivity;
    m_maxOutput = kDefaultMaxOutput;
    for (int i = 0; i < kMaxNumberOfMotors; i++) {
        m_invertedMotors[i] = 1;
    }
    m_allocatedSpeedControllers = false;
    setupMotorSafety();
    drive(0, 0);
}
 
開發者ID:CarmelRobotics,項目名稱:aeronautical-facilitation,代碼行數:41,代碼來源:RobotDrive6.java

示例11: RobotDriveSteering

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * Constructor for RobotDrive with 2 motors specified as SpeedController
 * objects. The SpeedController version of the constructor enables programs
 * to use the RobotDrive classes with subclasses of the SpeedController
 * objects, for example, versions with ramping or reshaping of the curve to
 * suit motor bias or dead-band elimination.
 *
 * @param leftMotor The left SpeedController object used to drive the robot.
 * @param rightMotor the right SpeedController object used to drive the
 * robot.
 */
public RobotDriveSteering(SpeedController leftMotor, SpeedController rightMotor) {
    if (leftMotor == null || rightMotor == null) {
        m_rearLeftMotor = m_rearRightMotor = null;
        throw new NullPointerException("Null motor provided");
    }
    m_frontLeftMotor = null;
    m_rearLeftMotor = leftMotor;
    m_frontRightMotor = null;
    m_rearRightMotor = rightMotor;
    m_sensitivity = kDefaultSensitivity;
    m_maxOutput = kDefaultMaxOutput;
    for (int i = 0; i < kMaxNumberOfMotors; i++) {
        m_invertedMotors[i] = 1;
    }
    m_allocatedSpeedControllers = false;
    setupMotorSafety();
    drive(0, 0);
}
 
開發者ID:BreakerBots,項目名稱:Felix-2014,代碼行數:30,代碼來源:RobotDriveSteering.java

示例12: DriveTrainSubsystem

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
public DriveTrainSubsystem() {
    motors = new SpeedController[RobotMap.DRIVE_TRAIN.MOTORS.length];
    for (int i = 0; i < RobotMap.DRIVE_TRAIN.MOTORS.length; i++) {
        motors[i] = new Victor(RobotMap.DRIVE_TRAIN.MOTORS[i]);
    }
    doubleSidedPid = new PIDController649(EncoderBasedDriving.AUTO_DRIVE_P, EncoderBasedDriving.AUTO_DRIVE_I, EncoderBasedDriving.AUTO_DRIVE_D, this, this);
    doubleSidedPid.setAbsoluteTolerance(EncoderBasedDriving.ABSOLUTE_TOLERANCE);
    doubleSidedPid.setOutputRange(-EncoderBasedDriving.MAX_MOTOR_POWER, EncoderBasedDriving.MAX_MOTOR_POWER);
    encoders = new Encoder[RobotMap.DRIVE_TRAIN.ENCODERS.length / 2];
    for (int x = 0; x < RobotMap.DRIVE_TRAIN.ENCODERS.length; x += 2) {
        encoders[x / 2] = new Encoder(RobotMap.DRIVE_TRAIN.ENCODERS[x], RobotMap.DRIVE_TRAIN.ENCODERS[x + 1], x == 0, EncodingType.k2X);
        encoders[x / 2].setDistancePerPulse(EncoderBasedDriving.ENCODER_DISTANCE_PER_PULSE);
    }
    lastRates = new Vector();
    shifterSolenoid = new DoubleSolenoid(RobotMap.DRIVE_TRAIN.FORWARD_SOLENOID_CHANNEL, RobotMap.DRIVE_TRAIN.REVERSE_SOLENOID_CHANNEL);
}
 
開發者ID:SaratogaMSET,項目名稱:649code2014,代碼行數:17,代碼來源:DriveTrainSubsystem.java

示例13: Shooter

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * Creates a new shooter.
 *
 * @param shooterMotor1
 * @param shooterMotor2
 * @param feeder
 * @param raiser
 * @param flywheelEncoder
 * @param raiserPot
 */
public Shooter(SpeedController shooterMotor1, SpeedController shooterMotor2,
        GRTSolenoid feeder, SpeedController raiser, GRTEncoder flywheelEncoder,
        Potentiometer raiserPot, GRTSwitch lowerLimit) {
    super("Shooter mech");
    this.feeder = feeder;
    this.shooterMotor1 = shooterMotor1;
    this.shooterMotor2 = shooterMotor2;
    this.raiser = raiser;
    this.flywheelEncoder = flywheelEncoder;
    this.raiserPot = raiserPot;

    updateConstants();
    lowerLimit.addListener(this);
    raiserPot.addListener(this);
    
    GRTConstants.addListener(this);
}
 
開發者ID:grt192,項目名稱:2013ultimate-ascent,代碼行數:28,代碼來源:Shooter.java

示例14: RelativeSpeedController

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * constructor
 *
 * @method RelativeSpeedController
 * @param speedController
 *            The speed controller to control with
 *            velocity commands
 * @param maxSpeed
 *            The maximum speed that a command of 1.0
 *            should represent
 * @author Josh Shields
 * @written Jan 15, 2011
 *          -------------------------------------------------------
 */
public RelativeSpeedController (final SpeedController speedController, // The
        // speed
        // controller
        // to
        // control
        // with
        // velocity
        // commands
        final double maxSpeed) // The maximum speed that a command of 1.0
                               // should represent
{
    this.speedController = speedController;
    this.maxSpeed = maxSpeed;
}
 
開發者ID:FIRST-Team-339,項目名稱:2017,代碼行數:29,代碼來源:RelativeSpeedController.java

示例15: getController

import edu.wpi.first.wpilibj.SpeedController; //導入依賴的package包/類
/**
 * Gets a controller held in this container by the index
 * @param index the index of the controller
 * @return a controller from the container
 * @throws IllegalArgumentException if the index is negative
 * @throws IndexOutOfBoundsException if the index exceeds the array size
 */
public SpeedController getController(int index){
	if(index < 0) throw new IllegalArgumentException("Index must be non-negative");
	else if(index >= motor_controllers.length) 
		throw new IndexOutOfBoundsException("Index out of bounds of list - " + motor_controllers.length);
	
	return motor_controllers[index];
}
 
開發者ID:Flash3388,項目名稱:FlashLib,代碼行數:15,代碼來源:FRCSpeedControllers.java


注:本文中的edu.wpi.first.wpilibj.SpeedController類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。