Refactor the robot drivetrain classes (SimMotor, SimRobotWheel, SimRobotDrivetrain) to support simple or advanced physics. This is an enhancement to #76
Simple physics:
- The way it is set up now. Each
SimMotor takes in a maximum output force, and the drivetrain distributes that force among the wheels
Advanced physics:
SimMotor takes in Free speed, stall torque, etc
- Motor Groups act like gearboxes where reductions can be specified
- Torque produced by wheels is calculated and converted into pushing force
- Potential for
SimMotor to calculate current draw
A first step will be to refactor the code to allow a swappable "drivetrain physics" module, and write a "SimpleDrivetrainPhysics" module that behaves the same way existing code does
Refactor the robot drivetrain classes (
SimMotor,SimRobotWheel,SimRobotDrivetrain) to support simple or advanced physics. This is an enhancement to #76Simple physics:
SimMotortakes in a maximum output force, and the drivetrain distributes that force among the wheelsAdvanced physics:
SimMotortakes in Free speed, stall torque, etcSimMotorto calculate current drawA first step will be to refactor the code to allow a swappable "drivetrain physics" module, and write a "SimpleDrivetrainPhysics" module that behaves the same way existing code does