Maurice 2025
Team 668's robot for Reefscape
Loading...
Searching...
No Matches
PhysicsEngine Class Reference

Public Member Functions

 __init__ (self, PhysicsInterface physics_controller, "MyRobot" robot)
 
None update_sim (self, float now, float tm_diff)
 

Public Attributes

 arm_gearbox = DCMotor.krakenX60()
 
 arm_motor = self.robot.score.arm.motor.sim_state
 
 arm_physics_model
 
 armMech2d
 
 elevator_gearbox = DCMotor.krakenX60(2)
 
 elevator_physics_model
 
 elevatorMech2d
 
list elevatorMotors
 
 mech2d = Mechanism2d(50, 50)
 
 physics_controller = physics_controller
 
 robot = robot.container
 
 root = self.mech2d.getRoot("Root", 10, 0)
 
 sim_arm_model
 
 sim_elevator_model
 

Detailed Description

Simulates a swerve robot

Constructor & Destructor Documentation

◆ __init__()

__init__ ( self,
PhysicsInterface physics_controller,
"MyRobot" robot )
:param physics_controller: `pyfrc.physics.core.Physics` object
                           to communicate simulation effects to
:param robot: your robot object

Member Function Documentation

◆ update_sim()

None update_sim ( self,
float now,
float tm_diff )
Called when the simulation parameters for the program need to be
updated.

:param now: The current time as a float
:param tm_diff: The amount of time that has passed since the last
                time that this function was called

Member Data Documentation

◆ arm_gearbox

arm_gearbox = DCMotor.krakenX60()

◆ arm_motor

arm_motor = self.robot.score.arm.motor.sim_state

◆ arm_physics_model

arm_physics_model
Initial value:
= sim.SingleJointedArmSim(
system = LinearSystemId.singleJointedArmSystem(
motor = self.arm_gearbox,
J = .0001,
gearing = 1.0
),
gearbox = self.elevator_gearbox,
gearing = 1,
armLength = units.inchesToMeters(24),
minAngle = units.degreesToRadians(-7),
maxAngle = units.degreesToRadians(187),
simulateGravity = True,
startingAngle = units.degreesToRadians(90)
)

◆ armMech2d

armMech2d
Initial value:
= self.elevatorMech2d.appendLigament(
"Arm", 24, self.arm_physics_model.getAngleDegrees(), color = Color8Bit("#992200")
)

◆ elevator_gearbox

elevator_gearbox = DCMotor.krakenX60(2)

◆ elevator_physics_model

elevator_physics_model
Initial value:
= sim.ElevatorSim(
plant = LinearSystemId.elevatorSystem(
motor = self.elevator_gearbox,
mass = 9.3,
radius = units.inchesToMeters(1.79/2),
gearing = 7
),
gearbox = self.elevator_gearbox,
minHeight = 1,
maxHeight = units.inchesToMeters(30),
simulateGravity=True,
startingHeight=1,
measurementStdDevs=[0.0, 0.0]
)

◆ elevatorMech2d

elevatorMech2d
Initial value:
= self.root.appendLigament(
"Elevator", self.elevator_physics_model.getPositionInches(), 90
)

◆ elevatorMotors

list elevatorMotors
Initial value:
= [
self.robot.score.elevator.motor.sim_state,
self.robot.score.elevator.follower.sim_state
]

◆ mech2d

mech2d = Mechanism2d(50, 50)

◆ physics_controller

physics_controller = physics_controller

◆ robot

robot = robot.container

◆ root

root = self.mech2d.getRoot("Root", 10, 0)

◆ sim_arm_model

sim_arm_model
Initial value:
= sim.DCMotorSim(
plant = LinearSystemId.DCMotorSystem( self.arm_gearbox, .0001, 1 ),
gearbox = self.arm_gearbox,
measurementStdDevs = [0.01,0]
)

◆ sim_elevator_model

sim_elevator_model
Initial value:
= sim.DCMotorSim(
plant = LinearSystemId.DCMotorSystem( self.elevator_gearbox, .0001, 7),
gearbox = self.elevator_gearbox,
measurementStdDevs = [0.01,0]
)

The documentation for this class was generated from the following file: