artist.field.actuators_ideal ============================ .. py:module:: artist.field.actuators_ideal Classes ------- .. autoapisummary:: artist.field.actuators_ideal.IdealActuators Module Contents --------------- .. py:class:: IdealActuators(non_optimizable_parameters: torch.Tensor, optimizable_parameters: torch.Tensor = torch.tensor([], requires_grad=True), device: torch.device | None = None) Bases: :py:obj:`artist.field.actuators.Actuators` Initialize ideal actuators. Parameters ---------- non_optimizable_parameters : torch.Tensor The four non-optimizable actuator parameters, describing actuator geometry. Shape is ``[number_of_heliostats, 4, 2]``. optimizable_parameters : torch.Tensor The ideal actuators do not have optimizable parameters, this tensor is therefore empty (default is ``torch.tensor([])``). Shape is ``[]``. device : torch.device | None The device on which to perform computations or load tensors and models (default is None). If None, ``ARTIST`` will automatically select the most appropriate device (CUDA or CPU) based on availability and OS. .. py:method:: motor_positions_to_angles(motor_positions: torch.Tensor, device: torch.device | None = None) -> torch.Tensor Calculate the joint angles for given motor positions. Parameters ---------- motor_positions : torch.Tensor The motor positions. Shape is ``[number_of_active_heliostats, 2]``. device : torch.device | None The device on which to perform computations or load tensors and models (default is None). If None, ``ARTIST`` will automatically select the most appropriate device (CUDA or CPU) based on availability and OS. Returns ------- torch.Tensor The joint angles corresponding to the motor positions. .. py:method:: angles_to_motor_positions(angles: torch.Tensor, device: torch.device | None = None) -> torch.Tensor Calculate the motor positions for given joint angles. Parameters ---------- angles : torch.Tensor The joint angles. Shape is ``[number_of_active_heliostats, 2]``. device : torch.device | None The device on which to perform computations or load tensors and models (default is None). If None, ``ARTIST`` will automatically select the most appropriate device (CUDA or CPU) based on availability and OS. Returns ------- torch.Tensor The motor steps. Shape is ``[number_of_active_heliostats, 2]``.