Пример #1
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.l_motor = wpilib.Jaguar(1)
        self.r_motor = wpilib.Jaguar(2)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(0)

        self.drive = wpilib.drive.DifferentialDrive(self.l_motor, self.r_motor)

        self.motor = wpilib.Jaguar(4)

        self.limit1 = wpilib.DigitalInput(1)
        self.limit2 = wpilib.DigitalInput(2)

        self.position = wpilib.AnalogInput(2)
        self.left_encoder = wpilib.Encoder(1, 2)
        self.right_encoder = wpilib.Encoder(3, 4)

        self.kinematics = DifferentialDriveKinematics(TRACK_WIDTH)
        self.chassis_speeds = ChassisSpeeds()
        self.chassis_speeds.vx = 0.0
        self.chassis_speeds.omega = 0.0

        if is_sim:
            self.physics = physics.PhysicsEngine()
            self.last_tm = time.time()
Пример #2
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.l_motor = wpilib.Jaguar(1)
        self.r_motor = wpilib.Jaguar(2)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(1)

        self.drive = wpilib.drive.DifferentialDrive(self.l_motor, self.r_motor)

        self.motor = wpilib.Jaguar(4)

        self.limit1 = wpilib.DigitalInput(1)
        self.limit2 = wpilib.DigitalInput(2)

        self.position = wpilib.AnalogInput(2)

        self.leftEncoder = wpilib.Encoder(0, 1)
        self.leftEncoder.setDistancePerPulse(
            (self.WHEEL_DIAMETER) / self.ENCODER_COUNTS_PER_REV)
        self.leftEncoder.setSimDevice(0)

        self.rightEncoder = wpilib.Encoder(3, 4)
        self.rightEncoder.setDistancePerPulse(
            (self.WHEEL_DIAMETER) / self.ENCODER_COUNTS_PER_REV)
Пример #3
0
	def __init__(self):
		super().__init__()

		self.arm_motor = wpilib.Jaguar(4)
		self.claw = wpilib.Jaguar(5)

		self.max_sensor = wpilib.DigitalInput(6)
Пример #4
0
 def __init__(self, robot, name=None):
     '''Initialize'''
     super().__init__(name=name)
     self.robot = robot
     self.gyro = wpilib.AnalogGyro(1)
     self.left_motor = wpilib.Jaguar(1)
     self.right_motor = wpilib.Jaguar(2)
     self.robot_drive = wpilib.RobotDrive(self.left_motor, self.right_motor)
Пример #5
0
    def robotInit(self):
        """
		This function is called upon program startup and
		should be used for any initialization code.
		"""
        self.robot_drive = wpilib.RobotDrive(0, 1, 2, 3)
        self.cannon1 = wpilib.Jaguar(4)
        self.cannon2 = wpilib.Jaguar(5)
        self.stick = wpilib.Joystick(1)
Пример #6
0
    def robotInit(self):
        """
		This function is called upon program startup and
		should be used for any initialization code.
		"""
        self.shootbot = wpilib.Jaguar(4)
        self.spiderbot = wpilib.Jaguar(5)
        self.spiderbot1 = wpilib.Jaguar(6)
        self.robot_drive = wpilib.RobotDrive(0, 3)
        self.stick = wpilib.Joystick(1)
        self.brazito = wpilib.Jaguar(7)
Пример #7
0
    def createObjects(self):
        self.driveStick = xbox_controller.XboxController(0)

        # If the robot is a simulation
        if MyRobot.isSimulation():
            # Change motors to default jaguars
            self.lf_motor = wpilib.Jaguar(1)
            self.lr_motor = wpilib.Jaguar(2)
            self.rf_motor = wpilib.Jaguar(3)
            self.rr_motor = wpilib.Jaguar(4)
        # Set up drive train
        self.drive = wpilib.RobotDrive(self.lf_motor, self.lr_motor,
                                       self.rf_motor, self.rr_motor)
Пример #8
0
    def robotInit(self):
        """Robot initialization function.  The Low level is to use the brushless function on the controllers."""
        self.sd = NetworkTables.getTable("SmartDashboard")

        self.timer = wpilib.Timer()

        #
        # Communicate w/navX MXP via the MXP SPI Bus.
        # - Alternatively, use the i2c bus.
        # See http://navx-mxp.kauailabs.com/guidance/selecting-an-interface/ for details
        #

        self.navx = navx.AHRS.create_spi()
        # self.navx = navx.AHRS.create_i2c()

        if wpilib.RobotBase.isSimulation():
            self.frontLeftMotor = wpilib.Jaguar(self.frontLeftChannel)
            self.rearLeftMotor = wpilib.Jaguar(self.rearLeftChannel)
            self.frontRightMotor = wpilib.Jaguar(self.frontRightChannel)
            self.rearRightMotor = wpilib.Jaguar(self.rearRightChannel)

        else:
            self.frontLeftMotor = rev.CANSparkMax(
                self.frontLeftChannel,
                rev.CANSparkMaxLowLevel.MotorType.kBrushless)
            self.rearLeftMotor = rev.CANSparkMax(
                self.rearLeftChannel,
                rev.CANSparkMaxLowLevel.MotorType.kBrushless)
            self.frontRightMotor = rev.CANSparkMax(
                self.frontRightChannel,
                rev.CANSparkMaxLowLevel.MotorType.kBrushless)
            self.rearRightMotor = rev.CANSparkMax(
                self.rearRightChannel,
                rev.CANSparkMaxLowLevel.MotorType.kBrushless)

        # invert the left side motors
        self.rearRightMotor.setInverted(False)

        # you may need to change or remove this to match your robot
        self.rearLeftMotor.setInverted(False)

        self.drive = MecanumDrive(
            self.frontLeftMotor,
            self.frontRightMotor,
            self.rearLeftMotor,
            self.rearRightMotor,
        )

        self.drive.setExpiration(0.1)

        self.stick = wpilib.XboxController(self.joystickChannel)
Пример #9
0
    def robotInit(self):
        """initialises robot as a mecanum drive bot w/ 2 joysticks and a camera"""
        #want to change this to Xbox 360 controller eventually... probably sooner rather
        #than later.
        #
        #This is for a USB camera. Uncomment it if we aren't using the Axis.
        self.camera = wpilib.USBCamera()
        self.camera.setExposureManual(50)
        self.camera.setBrightness(80)
        self.camera.updateSettings()
        self.camera.setFPS(10)
        self.camera.setSize(320, 240)
        self.camera.setWhiteBalanceAuto()
        #self.camera.setQuality(30)

        server = wpilib.CameraServer.getInstance()
        server.startAutomaticCapture(self.camera)

        self.drive = wpilib.RobotDrive(3, 1, 2, 0)
        self.drive.setExpiration(0.1)

        self.stick_left = wpilib.Joystick(0)
        self.stick_right = wpilib.Joystick(1)

        self.drive.setInvertedMotor(self.drive.MotorType.kFrontRight, True)
        self.drive.setInvertedMotor(self.drive.MotorType.kRearRight, True)

        #self.gyro = wpilib.Gyro(0)

        self.aux_left = wpilib.Jaguar(6)
        self.aux_right = wpilib.Jaguar(4)
        self.window_motor = wpilib.Jaguar(5)

        self.smart_dashboard = NetworkTable.getTable("SmartDashboard")

        self.mast_pot = wpilib.AnalogPotentiometer(0)
        self.grabba_pot = wpilib.AnalogPotentiometer(1)
        self.lift_pot = wpilib.AnalogPotentiometer(2)

        def aux_combined(output):
            """use for PID control"""
            self.aux_left.pidWrite(output)
            self.aux_right.pidWrite(output)

        self.grabba_pid = wpilib.PIDController(4, 0.07, 0, self.grabba_pot.pidGet, self.window_motor.pidWrite)
        self.grabba_pid.disable()

        self.lift_pid = wpilib.PIDController(4, 0.07, 0, self.lift_pot.pidGet, aux_combined)
        self.lift_pid.disable()
Пример #10
0
    def robotInit(self):
        """Robot-wide initialization code should go here."""
        self.lstick = wpilib.Joystick(1)
        self.motor = wpilib.Jaguar(3)

        self.timer = wpilib.Timer()
        self.loops = 0
Пример #11
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.lr_motor = wpilib.Jaguar(1)
        self.rr_motor = wpilib.Jaguar(2)
        self.lf_motor = wpilib.Jaguar(3)
        self.rf_motor = wpilib.Jaguar(4)

        self.robot_drive = wpilib.RobotDrive(self.lf_motor, self.lr_motor,
                                             self.rf_motor, self.rr_motor)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(1)
Пример #12
0
    def __init__(self, port, jaguar, slot=4):
        print("speed_con obj on port " + str(port) + " active")

        if jaguar == True:
            self.vic = wpi.Jaguar(port)
            print("is jaguar\n")
        else:
            self.vic = wpi.Victor(port)
            print("is victor\n")
Пример #13
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.lf_motor = wpilib.Jaguar(1)
        self.lr_motor = wpilib.Jaguar(2)
        self.rf_motor = wpilib.Jaguar(3)
        self.rr_motor = wpilib.Jaguar(4)

        l_motor = wpilib.SpeedControllerGroup(self.lf_motor, self.lr_motor)
        r_motor = wpilib.SpeedControllerGroup(self.rf_motor, self.rr_motor)

        self.drive = wpilib.drive.DifferentialDrive(l_motor, r_motor)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(1)
Пример #14
0
    def robotInit(self):
        """
        This function is called upon program startup and
        should be used for any initialization code.
        """
        self.stick = wpilib.Joystick(1)
        self.drive = wpilib.RobotDrive(0, 1, 2, 3)
        self.gyro = wpilib.Gyro(0)
        self.lift1 = wpilib.Jaguar(4)
        self.lift2 = wpilib.Jaguar(5)
        #self.backclaw = wpilib.Jaguar(7)
        self.encoder = wpilib.Encoder(1, 2)
        self.encoder.setDistancePerPulse(0.333)
        self.compressor = wpilib.Compressor()
        self.squeeze = wpilib.DoubleSolenoid(0, 1)

        self.RobotDrive.setInvertedMotor(2, True)
        self.RobotDrive.setInvertedMotor(3, True)
Пример #15
0
    def robotInit(self):
        '''Robot-wide initialization code should go here'''

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.l_motor = wpilib.Jaguar(1)
        self.r_motor = wpilib.Jaguar(2)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.ADXRS450_Gyro()

        self.robot_drive = wpilib.RobotDrive(self.l_motor, self.r_motor)

        self.motor = wpilib.Jaguar(4)

        self.limit1 = wpilib.DigitalInput(1)
        self.limit2 = wpilib.DigitalInput(2)

        self.position = wpilib.AnalogInput(2)
Пример #16
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.l_motor = wpilib.Jaguar(1)
        self.r_motor = wpilib.Jaguar(2)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(1)

        self.drive = wpilib.drive.DifferentialDrive(self.l_motor, self.r_motor)

        self.motor = wpilib.Jaguar(4)

        self.limit1 = wpilib.DigitalInput(1)
        self.limit2 = wpilib.DigitalInput(2)

        self.position = wpilib.AnalogInput(2)
Пример #17
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(0)
        self.rstick = wpilib.Joystick(1)

        self.l_motor = wpilib.Jaguar(1)
        self.r_motor = wpilib.Jaguar(2)

        # Position gets automatically updated as robot moves
        self.gyro = wpilib.AnalogGyro(1)

        self.robot_drive = wpilib.RobotDrive(self.l_motor, self.r_motor)

        self.motor = wpilib.Jaguar(4)

        self.light_sensor_left = wpilib.DigitalInput(1)
        self.light_sensor_middle = wpilib.DigitalInput(2)
        self.light_sensor_right = wpilib.DigitalInput(3)

        self.position = wpilib.AnalogInput(2)
Пример #18
0
 def robotInit(self):
     '''Robot-wide initialization code should go here'''
     
     self.lstick = wpilib.Joystick(0)
     self.rstick = wpilib.Joystick(1)
     
     self.lr_motor = wpilib.Jaguar(1)
     self.rr_motor = wpilib.Jaguar(2)
     self.lf_motor = wpilib.Jaguar(3)
     self.rf_motor = wpilib.Jaguar(4)
     
     self.robot_drive = wpilib.RobotDrive(self.lf_motor, self.lr_motor,
                                          self.rf_motor, self.rr_motor)
     
     # The output function of a mecanum drive robot is always
     # +1 for all output wheels. However, traditionally wired
     # robots will be -1 on the left, 1 on the right.
     self.robot_drive.setInvertedMotor(wpilib.RobotDrive.MotorType.kFrontLeft, True)
     self.robot_drive.setInvertedMotor(wpilib.RobotDrive.MotorType.kRearLeft, True)
     
     # Position gets automatically updated as robot moves
     self.gyro = wpilib.AnalogGyro(1)
Пример #19
0
    def robotInit(self):
        """
        This function is called upon program startup and
        should be used for any initialization code.
        """
        self.left_motor = wpilib.Spark(0)  #pwm 0
        self.right_motor = wpilib.Spark(1)  #pwm 1
        self.drive = wpilib.drive.DifferentialDrive(self.left_motor,
                                                    self.right_motor)
        self.joystick = wpilib.Joystick(0)
        self.timer = wpilib.Timer()
        self.forwardLimitSwitch = wpilib.DigitalInput(3)  #pwm 3
        self.reverseLimitSwitch = wpilib.DigitalInput(4)  #pwm 4
        self.arm = wpilib.Spark(5, 6)  #pwm 5 and 6

        self.spinner1 = wpilib.Jaguar(2)  #pwm 2

        self.toggle = (self.joystick, 1)
Пример #20
0
    class ShooterConfig(object):
        motors = wpilib.Jaguar(3)
        
        shoot_button = Button(rightJoy, 1)
        manual_reset_button = Button(rightJoy, 4)

        low_shot_preset_button = Button(rightJoy, 8)
        high_shot_preset_button = Button(rightJoy, 7)

        reset_hall_effect = HallEffect(wpilib.DigitalInput(6))

        preset_hall_effect_counters = []

        low_shot_hall_effect_counter = wpilib.Counter()
        low_shot_hall_effect_counter.SetUpSource(7)
        low_shot_hall_effect_counter.SetUpSourceEdge(False, True)
        low_shot_hall_effect_counter.Start()        

        high_shot_hall_effect_counter = wpilib.Counter()
        high_shot_hall_effect_counter.SetUpSource(8)
        high_shot_hall_effect_counter.SetUpSourceEdge(False, True)
        high_shot_hall_effect_counter.Start()
Пример #21
0
    def __init__(self):
        super().__init__()

        self.drive_stick = wpilib.Joystick(1)
        self.arm_stick = wpilib.Joystick(2)

        self.front_right_motor = wpilib.Jaguar(2)
        self.front_left_motor = wpilib.Jaguar(1)
        self.back_left_motor = wpilib.Jaguar(3)
        self.back_right_motor = wpilib.Jaguar(4)

        self.intake_wheels_motor = wpilib.Jaguar(10)
        self.intake_arm_motor = wpilib.Jaguar(6)

        self.shooter_servo = wpilib.Servo(7)
        self.shooter_motor = wpilib.Jaguar(5)
        self.encoder = wpilib.Encoder(1, 2, True)

        self.mecanum_drive = MecanumDrive(self.front_right_motor,
                                          self.front_left_motor,
                                          self.back_right_motor,
                                          self.back_left_motor,
                                          self.drive_stick)

        self.intake = Intake(self.intake_wheels_motor, self.intake_arm_motor,
                             self.arm_stick)

        self.shooter_service = ShooterService(self.shooter_motor,
                                              self.shooter_servo,
                                              self.arm_stick)

        self.shooter = Shooter(self.shooter_motor, self.encoder,
                               self.shooter_servo, self.arm_stick,
                               self.shooter_service)

        self.autonomous = Autonomous(self.shooter_service,
                                     self.intake_arm_motor,
                                     self.front_left_motor,
                                     self.front_right_motor,
                                     self.back_left_motor,
                                     self.back_right_motor)
Пример #22
0
 def robotInit(self):
     #Motor controllers, joysticks, and setting up the drive type
     self.motor1=wpilib.Jaguar(0)
     self.motor2=wpilib.Jaguar(1)
     self.slide_motor=wpilib.Jaguar(2)
     self.non_existant_motor=wpilib.Jaguar(4)
     self.tryit=wpilib.Jaguar(6)
     self.red=wpilib.Jaguar(9)
     self.blue=wpilib.Jaguar(8)
     self.green=wpilib.Jaguar(7)
     self.robot_drive = wpilib.RobotDrive(self.motor2,self.motor1)
     self.stick1 = wpilib.Joystick(0)
     self.joystick_button=wpilib.buttons.JoystickButton(self.stick1, 1)
     
     self.lights=wpilib.buttons.JoystickButton(self.stick1, 2)
     #All our clicky switches
     self.clicky1=wpilib.DigitalInput(9)
     self.clicky2=wpilib.DigitalInput(8)
     self.clicky3=wpilib.DigitalInput(7)
     wpilib.SmartDashboard.putBoolean("Clicky1",self.clicky1.get())
     self.chooser=wpilib.SendableChooser()
     self.chooser.addObject("Auto 1","1")
     wpilib.SmartDashboard.putData('What Automous', self.chooser)
     self.counter=0
Пример #23
0
    def __init__(self):
        super().__init__()

        print("Matt the fantastic ultimate wonderful humble person")
        wpilib.SmartDashboard.init()
        #self.digitalInput=wpilib.DigitalInput(4)
        self.CANJaguar = wpilib.CANJaguar(1)
        self.gyro = wpilib.Gyro(1)
        self.joystick = wpilib.Joystick(1)
        self.joystick2 = wpilib.Joystick(2)
        self.jaguar = wpilib.Jaguar(1)
        self.accelerometer = wpilib.ADXL345_I2C(1,
                                                wpilib.ADXL345_I2C.kRange_2G)
        self.solenoid = wpilib.Solenoid(7)
        self.solenoid2 = wpilib.Solenoid(8)
        self.p = 1
        self.i = 0
        self.d = 0
        wpilib.SmartDashboard.PutBoolean('Soleinoid 1', False)
        wpilib.SmartDashboard.PutBoolean('Soleinoid 2', False)
        #self.pid = wpilib.PIDController(self.p, self.i, self.d, self.gyro, self.jaguar)
        self.sensor = wpilib.AnalogChannel(5)
        self.ballthere = False
Пример #24
0
import wpilib
import math

lstick = wpilib.Joystick(1)
rstick = wpilib.Joystick(2)

lmotor2 = wpilib.Jaguar(1, 4)
lmotor = wpilib.Jaguar(1, 3)
rmotor = wpilib.Jaguar(1, 2)
rmotor2 = wpilib.Jaguar(1, 1)
#roboDR = wpilib.RobotDrive(lmotor,rmotor)
# victors 4 and 1 are burnt


def CheckRestart():
    if lstick.GetRawButton(10):
        raise RuntimeError("Restart")


class MyRobot(wpilib.IterativeRobot):
    def DisabledContinuous(self):
        wpilib.Wait(0.01)

    def AutonomousContinuous(self):
        wpilib.Wait(0.01)

    def TeleopContinuous(self):
        wpilib.Wait(0.01)
        #lmotor.Set(lstick.GetY())
        #rmotor.Set(-rstick.GetY())
        #left=lstick.GetY()
Пример #25
0
def create_jaguar(channel):
    return wpilib.Jaguar(channel)
Пример #26
0
    def __init__ (self):
        '''
            Constructor. 
        '''
        
        super().__init__()
        
        print("Team 1418 robot code for 2014")
        
        #################################################################
        # THIS CODE IS SHARED BETWEEN THE MAIN ROBOT AND THE ELECTRICAL #
        # TEST CODE. WHEN CHANGING IT, CHANGE BOTH PLACES!              #
        #################################################################
        
       
        wpilib.SmartDashboard.init()
        
        
        # Joysticks
        
        self.joystick1 = wpilib.Joystick(1)
        self.joystick2 = wpilib.Joystick(2)
        
        # Motors
        
        self.lf_motor = wpilib.Jaguar(1)
        self.lf_motor.label = 'lf_motor'
        
        self.lr_motor = wpilib.Jaguar(2)
        self.lr_motor.label = 'lr_motor'
        
        self.rr_motor = wpilib.Jaguar(3)
        self.rr_motor.label = 'rr_motor'
        
        self.rf_motor = wpilib.Jaguar(4)
        self.rf_motor.label = 'rf_motor'
        
        self.winch_motor = wpilib.CANJaguar(5)
        self.winch_motor.label = 'winch'
        
        self.intake_motor = wpilib.Jaguar(6)
        self.intake_motor.label = 'intake'
        
        # Catapult gearbox control
        self.gearbox_solenoid=wpilib.DoubleSolenoid(2, 1)
        self.gearbox_solenoid.label = 'gearbox'
        
        # Arm up/down control
        self.vent_bottom_solenoid = wpilib.Solenoid(3)
        self.vent_bottom_solenoid.label = 'vent bottom'
        
        self.fill_bottom_solenoid = wpilib.Solenoid(4)
        self.fill_bottom_solenoid.label = 'fill bottom'
        
        self.fill_top_solenoid = wpilib.Solenoid(5)
        self.fill_top_solenoid.label = 'fill top'
        
        self.vent_top_solenoid = wpilib.Solenoid(6)
        self.vent_top_solenoid.label = 'vent top'
        
        self.pass_solenoid = wpilib.Solenoid(7)
        self.pass_solenoid.label = 'pass'
        
        self.robot_drive = wpilib.RobotDrive(self.lr_motor, self.rr_motor, self.lf_motor, self.rf_motor)
        self.robot_drive.SetSafetyEnabled(False)
        
        self.robot_drive.SetInvertedMotor(wpilib.RobotDrive.kFrontLeftMotor, True)
        self.robot_drive.SetInvertedMotor(wpilib.RobotDrive.kRearLeftMotor, True)
        
        # Sensors
        
        self.gyro = wpilib.Gyro(1)
        
        self.ultrasonic_sensor = wpilib.AnalogChannel(3)
        self.ultrasonic_sensor.label = 'Ultrasonic'
        
        self.arm_angle_sensor = wpilib.AnalogChannel(4)
        self.arm_angle_sensor.label = 'Arm angle'
        
        self.ball_sensor = wpilib.AnalogChannel(6)
        self.ball_sensor.label = 'Ball sensor'
        
        self.accelerometer = wpilib.ADXL345_I2C(1, wpilib.ADXL345_I2C.kRange_2G)
        
        self.compressor = wpilib.Compressor(1,1)
        
        #################################################################
        #                      END SHARED CODE                          #
        #################################################################
        
        #
        # Initialize robot components here
        #
        
        
        self.drive = drive.Drive(self.robot_drive, self.ultrasonic_sensor,self.gyro)
        
        self.initSmartDashboard()
        
        

        self.pushTimer=wpilib.Timer()
        self.catapultTimer=wpilib.Timer()
        self.catapult=catapult.Catapult(self.winch_motor,self.gearbox_solenoid,self.pass_solenoid,self.arm_angle_sensor,self.ball_sensor,self.catapultTimer)
        
        self.intakeTimer=wpilib.Timer()
        self.intake=intake.Intake(self.vent_top_solenoid,self.fill_top_solenoid,self.fill_bottom_solenoid,self.vent_bottom_solenoid,self.intake_motor,self.intakeTimer)
        
        self.pulldowntoggle=False
        
        self.components = {
            'drive': self.drive,
            'catapult': self.catapult,
            'intake': self.intake                   
        }
        
        self.control_loop_wait_time = 0.025
        self.autonomous = AutonomousModeManager(self.components)
Пример #27
0
    def __init__(self):
        ''' initialize things'''
        super().__init__()

        print("Electrical test program -- don't use for competition!")

        #################################################################
        # THIS CODE IS SHARED BETWEEN THE MAIN ROBOT AND THE ELECTRICAL #
        # TEST CODE. WHEN CHANGING IT, CHANGE BOTH PLACES!              #
        #################################################################

        wpilib.SmartDashboard.init()

        # Joysticks

        self.joystick1 = wpilib.Joystick(1)
        self.joystick2 = wpilib.Joystick(2)

        # Motors

        self.lf_motor = wpilib.Jaguar(1)
        self.lr_motor = wpilib.Jaguar(2)
        self.rr_motor = wpilib.Jaguar(3)
        self.rf_motor = wpilib.Jaguar(4)

        self.winch_motor = wpilib.CANJaguar(5)
        self.intake_motor = wpilib.Jaguar(6)

        # Catapult gearbox control
        self.gearbox_in_solenoid = wpilib.Solenoid(1)
        self.gearbox_out_solenoid = wpilib.Solenoid(2)

        # Arm up/down control
        self.vent_bottom_solenoid = wpilib.Solenoid(3)
        self.fill_bottom_solenoid = wpilib.Solenoid(4)
        self.fill_top_solenoid = wpilib.Solenoid(5)
        self.vent_top_solenoid = wpilib.Solenoid(6)
        self.solenoid6 = wpilib.Solenoid(7)
        self.ball_nudge_solenoid = wpilib.Solenoid(8)

        self.robot_drive = wpilib.RobotDrive(self.lr_motor, self.rr_motor,
                                             self.lf_motor, self.rf_motor)
        self.robot_drive.SetSafetyEnabled(False)

        self.robot_drive.SetInvertedMotor(wpilib.RobotDrive.kFrontLeftMotor,
                                          True)
        self.robot_drive.SetInvertedMotor(wpilib.RobotDrive.kRearLeftMotor,
                                          True)

        # Sensors

        self.gyro = wpilib.Gyro(1)

        self.ultrasonic_sensor = wpilib.AnalogChannel(3)
        self.arm_angle_sensor = wpilib.AnalogChannel(4)
        self.ball_sensor = wpilib.AnalogChannel(6)
        self.accelerometer = wpilib.ADXL345_I2C(1,
                                                wpilib.ADXL345_I2C.kRange_2G)

        self.compressor = wpilib.Compressor(1, 1)
        self.compressor.Start()
Пример #28
0
    def robotInit(self):
        """Robot-wide initialization code should go here"""

        self.lstick = wpilib.Joystick(1)
        self.motor = wpilib.Jaguar(8)