IndividualWheelMotors is Physics3D.System:
    .doc: """
    Simplified drivetrain model that allows torque to be applied individually at
    each of the four wheels.
    """
    min_effort is Real: Math.NEG_INF
    max_effort is Real: Math.INF

    front_left_hub_motor is Physics3D.Interactions.RotationalVelocityMotor:
        max_effort: max_effort
        min_effort: min_effort
    front_right_hub_motor is Physics3D.Interactions.RotationalVelocityMotor:
        max_effort: front_left_hub_motor.max_effort
        min_effort: front_left_hub_motor.min_effort
    rear_left_hub_motor is Physics3D.Interactions.RotationalVelocityMotor:
        max_effort: front_left_hub_motor.max_effort
        min_effort: front_left_hub_motor.min_effort
    rear_right_hub_motor is Physics3D.Interactions.RotationalVelocityMotor:
        max_effort: front_left_hub_motor.max_effort
        min_effort: front_left_hub_motor.min_effort
