def __init__(self, physics_controller): ''' :param physics_controller: `pyfrc.physics.core.PhysicsInterface` object to communicate simulation effects to ''' self.physics_controller = physics_controller self.position = 0 self.physics_controller.add_device_gyro_channel('adxrs450_spi_0_angle') targets = [ # right VisionSim.Target(15, 13, 250, 0), # middle VisionSim.Target(16.5, 15.5, 295, 65), # left VisionSim.Target(15, 18, 0, 110) ] self.vision = VisionSim(targets, 61.0, 1.5, 15, 15, physics_controller=physics_controller)
def __init__(self, physics_controller): ''' :param physics_controller: `pyfrc.physics.core.PhysicsInterface` object to communicate simulation effects to ''' self.physics_controller = physics_controller self.position = 0 self.ft_per_sec = 5 self.wheel_circumference = 18.8 self.physics_controller.add_device_gyro_channel('adxrs450_spi_0_angle') if VisionSim is not None: targets = [ # right VisionSim.Target(16, 12, 250, 20), # angle is 122.23 # middle VisionSim.Target(18.5, 16, 295, 65), # angle is 180 # left VisionSim.Target(16, 20, 320, 110), # angle is -142 ] self.vision = VisionSim(targets, 61.0, 1.5, 15, 15, physics_controller=self.physics_controller) else: self.vision = None
def __init__(self, physics_controller): """ The constructor must take the following arguments: :param physics_controller: The physics controller interface :type physics_controller: :class:`.PhysicsInterface` """ self.physics_controller = physics_controller self.position = 0 self.physics_controller.add_device_gyro_channel("navxmxp_spi_4_angle") # Change these parameters to fit your robot! bumper_width = 3.25 * units.inch self.drivetrain = tankmodel.TankModel.theory( motor_cfgs.MOTOR_CFG_CIM, # motor configuration 137 * units.lbs, # robot mass 1 / 75, # drivetrain gear ratio 2, # motors per side 35 * units.inch, # robot wheelbase 29 * units.inch + bumper_width * 2, # robot width 29 * units.inch + bumper_width * 2, # robot length 8 * units.centimeter, # wheel diameter ) # Precompute the encoder constant # -> encoder counts per revolution / wheel circumference self.kEncoder = (4096) / (.08 * math.pi) self.l_distance = 0 self.r_distance = 0 targets = [ # right VisionSim.Target(15, 13, 250, 0), # middle VisionSim.Target(16.5, 15.5, 295, 65), # left VisionSim.Target(15, 18, 0, 110), VisionSim.Target(10, 25, 250, 0), ] self.vision = VisionSim(targets, 61.0, 1.5, 20, 15, physics_controller=physics_controller)
def initialize(self, hal_data): self.visionTable = NetworkTables.getTable('limelight') self.visionTable.putNumber('tv', 1) self.visionTable.putNumber('tx', 0) self.visionTable.putNumber('ty', 0) self.visionTable.putNumber('ts', 0) self.visionTable.putNumber('ta', 5) visionTarget = VisionSim.Target(self.visionX, self.visionY, self.visionAngleStart, self.visionAngleEnd) self.visionSim = VisionSim([visionTarget], 60, 2, 50) hal_data['alliance_station'] = self.allianceStation
def initialize(self, hal_data): self.visionTable = NetworkTables.getTable('limelight') self.visionTable.putNumber('tv', 1) # some arbitrary default vision data self.visionTable.putNumber('tx', 0) self.visionTable.putNumber('ty', 0) self.visionTable.putNumber('ts', 0) self.visionTable.putNumber('ta', 5) visionTarget = VisionSim.Target(self.visionX, self.visionY, self.visionAngleStart, self.visionAngleEnd) self.visionSim = VisionSim([visionTarget], 60, 2, 50) hal_data['alliance_station'] = self.allianceStation self._drivePositionState = None ctre.TalonSRX._use_notifier = False # speed up position mode in simulator by a lot
def __init__(self, physics_controller): """ :param physics_controller: `pyfrc.physics.core.Physics` object to communicate simulation effects to """ self.physics_controller = physics_controller self.position = 0 self.physics_controller.add_device_gyro_channel("navxmxp_i2c_1_angle") self.physics_controller.add_device_gyro_channel("navxmxp_spi_4_angle") targets = [ #everything on the left side of the field VisionSim.Target(18.5, 12.5, 90, 270), # front cargo VisionSim.Target(0, 2, -90, 90), # pickup station VisionSim.Target(22, 11.25, 180, 360), # cargo side 1 VisionSim.Target(23.75, 11.25, 180, 360), # cargo side 2 VisionSim.Target(25.5, 11.25, 180, 360), # cargo side 3 VisionSim.Target(17.5, 2, 90 - 29, 90 - 29 + 180), # rocket fromt VisionSim.Target(21, 2, -90 + 29, -90 + 29 + 180), # rocket back #everything on the left side of the field VisionSim.Target(18.5, 27 - 12.5, 90, 270), # front cargo VisionSim.Target(0, 27 - 2, -90, 90), # pickup station VisionSim.Target(22, 27 - 11.25, 0, 180), # cargo side 1 VisionSim.Target(23.75, 27 - 11.25, 0, 180), # cargo side 2 VisionSim.Target(25.5, 27 - 11.25, 0, 180), # cargo side 3 VisionSim.Target(17.5, 27 - 2, 90 + 29, 90 + 29 + 180), # rocket fromt VisionSim.Target(21, 27 - 2, -90 - 29, -90 - 29 + 180), # rocket back VisionSim.Target(18.5, 14.5, 90, 270), # front right cargo ] self.vision = VisionSim( targets, 61.0, #camera FOV .1, #close limit (ft) 10, #far limit (ft) 15, #update rate (hz) physics_controller=physics_controller)