class documentation

Describes the translation and rotation of an object relative to a base coordinate frame.

The position is represented by the Cartesian coordinates X, Y, and Z. The orientation is represented by the angles A, B, and C, corresponding to roll, pitch, and yaw respectively.

See also CartesianFrameAngleOrientationType from OPC UA Part 210: Relative Spacial Location specification. https://reference.opcfoundation.org/specs/OPC-10000-210/7.3

Method __init__ Initialize a Cartesian frame with position and orientation.
Async Method lifecycle_frame Initialize the Cartesian frame.
Async Method on_value_change Handle OPC UA data change notification to keep children in sync.
Async Method read_base Read the base coordinate frame reference from the OPC UA server.
Async Method read_base_node_id Read the UA node ID of the base coordinate frame.
Async Method read_orientation Read the angular orientation from the OPC UA server.
Async Method read_pose Read the current pose of this frame relative to its base.
Async Method read_position Read the Cartesian position from the OPC UA server.
Async Method update_pose Replace position and/or orientation, keeping the rest. Returns the new pose.
Async Method write_base Write the base coordinate frame reference to the OPC UA server.
Async Method write_orientation Write given angular orientation to the OPC UA server. Keeps the current position of the frame.
Async Method write_pose Replace the pose of this frame.
Async Method write_position Write the given Cartesian position to the OPC UA server. Keeps the current orientation of the frame.
Async Method _get_definition Undocumented
Async Method _read_pose Undocumented
Async Method _sync_children Undocumented
Async Method _write_pose_locked Undocumented
Instance Variable _angle_unit Undocumented
Instance Variable _datachange_callback_handle Undocumented
Instance Variable _frame_lock Undocumented
Instance Variable _initial_base Undocumented
Instance Variable _initial_pose Undocumented
Instance Variable _length_unit Undocumented
Instance Variable _ua_base Undocumented
Instance Variable _ua_orientation Undocumented
Instance Variable _ua_orientation_a Undocumented
Instance Variable _ua_orientation_b Undocumented
Instance Variable _ua_orientation_c Undocumented
Instance Variable _ua_position Undocumented
Instance Variable _ua_position_x Undocumented
Instance Variable _ua_position_y Undocumented
Instance Variable _ua_position_z Undocumented
def __init__(self, *, name: str, initial_pose: Pose, initial_base: CartesianFrame | ua.NodeId | None, minimum_access_level: int | None = None, bypass_lock: bool = False, **kwargs):

Initialize a Cartesian frame with position and orientation.

Parameters
name:strName of the frame.
initial_pose:Pose3D Pose of the frame.
initial_base:CartesianFrame | ua.NodeId | NoneOptional frame or a node ID of the base frame relative to which this frame is specified.
minimum_access_level:int | NoneMinimum write access level of the frame variable. Read access is always allowed.
bypass_lock:boolWhether the frame variable can be written to without ownership of the corresponding lock.
**kwargsUndocumented
@lifecycle
async def lifecycle_frame(self) -> AsyncGenerator[None]:

Initialize the Cartesian frame.

async def on_value_change(self, _handle: int, dv: ua.DataValue):

Handle OPC UA data change notification to keep children in sync.

async def read_base(self) -> CartesianFrame | None:

Read the base coordinate frame reference from the OPC UA server.

Returns
CartesianFrame | NoneThe Python Cartesian frame reference or None if no Python frame reference is found.
async def read_base_node_id(self) -> ua.NodeId | None:

Read the UA node ID of the base coordinate frame.

Returns
ua.NodeId | NoneUA node ID or None if ua.NodeId is null or non-existent.
async def read_orientation(self) -> Orientation:

Read the angular orientation from the OPC UA server.

async def read_pose(self, *, length_unit: Unit | None = None, angle_unit: Unit | None = None) -> Pose:

Read the current pose of this frame relative to its base.

async def read_position(self) -> Position:

Read the Cartesian position from the OPC UA server.

async def update_pose(self, *, position: Position | None = None, orientation: Orientation | None = None) -> Pose:

Replace position and/or orientation, keeping the rest. Returns the new pose.

async def write_base(self, base: CartesianFrame | ua.NodeId | None):

Write the base coordinate frame reference to the OPC UA server.

async def write_orientation(self, orientation: Orientation):

Write given angular orientation to the OPC UA server. Keeps the current position of the frame.

async def write_pose(self, pose: Pose):

Replace the pose of this frame.

async def write_position(self, position: Position):

Write the given Cartesian position to the OPC UA server. Keeps the current orientation of the frame.

@override
async def _get_definition(self) -> UaObjectDefinition:

Undocumented

async def _read_pose(self) -> Pose:

Undocumented

async def _sync_children(self, frame: ua.ThreeDFrame):

Undocumented

async def _write_pose_locked(self, pose: Pose):

Undocumented

_angle_unit: Unit =

Undocumented

_datachange_callback_handle: int =

Undocumented

_frame_lock =

Undocumented

_initial_base: CartesianFrame | ua.NodeId | None =

Undocumented

_initial_pose: Pose =

Undocumented

_length_unit: Unit =

Undocumented

_ua_base: Node =

Undocumented

_ua_orientation: Node =

Undocumented

_ua_orientation_a: Node =

Undocumented

_ua_orientation_b: Node =

Undocumented

_ua_orientation_c: Node =

Undocumented

_ua_position: Node =

Undocumented

_ua_position_x: Node =

Undocumented

_ua_position_y: Node =

Undocumented

_ua_position_z: Node =

Undocumented