Compensation#
- class lsst.ts.mthexapod.Compensation(*, elevation_rotation_coeffs, azimuth_coeffs, temperature_coeffs, min_temperature, max_temperature)#
Bases:
objectCompute hexapod compensation for elevation, azimuth, camera rotation, and temperature.
The compensation is computed as offsets for x, y, z, u, v, w.
- Parameters:
elevation_coeffs (
list[list[float]]) –Elevation
CosinePolynomialcoefficients, as a sequence of 6 coefficient sequences, for x, y, z, u, v, w. Each coefficient sequence must contain at least one element. Here is an example showing valid, though unrealistic, values:elevation_coeffs=[ [0.11, 0.012], [0.21], [0.31, 0.032, -0.0033], [0.000042, 0.000042], [0.000052, 0.000052], [0.000062], ]
azimuth_coeffs (
list[list[float]]) – Azimuth coefficients, with the same format aselevation_coeffs.rotation_coeffs (
list[list[float]]) – Rotation coefficients, with the same format aselevation_coeffs.temperature_coeffs (
list[list[float]]) – TemperatureRangedPolynomialcoefficients, with the same format aselevation_coeffs.min_temperature (
float) – Minimum temperature for whichtemperature_coeffsis valid.max_temperature (
float) – Maximum temperature for whichtemperature_coeffsis valid.
- Raises:
ValueError – If
elevation_coeffs,azimuth_coeffs,rotation_coeffs, ortemperature_coeffsis not a sequence of 6 items, or if any item is not a sequence of floats with at least 1 element.
Methods Summary
get_offset(inputs)Get compensation offset.
Methods Documentation
- get_offset(inputs)#
Get compensation offset.
- Parameters:
inputs (
CompensationInputs) – Inputs for the compensation model.- Returns:
offset –
Compensation offsets, such that:
compensated position = uncompensated position + offset.
- Return type:
- Raises:
ValueError – If elevation not in range [0, 90].