viam.proto.component.arm ======================== .. py:module:: viam.proto.component.arm .. autoapi-nested-parse:: @generated by Viam. Do not edit manually! Classes ------- .. autoapisummary:: viam.proto.component.arm.ArmServiceBase viam.proto.component.arm.ArmServiceStub viam.proto.component.arm.UnimplementedArmServiceBase viam.proto.component.arm.GetEndPositionRequest viam.proto.component.arm.GetEndPositionResponse viam.proto.component.arm.GetJointPositionsRequest viam.proto.component.arm.GetJointPositionsResponse viam.proto.component.arm.IsMovingRequest viam.proto.component.arm.IsMovingResponse viam.proto.component.arm.JointAccelerations viam.proto.component.arm.JointPositions viam.proto.component.arm.JointVelocities viam.proto.component.arm.MoveOptions viam.proto.component.arm.MoveThroughJointPositionsRequest viam.proto.component.arm.MoveThroughJointPositionsResponse viam.proto.component.arm.MoveThroughJointPositionsStreamedRequest viam.proto.component.arm.MoveThroughJointPositionsStreamedResponse viam.proto.component.arm.MoveToJointPositionsRequest viam.proto.component.arm.MoveToJointPositionsResponse viam.proto.component.arm.MoveToPositionRequest viam.proto.component.arm.MoveToPositionResponse viam.proto.component.arm.Status viam.proto.component.arm.StopRequest viam.proto.component.arm.StopResponse viam.proto.component.arm.TrajectoryPoint Package Contents ---------------- .. py:class:: ArmServiceBase Bases: :py:obj:`abc.ABC` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetEndPosition(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse]) -> None :abstractmethod: :async: .. py:method:: MoveToPosition(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse]) -> None :abstractmethod: :async: .. py:method:: GetJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse]) -> None :abstractmethod: :async: .. py:method:: MoveToJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse]) -> None :abstractmethod: :async: .. py:method:: MoveThroughJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveThroughJointPositionsRequest, component.arm.v1.arm_pb2.MoveThroughJointPositionsResponse]) -> None :abstractmethod: :async: .. py:method:: MoveThroughJointPositionsStreamed(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveThroughJointPositionsStreamedRequest, component.arm.v1.arm_pb2.MoveThroughJointPositionsStreamedResponse]) -> None :abstractmethod: :async: .. py:method:: Stop(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse]) -> None :abstractmethod: :async: .. py:method:: IsMoving(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse]) -> None :abstractmethod: :async: .. py:method:: DoCommand(stream: grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]) -> None :abstractmethod: :async: .. py:method:: GetStatus(stream: grpclib.server.Stream[common.v1.common_pb2.GetStatusRequest, common.v1.common_pb2.GetStatusResponse]) -> None :abstractmethod: :async: .. py:method:: GetKinematics(stream: grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]) -> None :abstractmethod: :async: .. py:method:: GetGeometries(stream: grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]) -> None :abstractmethod: :async: .. py:method:: Get3DModels(stream: grpclib.server.Stream[common.v1.common_pb2.Get3DModelsRequest, common.v1.common_pb2.Get3DModelsResponse]) -> None :abstractmethod: :async: .. py:method:: __mapping__() -> Dict[str, grpclib.const.Handler] .. py:class:: ArmServiceStub(channel: grpclib.client.Channel) .. py:attribute:: GetEndPosition .. py:attribute:: MoveToPosition .. py:attribute:: GetJointPositions .. py:attribute:: MoveToJointPositions .. py:attribute:: MoveThroughJointPositions .. py:attribute:: MoveThroughJointPositionsStreamed .. py:attribute:: Stop .. py:attribute:: IsMoving .. py:attribute:: DoCommand .. py:attribute:: GetStatus .. py:attribute:: GetKinematics .. py:attribute:: GetGeometries .. py:attribute:: Get3DModels .. py:class:: UnimplementedArmServiceBase Bases: :py:obj:`ArmServiceBase` Helper class that provides a standard way to create an ABC using inheritance. .. py:method:: GetEndPosition(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.GetEndPositionRequest, component.arm.v1.arm_pb2.GetEndPositionResponse]) -> None :async: .. py:method:: MoveToPosition(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToPositionRequest, component.arm.v1.arm_pb2.MoveToPositionResponse]) -> None :async: .. py:method:: GetJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.GetJointPositionsRequest, component.arm.v1.arm_pb2.GetJointPositionsResponse]) -> None :async: .. py:method:: MoveToJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveToJointPositionsRequest, component.arm.v1.arm_pb2.MoveToJointPositionsResponse]) -> None :async: .. py:method:: MoveThroughJointPositions(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveThroughJointPositionsRequest, component.arm.v1.arm_pb2.MoveThroughJointPositionsResponse]) -> None :async: .. py:method:: MoveThroughJointPositionsStreamed(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.MoveThroughJointPositionsStreamedRequest, component.arm.v1.arm_pb2.MoveThroughJointPositionsStreamedResponse]) -> None :async: .. py:method:: Stop(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.StopRequest, component.arm.v1.arm_pb2.StopResponse]) -> None :async: .. py:method:: IsMoving(stream: grpclib.server.Stream[component.arm.v1.arm_pb2.IsMovingRequest, component.arm.v1.arm_pb2.IsMovingResponse]) -> None :async: .. py:method:: DoCommand(stream: grpclib.server.Stream[common.v1.common_pb2.DoCommandRequest, common.v1.common_pb2.DoCommandResponse]) -> None :async: .. py:method:: GetStatus(stream: grpclib.server.Stream[common.v1.common_pb2.GetStatusRequest, common.v1.common_pb2.GetStatusResponse]) -> None :async: .. py:method:: GetKinematics(stream: grpclib.server.Stream[common.v1.common_pb2.GetKinematicsRequest, common.v1.common_pb2.GetKinematicsResponse]) -> None :async: .. py:method:: GetGeometries(stream: grpclib.server.Stream[common.v1.common_pb2.GetGeometriesRequest, common.v1.common_pb2.GetGeometriesResponse]) -> None :async: .. py:method:: Get3DModels(stream: grpclib.server.Stream[common.v1.common_pb2.Get3DModelsRequest, common.v1.common_pb2.Get3DModelsResponse]) -> None :async: .. py:class:: GetEndPositionRequest(*, name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str Name of an arm .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetEndPositionResponse(*, pose: common.v1.common_pb2.Pose | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: pose() -> common.v1.common_pb2.Pose Returns 6d pose of the end effector relative to the base, represented by X,Y,Z coordinates which express millimeters and theta, ox, oy, oz coordinates which express an orientation vector .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetJointPositionsRequest(*, name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str Name of an arm .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: GetJointPositionsResponse(*, positions: Global___JointPositions | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: positions() -> Global___JointPositions a list JointPositions .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: IsMovingRequest(*, name: str = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str .. py:class:: IsMovingResponse(*, is_moving: bool = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: is_moving :type: bool .. py:class:: JointAccelerations(*, values: collections.abc.Iterable[float] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: values() -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[float] A list of joint accelerations. Rotational values are in degrees per second squared, translational values in mm per second squared. There should be 1 entry in the list per joint DOF, ordered spatially from the base toward the end effector of the arm. .. py:class:: JointPositions(*, values: collections.abc.Iterable[float] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: values() -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[float] A list of joint positions. Rotations values are in degrees, translational values in mm. There should be 1 entry in the list per joint DOF, ordered spatially from the base toward the end effector of the arm .. py:class:: JointVelocities(*, values: collections.abc.Iterable[float] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: values() -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[float] A list of joint velocities. Rotational values are in degrees per second, translational values in mm per second. There should be 1 entry in the list per joint DOF, ordered spatially from the base toward the end effector of the arm. .. py:class:: MoveOptions(*, max_vel_degs_per_sec: float | None = ..., max_acc_degs_per_sec2: float | None = ..., max_vel_degs_per_sec_joints: collections.abc.Iterable[float] | None = ..., max_acc_degs_per_sec2_joints: collections.abc.Iterable[float] | None = ..., max_tcp_speed: float | None = ...) Bases: :py:obj:`google.protobuf.message.Message` MoveOptions specifies kinematic constraints for an arm motion. All fields are optional ceilings; any combination may be set. Every constraint that is set is respected at every point along the executed trajectory. The limiting constraint may change throughout execution. .. py:attribute:: max_vel_degs_per_sec :type: float Maximum allowable velocity of an arm joint, in degrees per second. The arm driver will move as fast as possible up to the set value. Ignored when max_vel_degs_per_sec_joints is set. .. py:attribute:: max_acc_degs_per_sec2 :type: float Maximum allowable acceleration of an arm joint, in degrees per second squared. The arm driver will accelerate as fast as possible up to the set value. ignored when max_acc_degs_per_sec2_joints is set. .. py:attribute:: max_tcp_speed :type: float Maximum allowable speed of an arm's tool center point in meters per second. The arm driver will move the tool center point as fast as possible up to this set value. .. py:method:: max_vel_degs_per_sec_joints() -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[float] Per-joint maximum velocity in degrees per second. The arm driver will move each joint as fast as possible up to its respective set value. .. py:method:: max_acc_degs_per_sec2_joints() -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[float] Per-joint maximum acceleration in degrees per second squared. The arm driver will accelerate each joint as fast as possible up to its respective set value. .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType__max_acc_degs_per_sec2) -> _WhichOneofReturnType__max_acc_degs_per_sec2 | None WhichOneof(oneof_group: _WhichOneofArgType__max_tcp_speed) -> _WhichOneofReturnType__max_tcp_speed | None WhichOneof(oneof_group: _WhichOneofArgType__max_vel_degs_per_sec) -> _WhichOneofReturnType__max_vel_degs_per_sec | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:class:: MoveThroughJointPositionsRequest(*, name: str = ..., positions: collections.abc.Iterable[Global___JointPositions] | None = ..., options: Global___MoveOptions | None = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str Name of an arm .. py:method:: positions() -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___JointPositions] A list of joint positions which will be moved to in the order they are specified .. py:method:: options() -> Global___MoveOptions optional specifications to be obeyed during the motion .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType__options) -> _WhichOneofReturnType__options | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:class:: MoveThroughJointPositionsResponse Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: MoveThroughJointPositionsStreamedRequest(*, name: str = ..., init: Global___MoveThroughJointPositionsStreamedRequest | None = ..., batch: Global___MoveThroughJointPositionsStreamedRequest | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: Init(*, extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional sticky arguments to the method. .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: TrajectoryBatch(*, points: collections.abc.Iterable[Global___TrajectoryPoint] | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: points() -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[Global___TrajectoryPoint] Trajectory points to append to the motion, in order. Append-only; points cannot be replaced or revoked. .. py:attribute:: name :type: str Name of the arm to control. .. py:method:: init() -> Global___MoveThroughJointPositionsStreamedRequest Stream initiation. Sent exactly once and must be the first message on the stream. .. py:method:: batch() -> Global___MoveThroughJointPositionsStreamedRequest A batch of trajectory points to append to the running motion. Sent N times after init. .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:class:: MoveThroughJointPositionsStreamedResponse(*, ack: Global___MoveThroughJointPositionsStreamedResponse | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Streamed back to the client while an arm is performing a streaming move. .. py:class:: BatchAck(*, extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` BatchAck is returned by arm implementations to ack a `TrajectoryBatch`. Due to the lack of actionable payload in `BatchAck`, Arm implementations are not currently obligated to ack every batch, or even any batch. It is currently unspecified whether ack'ing a batch indicates its acceptance, issue to the arm, or completion. These very relaxed requirements may become tighter if and when `BatchAck` messages begin carrying meaningful payloads back to the client. For now, the recommended practice for arm implementors is to ack each batch that has been successfully issued/enqueued to the arm. .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional reply data .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: ack() -> Global___MoveThroughJointPositionsStreamedResponse .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType_message) -> _WhichOneofReturnType_message | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:class:: MoveToJointPositionsRequest(*, name: str = ..., positions: Global___JointPositions | None = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str Name of an arm .. py:method:: positions() -> Global___JointPositions A list of joint positions There should be 1 entry in the list per joint DOF, ordered spatially from the base toward the end effector .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: MoveToJointPositionsResponse Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: MoveToPositionRequest(*, name: str = ..., to: common.v1.common_pb2.Pose | None = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Moves an arm to the specified pose that is within the reference frame of the arm. Move request in Motion API has the same behavior except that it performs obstacle avoidance when a world_state message is specified. .. py:attribute:: name :type: str Name of an arm .. py:method:: to() -> common.v1.common_pb2.Pose The destination to move the arm to; this is from the reference frame of the arm. .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: MoveToPositionResponse Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: Status(*, end_position: common.v1.common_pb2.Pose | None = ..., joint_positions: Global___JointPositions | None = ..., is_moving: bool = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: is_moving :type: bool .. py:method:: end_position() -> common.v1.common_pb2.Pose .. py:method:: joint_positions() -> Global___JointPositions .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: StopRequest(*, name: str = ..., extra: google.protobuf.struct_pb2.Struct | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:attribute:: name :type: str Name of an arm .. py:method:: extra() -> google.protobuf.struct_pb2.Struct Additional arguments to the method .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:class:: StopResponse Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:class:: TrajectoryPoint(*, time: google.protobuf.duration_pb2.Duration | None = ..., positions: Global___JointPositions | None = ..., constraints: Global___TrajectoryPoint | None = ...) Bases: :py:obj:`google.protobuf.message.Message` One waypoint in a streamed joint-space trajectory. .. py:class:: KinematicConstraints(*, velocities: Global___JointVelocities | None = ..., accelerations: Global___JointAccelerations | None = ...) Bases: :py:obj:`google.protobuf.message.Message` Abstract base class for protocol messages. Protocol message classes are almost always generated by the protocol compiler. These generated types subclass Message and implement the methods shown below. .. py:method:: velocities() -> Global___JointVelocities Target joint velocities at this waypoint. If provided, the first point of the stream (the t=0 sample) must have zero velocity. Server implementations should validate this constraint. .. py:method:: accelerations() -> Global___JointAccelerations Optional target joint accelerations at this waypoint. .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType__accelerations) -> _WhichOneofReturnType__accelerations | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists .. py:method:: time() -> google.protobuf.duration_pb2.Duration Time from the start of the motion at which this waypoint should be reached. Must be zero for the first point of the stream and strictly increasing thereafter. Server implementations should validate these constraints. .. py:method:: positions() -> Global___JointPositions Joint positions at this waypoint. .. py:method:: constraints() -> Global___TrajectoryPoint Optional target kinematic constraints at this waypoint. .. py:method:: HasField(field_name: _HasFieldArgType) -> bool Checks if a certain field is set for the message. For a oneof group, checks if any field inside is set. Note that if the field_name is not defined in the message descriptor, :exc:`ValueError` will be raised. :param field_name: The name of the field to check for presence. :type field_name: str :returns: Whether a value has been set for the named field. :rtype: bool :raises ValueError: if the `field_name` is not a member of this message. .. py:method:: WhichOneof(oneof_group: _WhichOneofArgType__constraints) -> _WhichOneofReturnType__constraints | None Returns the name of the field that is set inside a oneof group. If no field is set, returns None. :param oneof_group: the name of the oneof group to check. :type oneof_group: str :returns: The name of the group that is set, or None. :rtype: str or None :raises ValueError: no group with the given name exists