1from typing
import Any, NoReturn
2from numpy
import ndarray
3from .iCub_Interface
import ANNiCub_wrapper
9 def __init__(cls, *args, **kwargs) -> None: ...
12 """Block specific set of joints in the kinematic chain.
17 joints that should be blocked
25 def close(self, iCub: ANNiCub_wrapper) -> NoReturn:
30 iCub : ANNiCub_wrapper
31 main interface wrapper
40 """Return the DOF of the kinematic chain.
48 int: DOF of the kinematic chain
53 """Get joints being part of active kinematic chain.
61 vector with the active joints
74 vector containing the blocked links
79 """Get current joint angles of active kinematic chain -> radians.
84 control the format (radians/degrees) of the returned angles
89 joint angles radians/degrees
93 def init(self, iCub: ANNiCub_wrapper, name: str, part: str, version: float, ini_path: str = ..., offline_mode=...) -> bool:
94 """Initialize the Kinematic Writer with given parameters.
98 iCub : ANNiCub_wrapper
99 main interface wrapper
101 individual name for the kinematic writer
103 string representing the robot part, has to match iCub part naming {left_(arm/leg), right_(arm/leg), head, torso}
105 version of the robot hardware
107 path to the interface ini-file. (Default value = "../data/")
109 flag, if iCub network is offline. (Default value = False)
114 return True/False, indicating success/failure
118 def init_grpc(self, iCub: ANNiCub_wrapper, name: str, part: str, version: float, ini_path: str = ..., ip_address: str = ..., port: int = ..., offline_mode=...) -> bool:
119 """Initialize the Kinematic Writer with given parameters, including the gRPC based connection.
123 iCub : ANNiCub_wrapper
124 main interface wrapper
126 individual name for the kinematic writer
128 string representing the robot part, has to match iCub part naming {left_(arm/leg), right_(arm/leg), head, torso}
130 version of the robot hardware
132 path to the interface ini-file. (Default value = "../data/")
134 gRPC server ip address. (Default value = "0.0.0.0")
136 gRPC server port. (Default value = 50025)
138 flag, if iCub network is offline. (Default value = False)
143 return True/False, indicating success/failure
148 """Release links of kinematic chain
152 release_joints : list
153 joints that should be released
162 """Set joint angles for forward kinematic in offline mode.
166 joint_angles : list/NDarray
167 joint angles in radians/degrees
169 control the format (radians/degrees) of the given/returned angles
174 actual set joint angles in radians/degrees -> evaluted constraints
179 """Compute the joint configuration for a given 3D End-Effector position (Inverse Kinematics).
184 target cartesian position for the end-effector/hand
186 links of the kinematic chain, which should be blocked for inverse kinematic in online mode (Default value = [])
187 IGNORED in offline mode -> use setter for block links and joint angles
192 active joint positions (in radians)
bool init_grpc(self, ANNiCub_wrapper iCub, str name, str part, float version, str ini_path=..., str ip_address=..., int port=..., offline_mode=...)
ndarray solve_InvKin(self, position, blocked_links=...)
NoReturn close(self, ANNiCub_wrapper iCub)
ndarray get_jointangles(self, radians=...)
None __init__(cls, *args, **kwargs)
bool init(self, ANNiCub_wrapper iCub, str name, str part, float version, str ini_path=..., offline_mode=...)
ndarray get_DOF_links(self)
Any release_links(self, release_joints)
ndarray get_blocked_links(self)
Any block_links(self, blocked_joints)
ndarray set_jointangles(self, joint_angles, radians=...)