from cmvr.api import common_pb2 as _common_pb2
from google.protobuf.internal import containers as _containers
from google.protobuf.internal import enum_type_wrapper as _enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from collections.abc import Iterable as _Iterable, Mapping as _Mapping
from typing import ClassVar as _ClassVar, Optional as _Optional, Union as _Union

DESCRIPTOR: _descriptor.FileDescriptor

class ArmFrameType(int, metaclass=_enum_type_wrapper.EnumTypeWrapper):
    __slots__ = ()
    ARM_FRAME_BASE: _ClassVar[ArmFrameType]
    ARM_FRAME_TOOL: _ClassVar[ArmFrameType]
    ARM_FRAME_WORLD: _ClassVar[ArmFrameType]
    ARM_FRAME_USER: _ClassVar[ArmFrameType]
ARM_FRAME_BASE: ArmFrameType
ARM_FRAME_TOOL: ArmFrameType
ARM_FRAME_WORLD: ArmFrameType
ARM_FRAME_USER: ArmFrameType

class JointPositionCommand(_message.Message):
    __slots__ = ("position",)
    POSITION_FIELD_NUMBER: _ClassVar[int]
    position: _containers.RepeatedScalarFieldContainer[float]
    def __init__(self, position: _Optional[_Iterable[float]] = ...) -> None: ...

class JointVelocityCommand(_message.Message):
    __slots__ = ("velocity",)
    VELOCITY_FIELD_NUMBER: _ClassVar[int]
    velocity: _containers.RepeatedScalarFieldContainer[float]
    def __init__(self, velocity: _Optional[_Iterable[float]] = ...) -> None: ...

class MotionOptions(_message.Message):
    __slots__ = ("velocity", "acceleration", "blend_radius", "jerk", "joint_velocity_limits", "asynchronous")
    VELOCITY_FIELD_NUMBER: _ClassVar[int]
    ACCELERATION_FIELD_NUMBER: _ClassVar[int]
    BLEND_RADIUS_FIELD_NUMBER: _ClassVar[int]
    JERK_FIELD_NUMBER: _ClassVar[int]
    JOINT_VELOCITY_LIMITS_FIELD_NUMBER: _ClassVar[int]
    ASYNCHRONOUS_FIELD_NUMBER: _ClassVar[int]
    velocity: float
    acceleration: float
    blend_radius: float
    jerk: float
    joint_velocity_limits: _containers.RepeatedScalarFieldContainer[float]
    asynchronous: bool
    def __init__(self, velocity: _Optional[float] = ..., acceleration: _Optional[float] = ..., blend_radius: _Optional[float] = ..., jerk: _Optional[float] = ..., joint_velocity_limits: _Optional[_Iterable[float]] = ..., asynchronous: _Optional[bool] = ...) -> None: ...

class CartesianPose(_message.Message):
    __slots__ = ("x", "y", "z", "rx", "ry", "rz")
    X_FIELD_NUMBER: _ClassVar[int]
    Y_FIELD_NUMBER: _ClassVar[int]
    Z_FIELD_NUMBER: _ClassVar[int]
    RX_FIELD_NUMBER: _ClassVar[int]
    RY_FIELD_NUMBER: _ClassVar[int]
    RZ_FIELD_NUMBER: _ClassVar[int]
    x: float
    y: float
    z: float
    rx: float
    ry: float
    rz: float
    def __init__(self, x: _Optional[float] = ..., y: _Optional[float] = ..., z: _Optional[float] = ..., rx: _Optional[float] = ..., ry: _Optional[float] = ..., rz: _Optional[float] = ...) -> None: ...

class CartesianVelocity(_message.Message):
    __slots__ = ("vx", "vy", "vz", "wx", "wy", "wz")
    VX_FIELD_NUMBER: _ClassVar[int]
    VY_FIELD_NUMBER: _ClassVar[int]
    VZ_FIELD_NUMBER: _ClassVar[int]
    WX_FIELD_NUMBER: _ClassVar[int]
    WY_FIELD_NUMBER: _ClassVar[int]
    WZ_FIELD_NUMBER: _ClassVar[int]
    vx: float
    vy: float
    vz: float
    wx: float
    wy: float
    wz: float
    def __init__(self, vx: _Optional[float] = ..., vy: _Optional[float] = ..., vz: _Optional[float] = ..., wx: _Optional[float] = ..., wy: _Optional[float] = ..., wz: _Optional[float] = ...) -> None: ...

class TransformMatrix4x4(_message.Message):
    __slots__ = ("m00", "m01", "m02", "m03", "m10", "m11", "m12", "m13", "m20", "m21", "m22", "m23", "m30", "m31", "m32", "m33")
    M00_FIELD_NUMBER: _ClassVar[int]
    M01_FIELD_NUMBER: _ClassVar[int]
    M02_FIELD_NUMBER: _ClassVar[int]
    M03_FIELD_NUMBER: _ClassVar[int]
    M10_FIELD_NUMBER: _ClassVar[int]
    M11_FIELD_NUMBER: _ClassVar[int]
    M12_FIELD_NUMBER: _ClassVar[int]
    M13_FIELD_NUMBER: _ClassVar[int]
    M20_FIELD_NUMBER: _ClassVar[int]
    M21_FIELD_NUMBER: _ClassVar[int]
    M22_FIELD_NUMBER: _ClassVar[int]
    M23_FIELD_NUMBER: _ClassVar[int]
    M30_FIELD_NUMBER: _ClassVar[int]
    M31_FIELD_NUMBER: _ClassVar[int]
    M32_FIELD_NUMBER: _ClassVar[int]
    M33_FIELD_NUMBER: _ClassVar[int]
    m00: float
    m01: float
    m02: float
    m03: float
    m10: float
    m11: float
    m12: float
    m13: float
    m20: float
    m21: float
    m22: float
    m23: float
    m30: float
    m31: float
    m32: float
    m33: float
    def __init__(self, m00: _Optional[float] = ..., m01: _Optional[float] = ..., m02: _Optional[float] = ..., m03: _Optional[float] = ..., m10: _Optional[float] = ..., m11: _Optional[float] = ..., m12: _Optional[float] = ..., m13: _Optional[float] = ..., m20: _Optional[float] = ..., m21: _Optional[float] = ..., m22: _Optional[float] = ..., m23: _Optional[float] = ..., m30: _Optional[float] = ..., m31: _Optional[float] = ..., m32: _Optional[float] = ..., m33: _Optional[float] = ...) -> None: ...

class MoveJ(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "target", "options")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        TARGET_FIELD_NUMBER: _ClassVar[int]
        OPTIONS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        target: JointPositionCommand
        options: MotionOptions
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., target: _Optional[_Union[JointPositionCommand, _Mapping]] = ..., options: _Optional[_Union[MotionOptions, _Mapping]] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class MoveL(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "target", "options", "frame")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        TARGET_FIELD_NUMBER: _ClassVar[int]
        OPTIONS_FIELD_NUMBER: _ClassVar[int]
        FRAME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        target: CartesianPose
        options: MotionOptions
        frame: ArmFrameType
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., target: _Optional[_Union[CartesianPose, _Mapping]] = ..., options: _Optional[_Union[MotionOptions, _Mapping]] = ..., frame: _Optional[_Union[ArmFrameType, str]] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class SpeedJ(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "velocity", "acceleration", "duration")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VELOCITY_FIELD_NUMBER: _ClassVar[int]
        ACCELERATION_FIELD_NUMBER: _ClassVar[int]
        DURATION_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        velocity: JointVelocityCommand
        acceleration: float
        duration: float
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., velocity: _Optional[_Union[JointVelocityCommand, _Mapping]] = ..., acceleration: _Optional[float] = ..., duration: _Optional[float] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class SpeedL(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "velocity", "acceleration", "duration", "frame")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        VELOCITY_FIELD_NUMBER: _ClassVar[int]
        ACCELERATION_FIELD_NUMBER: _ClassVar[int]
        DURATION_FIELD_NUMBER: _ClassVar[int]
        FRAME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        velocity: CartesianVelocity
        acceleration: float
        duration: float
        frame: ArmFrameType
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., velocity: _Optional[_Union[CartesianVelocity, _Mapping]] = ..., acceleration: _Optional[float] = ..., duration: _Optional[float] = ..., frame: _Optional[_Union[ArmFrameType, str]] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class ServoJ(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "target")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        TARGET_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        target: JointPositionCommand
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., target: _Optional[_Union[JointPositionCommand, _Mapping]] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class JointState(_message.Message):
    __slots__ = ("name", "position", "velocity", "effort", "timestamp")
    NAME_FIELD_NUMBER: _ClassVar[int]
    POSITION_FIELD_NUMBER: _ClassVar[int]
    VELOCITY_FIELD_NUMBER: _ClassVar[int]
    EFFORT_FIELD_NUMBER: _ClassVar[int]
    TIMESTAMP_FIELD_NUMBER: _ClassVar[int]
    name: _containers.RepeatedScalarFieldContainer[str]
    position: _containers.RepeatedScalarFieldContainer[float]
    velocity: _containers.RepeatedScalarFieldContainer[float]
    effort: _containers.RepeatedScalarFieldContainer[float]
    timestamp: float
    def __init__(self, name: _Optional[_Iterable[str]] = ..., position: _Optional[_Iterable[float]] = ..., velocity: _Optional[_Iterable[float]] = ..., effort: _Optional[_Iterable[float]] = ..., timestamp: _Optional[float] = ...) -> None: ...

class JointRequest(_message.Message):
    __slots__ = ("header",)
    HEADER_FIELD_NUMBER: _ClassVar[int]
    header: _common_pb2.CommandHeader.Request
    def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ...) -> None: ...

class JointResponse(_message.Message):
    __slots__ = ("header", "state")
    HEADER_FIELD_NUMBER: _ClassVar[int]
    STATE_FIELD_NUMBER: _ClassVar[int]
    header: _common_pb2.CommandHeader.Feedback
    state: JointState
    def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., state: _Optional[_Union[JointState, _Mapping]] = ...) -> None: ...

class GetPose(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "base_link", "ee_link")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        BASE_LINK_FIELD_NUMBER: _ClassVar[int]
        EE_LINK_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        base_link: str
        ee_link: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., base_link: _Optional[str] = ..., ee_link: _Optional[str] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header", "pose")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        POSE_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        pose: CartesianPose
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., pose: _Optional[_Union[CartesianPose, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class CalibrateZeroQ(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "joint_name")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        JOINT_NAME_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        joint_name: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., joint_name: _Optional[str] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header",)
        HEADER_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class GetPoseMatrix(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "base_link", "ee_link")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        BASE_LINK_FIELD_NUMBER: _ClassVar[int]
        EE_LINK_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        base_link: str
        ee_link: str
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., base_link: _Optional[str] = ..., ee_link: _Optional[str] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header", "matrix")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        MATRIX_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        matrix: TransformMatrix4x4
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., matrix: _Optional[_Union[TransformMatrix4x4, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...

class ComputeForwardKinematics(_message.Message):
    __slots__ = ()
    class Request(_message.Message):
        __slots__ = ("header", "base_link", "ee_link", "joints")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        BASE_LINK_FIELD_NUMBER: _ClassVar[int]
        EE_LINK_FIELD_NUMBER: _ClassVar[int]
        JOINTS_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Request
        base_link: str
        ee_link: str
        joints: JointPositionCommand
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Request, _Mapping]] = ..., base_link: _Optional[str] = ..., ee_link: _Optional[str] = ..., joints: _Optional[_Union[JointPositionCommand, _Mapping]] = ...) -> None: ...
    class Response(_message.Message):
        __slots__ = ("header", "matrix")
        HEADER_FIELD_NUMBER: _ClassVar[int]
        MATRIX_FIELD_NUMBER: _ClassVar[int]
        header: _common_pb2.CommandHeader.Feedback
        matrix: TransformMatrix4x4
        def __init__(self, header: _Optional[_Union[_common_pb2.CommandHeader.Feedback, _Mapping]] = ..., matrix: _Optional[_Union[TransformMatrix4x4, _Mapping]] = ...) -> None: ...
    def __init__(self) -> None: ...
