# Generated by sila2.code_generator; sila2.__version__: 0.14.0
# -----
# This class does not do anything useful at runtime. Its only purpose is to provide type annotations.
# Since sphinx does not support .pyi files (yet?), this is a .py file.
# -----
from __future__ import annotations
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Any, Iterable, List, Optional
from roboteachingservice_types import (
AddConnection_Responses,
AddEdgeAttribute_Responses,
AddIntermediates_Responses,
AddPosition_Responses,
ExecuteCustomCommand_Responses,
GripClose_Responses,
GripOpen_Responses,
MoveRelative_Responses,
RemoveConnection_Responses,
RemovePosition_Responses,
ReteachPosition_Responses,
)
from sila2.client import ClientMetadataInstance, ClientUnobservableProperty
[docs]
class RoboTeachingServiceClient:
"""
Provides a command for individual movements of joints and memorization of positions and paths
"""
CurrentGraph: ClientUnobservableProperty[str]
"""
Returns the current graph as networkx string
"""
[docs]
def MoveRelative(
self, Movements: List[Any], *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> MoveRelative_Responses:
"""
Moves the robotic arms joints by specified amounts
"""
...
[docs]
def AddPosition(
self, PositionIdentifier: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> AddPosition_Responses:
"""
Adds the current position to the movement graph
"""
...
[docs]
def ReteachPosition(
self, PositionIdentifier: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> ReteachPosition_Responses:
"""
Reteaches the current position in the movement graph to the current robot position.
"""
...
[docs]
def AddConnection(
self, Tail: str, Head: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> AddConnection_Responses:
"""
Adds a connection between two known positions to the movement graph
"""
...
[docs]
def AddEdgeAttribute(
self,
Source: str,
Target: str,
Key: str,
Value: str,
*,
metadata: Optional[Iterable[ClientMetadataInstance]] = None,
) -> AddEdgeAttribute_Responses:
"""
Adds an attribute to an existing connection of the movement graph. Edge attributes carry additional
instructions on how to move along that connection, for example which movement profile or which move command
to use.
"""
...
[docs]
def RemovePosition(
self, PositionIdentifier: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> RemovePosition_Responses:
"""
Removes the current position to the graph
"""
...
[docs]
def RemoveConnection(
self, Tail: str, Head: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> RemoveConnection_Responses:
"""
Forbids the robot to move straight between two positions.
"""
...
[docs]
def GripClose(self, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None) -> GripClose_Responses:
"""
Closes the gripper
"""
...
[docs]
def GripOpen(self, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None) -> GripOpen_Responses:
"""
Opens the gripper
"""
...
[docs]
def ExecuteCustomCommand(
self, Command: str, *, metadata: Optional[Iterable[ClientMetadataInstance]] = None
) -> ExecuteCustomCommand_Responses:
"""
Executes a custom command specified by a string. The actual effect is implementation specific.
"""
...