Beispiel #1
0
void RobotMap::init() {
    // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
    LiveWindow *lw = LiveWindow::GetInstance();

    chassisLeftFrontMotor.reset(new Talon(0));
    lw->AddActuator("Chassis", "LeftFrontMotor", (Talon&) chassisLeftFrontMotor);
    
    chassisrightFrontMotor.reset(new Talon(1));
    lw->AddActuator("Chassis", "rightFrontMotor", (Talon&) chassisrightFrontMotor);
    
    chassisleftRearMotor.reset(new Talon(2));
    lw->AddActuator("Chassis", "leftRearMotor", (Talon&) chassisleftRearMotor);
    
    chassisrightRearMotor.reset(new Talon(3));
    lw->AddActuator("Chassis", "rightRearMotor", (Talon&) chassisrightRearMotor);
    
    chassisRobotDrive41.reset(new RobotDrive(chassisLeftFrontMotor, chassisleftRearMotor,
              chassisrightFrontMotor, chassisrightRearMotor));
    
    chassisRobotDrive41->SetSafetyEnabled(true);
        chassisRobotDrive41->SetExpiration(0.1);
        chassisRobotDrive41->SetSensitivity(0.5);
        chassisRobotDrive41->SetMaxOutput(1.0);



    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #2
0
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	driveTrainFrontLeftMotor = new CANJaguar(2);
	
	
	driveTrainCenterLeftMotor = new CANJaguar(3);
	
	
	driveTrainRearLeftMotor = new CANJaguar(9);
	
	
	driveTrainFrontRightMotor = new CANJaguar(10);
	
	
	driveTrainCenterRightMotor = new CANJaguar(6);
	
	
	driveTrainRearRightMotor = new CANJaguar(16);
	
	
	shifterShifterLeftSolenoid = new DoubleSolenoid(1, 3, 4);      
	
	
	shifterShifterRightSolenoid = new DoubleSolenoid(1, 1, 2);      
	
	
	airCompressorCompressorSpike = new Relay(1, 3);
	lw->AddActuator("AirCompressor", "CompressorSpike", airCompressorCompressorSpike);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #3
0
void RobotMap::init() {
	// The following variables are automatically assigned by
	// robotbuilder and will be updated the next time you export to
	// Java from robot builder. Do not put any code or make any change
	// in the following block or it will be lost on an update. To
	// prevent this subsystem from being automatically updated, delete
	// the following line.
	LiveWindow* lw = LiveWindow::GetInstance();

	DRIVE_LJAGA = new CANJaguar(6);
	
	
	DRIVE_LJAGB = new CANJaguar(7);
	
	
	DRIVE_RJAGA = new CANJaguar(8);
	
	
	DRIVE_RJAGB = new CANJaguar(9);
	
	
	DRIVE_LENC = new Encoder(1, 2, 1, 3, false, Encoder::k4X);
	lw->AddSensor("Drive", "lEnc", DRIVE_LENC);
	DRIVE_LENC->SetDistancePerPulse(1.0);
        DRIVE_LENC->SetPIDSourceParameter(Encoder::kRate);
	DRIVE_RENC = new Encoder(1, 4, 1, 5, false, Encoder::k4X);
	lw->AddSensor("Drive", "rEnc", DRIVE_RENC);
	DRIVE_RENC->SetDistancePerPulse(1.0);
        DRIVE_RENC->SetPIDSourceParameter(Encoder::kRate);
	DRIVE_SHIFTER = new LiveSolenoid(1, 1);
	lw->AddActuator("Drive", "shifter", DRIVE_SHIFTER);
	

}
Beispiel #4
0
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	drivetrainFrontRight = new Victor(1, 1);
	lw->AddActuator("Drivetrain", "FrontRight", (Victor*) drivetrainFrontRight);
	
	drivetrainRearRight = new Victor(1, 2);
	lw->AddActuator("Drivetrain", "RearRight", (Victor*) drivetrainRearRight);
	
	drivetrainFrontLeft = new Victor(1, 3);
	lw->AddActuator("Drivetrain", "FrontLeft", (Victor*) drivetrainFrontLeft);
	
	drivetrainRearLeft = new Victor(1, 4);
	lw->AddActuator("Drivetrain", "RearLeft", (Victor*) drivetrainRearLeft);
	
	drivetrainHolonomic = new RobotDrive(drivetrainFrontLeft, drivetrainRearLeft,
              drivetrainFrontRight, drivetrainRearRight);
	
	drivetrainHolonomic->SetSafetyEnabled(true);
        drivetrainHolonomic->SetExpiration(0.1);
        drivetrainHolonomic->SetSensitivity(0.5);
        drivetrainHolonomic->SetMaxOutput(1.0);
        drivetrainHolonomic->SetInvertedMotor(RobotDrive::kFrontLeftMotor, true);
        drivetrainHolonomic->SetInvertedMotor(RobotDrive::kRearLeftMotor, true);
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #5
0
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();

	drivefrontRightMotor = new Talon(2);
	lw->AddActuator("Drive", "frontRightMotor", (Talon*) drivefrontRightMotor);
	
	drivefrontLeftMotor = new Talon(1);
	lw->AddActuator("Drive", "frontLeftMotor", (Talon*) drivefrontLeftMotor);
	
	drivebackRightMotor = new Talon(3);
	lw->AddActuator("Drive", "backRightMotor", (Talon*) drivebackRightMotor);
	
	drivebackLeftMotor = new Talon(4);
	lw->AddActuator("Drive", "backLeftMotor", (Talon*) drivebackLeftMotor);
	
	drivemecDrive = new RobotDrive(drivefrontLeftMotor, drivebackLeftMotor,
              drivefrontRightMotor, drivebackRightMotor);
	
	drivemecDrive->SetSafetyEnabled(true);
        drivemecDrive->SetExpiration(0.1);
        drivemecDrive->SetSensitivity(0.5);
        drivemecDrive->SetMaxOutput(1.0);


    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #6
0
// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
// END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	
	LiveWindow* lw = LiveWindow::GetInstance();
	driveLSpeed = new Talon(1, 2);
	lw->AddActuator("Drive", "LSpeed", (Talon*) driveLSpeed);
	
	driveRSpeed = new Talon(1, 1);
	lw->AddActuator("Drive", "RSpeed", (Talon*) driveRSpeed);
	
	driveControl = new RobotDrive(driveLSpeed, driveRSpeed);
	
	driveControl->SetSafetyEnabled(true);
        driveControl->SetExpiration(0.1);
        driveControl->SetSensitivity(0.5);
        driveControl->SetMaxOutput(1.0);
        
	driveGyro = new Gyro(1, 1);
	lw->AddSensor("Drive", "Gyro", driveGyro);
	driveGyro->SetSensitivity(0.007);
	driveTurn = new Victor(1, 4);
	//lw->AddActuator("Drive", "Turn", (Victor*) driveTurn);
	
	driveGyroPID = new PIDController(0.03, 0.0, 0.0,/* F: 0.0, */ driveGyro, driveTurn, 0.02);
	lw->AddActuator("Drive", "GyroPID", driveGyroPID);
	driveGyroPID->SetContinuous(false); driveGyroPID->SetAbsoluteTolerance(0.2); 
        driveGyroPID->SetOutputRange(-1.0, 1.0);
	driveLEncoder = new Encoder(1, 2, 1, 3, false, Encoder::k1X);
	lw->AddSensor("Drive", "LEncoder", driveLEncoder);
	driveLEncoder->SetDistancePerPulse(1.0);
        driveLEncoder->SetPIDSourceParameter(Encoder::kDistance);
        driveLEncoder->Start();
	driveREncoder = new Encoder(1, 9, 1, 10, true, Encoder::k1X);
	lw->AddSensor("Drive", "REncoder", driveREncoder);
	driveREncoder->SetDistancePerPulse(1.0);
        driveREncoder->SetPIDSourceParameter(Encoder::kDistance);
        driveREncoder->Start();
	
        pincerPinch = new Relay(1,2);   
	tiltTilt = new Relay(1,3);      
	lw->AddSensor("El Pincho", "Pinch", pincerPinch);
	lw->AddSensor("El Pincho", "Tilt", tiltTilt);
	
	compressorSysComp = new Compressor(1, 1, 1, 4);
	
	
	catapultEncoder = new Encoder(1, 6, 1, 7, false, Encoder::k4X);
	lw->AddSensor("Catapult", "Encoder", catapultEncoder);
	catapultEncoder->SetDistancePerPulse(1.0);
        catapultEncoder->SetPIDSourceParameter(Encoder::kDistance);
        catapultEncoder->Start();
	catapultJag2 = new CANJaguar(2);
	catapultJag3 = new CANJaguar(3);
	
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
int
main(int argc, char **argv)
{
	QApplication app(argc, argv);

	LiveWindow liveWindow;
	liveWindow.show();

	return app.exec();
}
void RobotMap::init() {
    // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
    LiveWindow *lw = LiveWindow::GetInstance();

    controlSSsolenoid1.reset(new Solenoid(1));
    lw->AddActuator("ControlSS", "solenoid1", controlSSsolenoid1);

    controlSSsolenoid1.reset(new Solenoid(2));
    lw->AddActuator("ControlSS", "solenoid2", controlSSsolenoid2);

    controlSSsolenoid1.reset(new Solenoid(3));
    lw->AddActuator("ControlSS", "solenoid3", controlSSsolenoid3);

    controlSSsolenoid1.reset(new Solenoid(4));
    lw->AddActuator("ControlSS", "solenoid4", controlSSsolenoid4);

    controlSSfrontLS.reset(new DigitalInput(0));
    lw->AddSensor("ControlSS", "frontLS", controlSSfrontLS);
    
    controlSSbackLS.reset(new DigitalInput(1));
    lw->AddSensor("ControlSS", "backLS", controlSSbackLS);
    
    controlSSsideLS.reset(new DigitalInput(2));
    lw->AddSensor("ControlSS", "sideLS", controlSSsideLS);

    controlSSpressureGauge.reset(new AnalogInput(1));
    lw->AddSensor("ControlSS", "pressureGauge", controlSSpressureGauge);


    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();

	moverRightMotor0 = new Jaguar(0);
	lw->AddActuator("Mover", "RightMotor0", (Jaguar*) moverRightMotor0);
	
	moverRightMotor1 = new Jaguar(1);
	lw->AddActuator("Mover", "RightMotor1", (Jaguar*) moverRightMotor1);
	
	moverLeftMotor2 = new Jaguar(2);
	lw->AddActuator("Mover", "LeftMotor2", (Jaguar*) moverLeftMotor2);
	
	moverLeftMotor3 = new Jaguar(3);
	lw->AddActuator("Mover", "LeftMotor3", (Jaguar*) moverLeftMotor3);
	
	moverSpeedSwitch = new DigitalInput(8);
	lw->AddSensor("Mover", "SpeedSwitch", moverSpeedSwitch);
	
	airCannonLeftCannon = new Solenoid(0, 2);
	lw->AddActuator("AirCannon", "LeftCannon", airCannonLeftCannon);
	
	airCannonMiddleCannon = new Solenoid(0, 1);
	lw->AddActuator("AirCannon", "MiddleCannon", airCannonMiddleCannon);
	
	airCannonRightCannon = new Solenoid(0, 0);
	lw->AddActuator("AirCannon", "RightCannon", airCannonRightCannon);
	


    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #10
0
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	shooterShooterMotor = new Jaguar(1, 1);
	lw->AddActuator("Shooter", "ShooterMotor", (Jaguar*) shooterShooterMotor);
	
	feederFeederMotor = new Jaguar(1, 2);
	lw->AddActuator("Feeder", "FeederMotor", (Jaguar*) feederFeederMotor);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
/**
 * Start a competition.
 * This code needs to track the order of the field starting to ensure that everything happens
 * in the right order. Repeatedly run the correct method, either Autonomous or OperatorControl
 * or Test when the robot is enabled. After running the correct method, wait for some state to
 * change, either the other mode starts or the robot is disabled. Then go back and wait for the
 * robot to be enabled again.
 */
void SampleRobot::StartCompetition()
{
	LiveWindow *lw = LiveWindow::GetInstance();

	SmartDashboard::init();
	NetworkTable::GetTable("LiveWindow")->GetSubTable("~STATUS~")->PutBoolean("LW Enabled", false);

	RobotMain();

	if (!m_robotMainOverridden)
	{
		// first and one-time initialization
		lw->SetEnabled(false);
		RobotInit();

		while (true)
		{
			if (IsDisabled())
			{
				m_ds.InDisabled(true);
				Disabled();
				m_ds.InDisabled(false);
				while (IsDisabled()) sleep(1); //m_ds.WaitForData();
			}
			else if (IsAutonomous())
			{
				m_ds.InAutonomous(true);
				Autonomous();
				m_ds.InAutonomous(false);
				while (IsAutonomous() && IsEnabled()) sleep(1); //m_ds.WaitForData();
			}
            else if (IsTest())
            {
              lw->SetEnabled(true);
              m_ds.InTest(true);
              Test();
              m_ds.InTest(false);
              while (IsTest() && IsEnabled()) sleep(1); //m_ds.WaitForData();
              lw->SetEnabled(false);
            }
			else
			{
				m_ds.InOperatorControl(true);
				OperatorControl();
				m_ds.InOperatorControl(false);
				while (IsOperatorControl() && IsEnabled()) sleep(1); //m_ds.WaitForData();
			}
		}
	}
}
Beispiel #12
0
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	driveTrainRightMotor = new Jaguar(1, 2);
	lw->AddActuator("DriveTrain", "RightMotor", (Jaguar*) driveTrainRightMotor);
	
	driveTrainLeftMotor = new Jaguar(1, 1);
	lw->AddActuator("DriveTrain", "LeftMotor", (Jaguar*) driveTrainLeftMotor);
	
	driveTrainRobotDrive21 = new RobotDrive(driveTrainLeftMotor, driveTrainRightMotor);
	
	driveTrainRobotDrive21->SetSafetyEnabled(true);
        driveTrainRobotDrive21->SetExpiration(0.1);
        driveTrainRobotDrive21->SetSensitivity(0.5);
        driveTrainRobotDrive21->SetMaxOutput(1.0);
        driveTrainRobotDrive21->SetInvertedMotor(RobotDrive::kRearLeftMotor, true);
        driveTrainRobotDrive21->SetInvertedMotor(RobotDrive::kRearRightMotor, true);        
	shootingWheelShootingWheelController = new Talon(1, 3);
	lw->AddActuator("ShootingWheel", "ShootingWheelController", (Talon*) shootingWheelShootingWheelController);
	
	loaderLoaderController = new Talon(1, 4);
	lw->AddActuator("Loader", "LoaderController", (Talon*) loaderLoaderController);
	
	loaderReadySwitch = new DigitalInput(1, 1);
	lw->AddSensor("Loader", "ReadySwitch", loaderReadySwitch);
	
	loaderEndSwitch = new DigitalInput(1, 2);
	lw->AddSensor("Loader", "EndSwitch", loaderEndSwitch);
	
	trackLifterTrackLifterController = new Talon(1, 5);
	lw->AddActuator("TrackLifter", "TrackLifterController", (Talon*) trackLifterTrackLifterController);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #13
0
	void TestPeriodic()
	{
		//bool isEnabled = false;
		lw->Run();
		//holder->TestPeriodic();
		//printf("TestPeriodic\n");

	}
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();

	driveLeftFront = new Talon(1);
	lw->AddActuator("Drive", "Left Front", (Talon*) driveLeftFront);
	
	driveLeftRear = new Talon(2);
	lw->AddActuator("Drive", "Left Rear", (Talon*) driveLeftRear);
	
	driveRightFront = new Talon(3);
	lw->AddActuator("Drive", "Right Front", (Talon*) driveRightFront);
	
	driveRightRear = new Talon(4);
	lw->AddActuator("Drive", "Right Rear", (Talon*) driveRightRear);
	
	driveRobotDrive41 = new RobotDrive(driveLeftFront, driveLeftRear,
              driveRightFront, driveRightRear);
	
	driveRobotDrive41->SetSafetyEnabled(true);
        driveRobotDrive41->SetExpiration(0.1);
        driveRobotDrive41->SetSensitivity(0.5);
        driveRobotDrive41->SetMaxOutput(1.0);

	grabberGrabberPnuematicCylinder = new DoubleSolenoid(0, 0, 1);      
	lw->AddActuator("Grabber", "Grabber Pnuematic Cylinder", grabberGrabberPnuematicCylinder);
	
	elevatorLifterEncoder = new Encoder(0, 1, false, Encoder::k4X);
	lw->AddSensor("Elevator", "Lifter Encoder", elevatorLifterEncoder);
	elevatorLifterEncoder->SetDistancePerPulse(1.0);
        elevatorLifterEncoder->SetPIDSourceParameter(Encoder::kDistance);
	elevatorLifterMotor = new Talon(0);
	lw->AddActuator("Elevator", "LifterMotor", (Talon*) elevatorLifterMotor);
	
	elevatorUpperLimitSwitch = new DigitalInput(2);
	lw->AddSensor("Elevator", "Upper Limit Switch", elevatorUpperLimitSwitch);
	
	elevatorLowerLimitSwitch = new DigitalInput(3);
	lw->AddSensor("Elevator", "Lower Limit Switch", elevatorLowerLimitSwitch);
	


    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #15
0
void RobotMap::init() {
	// /home/lvuser/wpilib-preferences.ini

    std::string robotType = Preferences::GetInstance()->GetString("RobotType");

	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	// END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS

	forwardDriveForwardLeftTalon = new CANTalon(Preferences::GetInstance()->GetInt("ForwardDrive::LeftTalon::CANID"));
	forwardDriveForwardRightTalon = new CANTalon(Preferences::GetInstance()->GetInt("ForwardDrive::RightTalon::CANID"));
	strafingDriveStrafeRightTalon = new CANTalon(Preferences::GetInstance()->GetInt("StrafingDrive::RightTalon::CANID"));
	strafingDriveStrafeLeftTalon = new CANTalon(Preferences::GetInstance()->GetInt("StrafingDrive::LeftTalon::CANID"));
	elevatorLiftLiftTalon = new CANTalon(Preferences::GetInstance()->GetInt("ElevatorLift::LiftTalon::CANID"));

	forwardDriveForwardLeftTalon->SetPosition(0);
	forwardDriveForwardRightTalon->SetPosition(0);
	strafingDriveStrafeRightTalon->SetPosition(0);
	strafingDriveStrafeLeftTalon->SetPosition(0);

	liftGrabberLiftGrabberSolenoid = new Solenoid(Preferences::GetInstance()->GetInt("LiftGrabber::PCMID"),
			Preferences::GetInstance()->GetInt("LiftGrabber::Solenoid"));
	lw->AddActuator("LiftGrabber", "LiftGrabberSolenoid", liftGrabberLiftGrabberSolenoid);
	
	spinnersSpinnerRightTalon = new CANTalon(Preferences::GetInstance()->GetInt("Spinners::RightTalon::CANID"));
	spinnersSpinnerLeftTalon = new CANTalon(Preferences::GetInstance()->GetInt("Spinners::LeftTalon::CANID"));
	
	brakeBrakeSolenoid = new Solenoid(Preferences::GetInstance()->GetInt("Brake::PCMID"),
			Preferences::GetInstance()->GetInt("Brake::BrakeSolenoid"));
	lw->AddActuator("Brake", "BrakeSolenoid", brakeBrakeSolenoid);
	
	canBurglerCanBurglerRightSolenoid = new DoubleSolenoid(Preferences::GetInstance()->GetInt("RightCanBurgler::PCMID"),
			Preferences::GetInstance()->GetInt("RightCanBurgler::CanBurglerForwardSolenoid"),
			Preferences::GetInstance()->GetInt("RightCanBurgler::CanBurglerReverseSolenoid"));
	lw->AddActuator("CanBurgler", "CanBurglerRightSolenoid", canBurglerCanBurglerRightSolenoid);

	canBurglerCanBurglerLeftSolenoid = new DoubleSolenoid(Preferences::GetInstance()->GetInt("LeftCanBurgler::PCMID"),
			Preferences::GetInstance()->GetInt("LeftCanBurgler::CanBurglerForwardSolenoid"),
			Preferences::GetInstance()->GetInt("LeftCanBurgler::CanBurglerReverseSolenoid"));
	lw->AddActuator("CanBurgler", "CanBurglerLeftSolenoid", canBurglerCanBurglerLeftSolenoid);


	pneumaticsCompressor = new Compressor(Preferences::GetInstance()->GetInt("Compressor::PCMID"));
}
Beispiel #16
0
void RobotMap::init() {
    // BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
    LiveWindow *lw = LiveWindow::GetInstance();

    driveLeftDrive.reset(new CANTalon(5));
    lw->AddActuator("Drive", "LeftDrive", driveLeftDrive);
    
    driveRightDrive.reset(new CANTalon(3));
    lw->AddActuator("Drive", "RightDrive", driveRightDrive);
    
    driveTankDrive.reset(new RobotDrive(driveLeftDrive, driveRightDrive));
    
    driveTankDrive->SetSafetyEnabled(true);
        driveTankDrive->SetExpiration(0.1);
        driveTankDrive->SetSensitivity(0.5);
        driveTankDrive->SetMaxOutput(1.0);

    shooterSystemLeftShooterTalonLeft.reset(new CANTalon(2));
    lw->AddActuator("ShooterSystemLeft", "ShooterTalonLeft", shooterSystemLeftShooterTalonLeft);
    
    shooterSystemLeftQuadEncShooterLeft.reset(new Encoder(9, 8, false, Encoder::k4X));
    lw->AddSensor("ShooterSystemLeft", "QuadEncShooterLeft", shooterSystemLeftQuadEncShooterLeft);
    shooterSystemLeftQuadEncShooterLeft->SetDistancePerPulse(1.0);
    shooterSystemLeftQuadEncShooterLeft->SetPIDSourceType(PIDSourceType::kRate);
    intakeSubsystemIntakeTalon.reset(new CANTalon(1));
    lw->AddActuator("IntakeSubsystem", "IntakeTalon", intakeSubsystemIntakeTalon);
    
    shooterSystemRightShooterTalonRight.reset(new CANTalon(4));
    lw->AddActuator("ShooterSystemRight", "ShooterTalonRight", shooterSystemRightShooterTalonRight);
    
    shooterSystemRightQuadEncShooterRight.reset(new Encoder(7, 6, false, Encoder::k4X));
    lw->AddSensor("ShooterSystemRight", "QuadEncShooterRight", shooterSystemRightQuadEncShooterRight);
    shooterSystemRightQuadEncShooterRight->SetDistancePerPulse(1.0);
    shooterSystemRightQuadEncShooterRight->SetPIDSourceType(PIDSourceType::kRate);

    intakeSubsystemServoLeft.reset(new Servo(0));
       lw->AddActuator("IntakeSubsystem", "ServoLeft", intakeSubsystemServoLeft);

       intakeSubsystemServoRight.reset(new Servo(1));
       lw->AddActuator("IntakeSubsystem", "ServoRight", intakeSubsystemServoRight);

    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #17
0
	void TestPeriodic()
	{
		lw->Run();
		if (launcherSensor->Get()) {
			printf("on\n");
		} else {
			printf("off\n");
		}

	}
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	driveTrainDriveLeft1 = new Victor(1, 1);
	lw->AddActuator("DriveTrain", "DriveLeft1", (Victor*) driveTrainDriveLeft1);
	
	driveTrainDriveRight1 = new Victor(1, 3);
	lw->AddActuator("DriveTrain", "DriveRight1", (Victor*) driveTrainDriveRight1);
	
	driveTrainRobotDrive = new RobotDrive(driveTrainDriveLeft1, driveTrainDriveRight1);
	
	driveTrainRobotDrive->SetSafetyEnabled(true);
        driveTrainRobotDrive->SetExpiration(0.25);
        driveTrainRobotDrive->SetSensitivity(0.5);
        driveTrainRobotDrive->SetMaxOutput(1.0);
        
	driveTrainultrasonicDistance = new AnalogChannel(1, 1);
	lw->AddSensor("DriveTrain", "ultrasonicDistance", driveTrainultrasonicDistance);
	
	feederFeederMotor = new Victor(1, 2);
	lw->AddActuator("Feeder", "FeederMotor", (Victor*) feederFeederMotor);
	
	climberClimberMotor = new Victor(1, 5);
	lw->AddActuator("Climber", "ClimberMotor", (Victor*) climberClimberMotor);
	
	climberTapeLimitLeft = new DigitalInput(1, 1);
	lw->AddSensor("Climber", "TapeLimitLeft", climberTapeLimitLeft);
	
	climberTapeLimitRight = new DigitalInput(1, 2);
	lw->AddSensor("Climber", "TapeLimitRight", climberTapeLimitRight);
	
	climberTapeAngleLeft = new Servo(1, 6);
	lw->AddActuator("Climber", "TapeAngleLeft", climberTapeAngleLeft);
	
	climberTapeAngleRight = new Servo(1, 7);
	lw->AddActuator("Climber", "TapeAngleRight", climberTapeAngleRight);
	
	shootershooterMotor = new CANJaguar(4);
	
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
void HardwareMap::init() {
  log_info("init()");

  // Add hardware to the live window
  // You can then debug each hardware object in the driver station test mode
  // on the smart dashboard.

  LiveWindow *lw = LiveWindow::GetInstance();

  lw->AddActuator("Drive", "Front Left Motor", &front_left_motor);
  lw->AddActuator("Drive", "Rear Left Motor", &rear_left_motor);
  lw->AddActuator("Drive", "Front Right Motor", &front_right_motor);
  lw->AddActuator("Drive", "Rear Right Motor", &rear_right_motor);

  lw->AddActuator("Arm", "Front Arm Motor", &front_arm_motor);
  lw->AddActuator("Arm", "Wheel Motor", &wheel_motor);

  lw->AddActuator("Shooter", "Left Launch Solenoid", &launch_solenoid_left);
  lw->AddActuator("Shooter", "Right Launch Solenoid", &launch_solenoid_right);
  lw->AddSensor("Shooter", "Compressor", &compressor);
}
Beispiel #20
0
	/**
	 * Called when the robot starts up and the robot control software comes online
	 * Much (if possible, all) of the initialization required for your robot should happen here
	 */
	void RobotInit()
	{
		//Get the instance of the LiveWindow system
		lw = LiveWindow::GetInstance();

		//Create Drivetrain Left Instance and add to LiveWindow
		left = new Victor(LEFT_PWM);
		lw->AddActuator("Victor", LEFT_PWM, left);

		//Create Drivetrain Right Instance and add to LiveWindow
		right = new Victor(RIGHT_PWM);
		lw->AddActuator("Victor", RIGHT_PWM, right);

		//Create RobotDrive Instance
		rd = new RobotDrive(left, right);

		//Create Primary Shooter Instance and add to LiveWindow
		shoot1 = new Victor(SHOOT1_PWM);
		lw->AddActuator("Victor", SHOOT1_PWM, shoot1);

		//Create Secondary Shooter Instance and add to LiveWindow
		shoot2 = new Victor(SHOOT2_PWM);
		lw->AddActuator("Victor", SHOOT2_PWM, shoot2);

		//Create Kicker Instance and add to LiveWindow
		kicker = new Victor(KICKER_PWM);
		lw->AddActuator("Victor", KICKER_PWM, kicker);

		//Create Kicker Switch Instance and add to LiveWindow
		kickerSwitch = new DigitalInput(KICKER_DIO);
		lw->AddSensor("Digital Input", KICKER_DIO, kickerSwitch);

		//Create Joystick Instance
		j1 = new Joystick(JOYSTICK_USB);
	}
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	drivetrainLeftside = new Victor(1, 1);
	lw->AddActuator("Drivetrain", "Left side", (Victor*) drivetrainLeftside);
	
	drivetrainRightside = new Victor(1, 2);
	lw->AddActuator("Drivetrain", "Right side", (Victor*) drivetrainRightside);
	
	drivetrainRobotDrive = new RobotDrive(drivetrainLeftside, drivetrainRightside);
	
	drivetrainRobotDrive->SetSafetyEnabled(false);
        drivetrainRobotDrive->SetExpiration(0.1);
        drivetrainRobotDrive->SetSensitivity(0.5);
        drivetrainRobotDrive->SetMaxOutput(1.0);
        
	drivetrainDrivetrainGyro = new Gyro(1, 1);
	lw->AddSensor("Drivetrain", "Drivetrain Gyro", drivetrainDrivetrainGyro);
	drivetrainDrivetrainGyro->SetSensitivity(1.25);
	drivetrainOpticalsensor = new DigitalInput(1, 1);
	lw->AddSensor("Drivetrain", "Optical sensor", drivetrainOpticalsensor);
	
	drivetrainRangeFinder = new AnalogChannel(1, 2);
	lw->AddSensor("Drivetrain", "RangeFinder", drivetrainRangeFinder);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #22
0
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	driveTrainRightMotor = new Victor(1, 1);
	lw->AddActuator("DriveTrain", "RightMotor", (Victor*) driveTrainRightMotor);
	
	driveTrainLeftMotor = new Victor(1, 2);
	lw->AddActuator("DriveTrain", "LeftMotor", (Victor*) driveTrainLeftMotor);
	
	driveTrainRobotDrive21 = new RobotDrive(driveTrainLeftMotor, driveTrainRightMotor);
	
	driveTrainRobotDrive21->SetSafetyEnabled(true);
        driveTrainRobotDrive21->SetExpiration(0.1);
        driveTrainRobotDrive21->SetSensitivity(0.5);
        driveTrainRobotDrive21->SetMaxOutput(1.0);
        
	shooterMotor1 = new Jaguar(1, 3);
	shooterMotor2 = new Jaguar(1, 3);
	lw->AddActuator("Shooter", "Motor1", (Jaguar*) shooterMotor1);
	lw->AddActuator("Shooter", "Motor1", (Jaguar*) shooterMotor2);
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #23
0
void RobotMap::init() {
	LiveWindow* lw = LiveWindow::GetInstance();

	driveleft1 = new CANJaguar(DRV_MTR_LEFT_ONE);
	
	driveleft2 = new CANJaguar(DRV_MTR_LEFT_TWO);
	
	driveleft3 = new CANJaguar(DRV_MTR_LEFT_THREE);
	
	driveright1 = new CANJaguar(DRV_MTR_RIGHT_ONE);
	
	driveright2 = new CANJaguar(DRV_MTR_RIGHT_TWO);
	
	driveright3 = new CANJaguar(DRV_MTR_RIGHT_THREE);
	
	drivelEnc = new Encoder(DRV_ENC_LEFT);
	
	driverEnc = new Encoder(DRV_ENC_RIGHT);
	
	driverangeFinder = new AnalogChannel(DRV_ULT_LONGDIST);
	
	drivegoalSensor = new AnalogChannel(DRV_ULT_SHORTDIST);
	
	driveshift = new Solenoid(DRV_SOL_SHIFT);
	lw->AddActuator("Drive", "shift", driveshift);
	
	shooterleft = new Solenoid(SHO_SOL_LEFT);
	lw->AddActuator("Shooter", "left", shooterleft);
	
	shooterright = new Solenoid(SHO_SOL_RIGHT);
	lw->AddActuator("Shooter", "right", shooterright);
	
	acquisitionroller = new Victor(ACQ_MTR_ROLLER);
	lw->AddActuator("Acquisition", "roller", (Victor*) acquisitionroller);
	
	acquisitionraise = new Solenoid(ACQ_SOL_RAISE);
	lw->AddActuator("Acquisition", "raise", acquisitionraise);
	
	acquisitionproc1 = new AnalogChannel(DRV_ANA_PROC_1);
	
	acquisitionproc2 = new AnalogChannel(DRV_ANA_PROC_2);
	
	acquisitionproc3 = new AnalogChannel(DRV_ANA_PROC_3);
		
	ejectionkicker = new Solenoid(EJT_SOL_KICK);
	lw->AddActuator("Ejection", "kicker", ejectionkicker);

	visiongoalHot = new DigitalInput(VIS_DIN_HOT);

	visionLEDs = new Relay(VIS_REL_LED);
}
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	driveTrainLeftDrive = new CANJaguar(1);
	
	
	driveTrainRightDrive = new CANJaguar(2);
	
	driveTrainRight0Drive = new CANJaguar(3);
	
	driveTrainLeft0Drive = new CANJaguar(4);
	
	driveTrainRobotDrive = new RobotDrive(driveTrainLeftDrive, driveTrainRightDrive, driveTrainRight0Drive, driveTrainLeft0Drive);
	
	driveTrainRobotDrive->SetSafetyEnabled(false);
        driveTrainRobotDrive->SetExpiration(0.1);
        driveTrainRobotDrive->SetSensitivity(0.5);
        driveTrainRobotDrive->SetMaxOutput(1.0);
        
	collectorPacManIR = new DigitalInput(1, 4);
	lw->AddSensor("Collector", "PacManIR", collectorPacManIR);
	
	collectorPacManFeeder = new Victor(1, 3);
	lw->AddActuator("Collector", "PacManFeeder", (Victor*) collectorPacManFeeder);
	
	shootermainShooter = new CANJaguar(7);
	
	shooterTurret = new CANJaguar(5);
	
	shooteroneBitIREncoder = new DigitalInput(1, 6);
	lw->AddSensor("Shooter", "oneBitIREncoder", shooteroneBitIREncoder);
	
	shooterAngleEncoder = new AnalogChannel(1, 2);
	lw->AddSensor("Shooter", "AngleEncoder", shooterAngleEncoder);
	
	shooterAngleVictor = new Victor(1, 4);
	lw->AddActuator("Shooter", "AngleVictor", (Victor*) shooterAngleVictor);
	
	angleCheckWithGyroGyro1 = new Gyro(1, 1);
	lw->AddSensor("AngleCheckWithGyro", "Gyro 1", angleCheckWithGyroGyro1);
	//angleCheckWithGyroGyro1->SetSensitivity(0.007);
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	angleCheckWithGyroGyro1->Reset();
}
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	drivetrainleftfront = new CANJaguar(6);
	
	
	drivetrainleftrear = new CANJaguar(18);
	
	
	drivetrainrightfront = new CANJaguar(11);
	
	
	drivetrainrightrear = new CANJaguar(5);
	
	
	elevatorLeft = new CANJaguar(8);
	
	
	elevatorRight = new CANJaguar(4);
	
	
	elevatorPot = new AnalogChannel(1, 1);
	lw->AddSensor("Elevator", "Pot", elevatorPot);
	
	shooterFront = new CANJaguar(3);
	
	
	shooterRear = new CANJaguar(7);
	
	
	shifterLeft = new Servo(1, 1);
	lw->AddActuator("Shifter", "Left", shifterLeft);
	
	shifterRight = new Servo(1, 2);
	lw->AddActuator("Shifter", "Right", shifterRight);
	
	flopperFlopperSpike = new Relay(1, 1);
	lw->AddActuator("Flopper", "FlopperSpike", flopperFlopperSpike);
	
	flopperIRSensor = new DigitalInput(1, 1);
	lw->AddSensor("Flopper", "IRSensor", flopperIRSensor);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}
Beispiel #26
0
/**
 * Provide an alternate "main loop" via StartCompetition().
 *
 * This specific StartCompetition() implements "main loop" behavior like that of the FRC
 * control system in 2008 and earlier, with a primary (slow) loop that is
 * called periodically, and a "fast loop" (a.k.a. "spin loop") that is
 * called as fast as possible with no delay between calls.
 */
void IterativeRobot::StartCompetition()
{
	LiveWindow *lw = LiveWindow::GetInstance();
	// first and one-time initialization
	SmartDashboard::init();
	NetworkTable::GetTable("LiveWindow")->GetSubTable("~STATUS~")->PutBoolean("LW Enabled", false);
	RobotInit();

	// loop forever, calling the appropriate mode-dependent function
	lw->SetEnabled(false);
	while (true)
	{
		// Call the appropriate function depending upon the current robot mode
		if (IsDisabled())
		{
			// call DisabledInit() if we are now just entering disabled mode from
			// either a different mode or from power-on
			if(!m_disabledInitialized)
			{
				lw->SetEnabled(false);
				DisabledInit();
				m_disabledInitialized = true;
				// reset the initialization flags for the other modes
				m_autonomousInitialized = false;
                m_teleopInitialized = false;
                m_testInitialized = false;
			}
			if (NextPeriodReady())
			{
				// TODO: HALNetworkCommunicationObserveUserProgramDisabled();
				DisabledPeriodic();
			}
		}
		else if (IsAutonomous())
		{
			// call AutonomousInit() if we are now just entering autonomous mode from
			// either a different mode or from power-on
			if(!m_autonomousInitialized)
			{
				lw->SetEnabled(false);
				AutonomousInit();
				m_autonomousInitialized = true;
				// reset the initialization flags for the other modes
				m_disabledInitialized = false;
                m_teleopInitialized = false;
                m_testInitialized = false;
			}
			if (NextPeriodReady())
			{
				// TODO: HALNetworkCommunicationObserveUserProgramAutonomous();
				AutonomousPeriodic();
			}
		}
        else if (IsTest())
        {
            // call TestInit() if we are now just entering test mode from
            // either a different mode or from power-on
            if(!m_testInitialized)
            {
            	lw->SetEnabled(true);
                TestInit();
                m_testInitialized = true;
                // reset the initialization flags for the other modes
                m_disabledInitialized = false;
                m_autonomousInitialized = false;
                m_teleopInitialized = false;
            }
            if (NextPeriodReady())
            {
                // TODO: HALNetworkCommunicationObserveUserProgramTest();
                TestPeriodic();
            }
        }
		else
		{
			// call TeleopInit() if we are now just entering teleop mode from
			// either a different mode or from power-on
			if(!m_teleopInitialized)
			{
				lw->SetEnabled(false);
				TeleopInit();
				m_teleopInitialized = true;
				// reset the initialization flags for the other modes
				m_disabledInitialized = false;
                m_autonomousInitialized = false;
                m_testInitialized = false;
                Scheduler::GetInstance()->SetEnabled(true);
			}
			if (NextPeriodReady())
			{
				// TODO: HALNetworkCommunicationObserveUserProgramTeleop();
				TeleopPeriodic();
			}
		}
		// wait for driver station data so the loop doesn't hog the CPU
		m_ds.WaitForData();
	}
}
	virtual void TestPeriodic() {
		lw->Run();
		lw->AddActuator("Intake", "ramplifter", CommandBase::intake->getServo());
	}
// During every loop intervel of the test period
void Robot::TestPeriodic() {
	lw->Run();
}
Beispiel #29
0
	void TestPeriodic()
	{
		lw->Run();
	}
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=ALLOCATION
void RobotMap::init() {
	// BEGIN AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
	LiveWindow* lw = LiveWindow::GetInstance();
	drivetrainFrontRight = new Talon(1, 1);
	lw->AddActuator("Drivetrain", "Front Right", (Talon*) drivetrainFrontRight);
	
	drivetrainFrontLeft = new Talon(1, 2);
	lw->AddActuator("Drivetrain", "Front Left", (Talon*) drivetrainFrontLeft);
	
	drivetrainBackRight = new Talon(1, 3);
	lw->AddActuator("Drivetrain", "Back Right", (Talon*) drivetrainBackRight);
	
	drivetrainBackLeft = new Talon(1, 4);
	lw->AddActuator("Drivetrain", "Back Left", (Talon*) drivetrainBackLeft);
	
	drivetrainDrivetrain = new RobotDrive(drivetrainFrontLeft, drivetrainBackLeft,
              drivetrainFrontRight, drivetrainBackRight);
	
	drivetrainDrivetrain->SetSafetyEnabled(true);
        drivetrainDrivetrain->SetExpiration(0.1);
        drivetrainDrivetrain->SetSensitivity(0.5);
        drivetrainDrivetrain->SetMaxOutput(1.0);
	shooterDiskPusher = new Relay(1, 1);
	lw->AddActuator("Shooter", "Disk Pusher", shooterDiskPusher);
	
	shooterShooterEncoder = new GearTooth(1, 1, false);
	lw->AddSensor("Shooter", "Shooter Encoder", shooterShooterEncoder);
	
	shooterShooterTalon1 = new Talon(1, 5);
	lw->AddActuator("Shooter", "Shooter Talon 1", (Talon*) shooterShooterTalon1);
	
	shooterShooterTalon2 = new Talon(1, 6);
	lw->AddActuator("Shooter", "Shooter Talon 2", (Talon*) shooterShooterTalon2);
	
	shooterPusherStopSwitch = new DigitalInput(1, 2);
	lw->AddSensor("Shooter", "Pusher Stop Switch", shooterPusherStopSwitch);
	
	climberClimberTalon1 = new Talon(1, 7);
	lw->AddActuator("Climber", "Climber Talon 1", (Talon*) climberClimberTalon1);
	
	climberClimberBeltSystem = new Relay(1, 2);
	lw->AddActuator("Climber", "Climber Belt System", climberClimberBeltSystem);
	
	climberDiskStopper1 = new Servo(1, 9);
	lw->AddActuator("Climber", "Disk Stopper 1", climberDiskStopper1);
	
	climberDiskStopper2 = new Servo(1, 10);
	lw->AddActuator("Climber", "Disk Stopper 2", climberDiskStopper2);
	
    // END AUTOGENERATED CODE, SOURCE=ROBOTBUILDER ID=CONSTRUCTORS
}