CircularPointToPointActuator

class lsst.ts.simactuators.CircularPointToPointActuator(speed: float, start_position: Optional[float] = None)

Bases: BasePointToPointActuator

Simulated circular actuator that moves to a specified position at constant velocity and halts.

Circular means motion around a circle, with no limits, such as the azimuth axis for some telescope enclosures. Positions are reported in the range [0, 360) degrees.

Parameters
speedfloat

Speed of motion (degrees/second).

start_positionfloat or None, optional

Initial position (degrees).

Raises
ValueError

If speed <= 0

Attributes Summary

direction

Direction of current or most recent move, as a lsst.ts.simactuators.Direction enum value.

end_position

Ending position of move, in the range [0, 360) degrees.

end_tai

TAI date at end of move, unix seconds.

start_position

Starting position of move in the range [0, 360) degrees.

start_tai

TAI date at start of move move recent move.

Methods Summary

moving([tai])

Is the axis moving? False before and after the move.

position([tai])

Current position.

remaining_time([tai])

Remaining time for the move (seconds); 0 after the move.

set_position(position[, direction, start_tai])

Set a new target position and return the move duration.

stop([tai])

Stop motion instantly.

velocity([tai])

Actual velocity.

Attributes Documentation

direction

Direction of current or most recent move, as a lsst.ts.simactuators.Direction enum value.

lsst.ts.simactuators.Direction.NEGATIVE if moving or moved in the negative direction, lsst.ts.simactuators.Direction.POSTIVE otherwise, including for a null movement or if never moved.

end_position

Ending position of move, in the range [0, 360) degrees.

end_tai

TAI date at end of move, unix seconds.

start_position

Starting position of move in the range [0, 360) degrees.

start_tai

TAI date at start of move move recent move.

Methods Documentation

moving(tai: Optional[float] = None) bool

Is the axis moving? False before and after the move.

Parameters
taifloat or None, optional

TAI date, unix seconds. Current time if None.

position(tai: Optional[float] = None) float

Current position.

Parameters
taifloat or None, optional

TAI date, unix seconds. Current time if None.

remaining_time(tai: Optional[float] = None) float

Remaining time for the move (seconds); 0 after the move.

Parameters
taifloat or None, optional

TAI date, unix seconds. Current time if None.

set_position(position: float, direction: Direction = Direction.NEAREST, start_tai: Optional[float] = None) float

Set a new target position and return the move duration.

Parameters
positionfloat

Commanded position, in degrees.

directionDirection, optional

Direction of motion.

start_taifloat or None, optional

TAI date (unix seconds) of the start of the move. If None use the current time.

stop(tai: Optional[float] = None) None

Stop motion instantly.

Set end_position to the current position, or to the position at the specified time.

Parameters
taifloat or None, optional

TAI date, unix seconds. Current time if None.

velocity(tai: Optional[float] = None) float

Actual velocity.

Parameters
taifloat or None, optional

TAI date, unix seconds. Current time if None.