UnderAutomation.Fanuc 2.2.0.0__py3-none-any.whl → 3.0.0.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- underautomation/fanuc/common/cartesian_position.py +14 -0
- underautomation/fanuc/common/configuration.py +20 -17
- underautomation/fanuc/common/extended_cartesian_position.py +2 -20
- underautomation/fanuc/common/joints_position.py +11 -2
- underautomation/fanuc/common/position.py +1 -1
- underautomation/fanuc/fanuc_robot.py +1 -1
- underautomation/fanuc/ftp/fanuc_file_readers.py +14 -21
- underautomation/fanuc/ftp/internal/ftp_client_base.py +0 -1
- underautomation/fanuc/ftp/list/errall_section_item.py +12 -9
- underautomation/fanuc/ftp/list/error_list.py +2 -0
- underautomation/fanuc/ftp/variables/generic_variable_type_helpers.py +2 -2
- underautomation/fanuc/ftp/variables/variable_reader.py +70 -106
- underautomation/fanuc/kinematics/__init__.py +0 -0
- underautomation/fanuc/kinematics/arm_kinematic_models.py +88 -0
- underautomation/fanuc/kinematics/crx/__init__.py +0 -0
- underautomation/fanuc/kinematics/crx/crx10ia_dhm_parameters.py +25 -0
- underautomation/fanuc/kinematics/crx/crx10ia_l_dhm_parameters.py +25 -0
- underautomation/fanuc/kinematics/crx/crx_dhm_parameters.py +37 -0
- underautomation/fanuc/kinematics/crx/crx_kinematics_utils.py +18 -0
- underautomation/fanuc/kinematics/crx/i_crx_dhm_parameters.py +24 -0
- underautomation/fanuc/kinematics/crx10ia_l_dhm_parameters.py +31 -0
- underautomation/fanuc/kinematics/dh_parameters.py +77 -0
- underautomation/fanuc/kinematics/i_dh_parameters.py +30 -0
- underautomation/fanuc/kinematics/internal/__init__.py +0 -0
- underautomation/fanuc/kinematics/internal/arm_model_attribute.py +31 -0
- underautomation/fanuc/kinematics/kinematics_category.py +9 -0
- underautomation/fanuc/kinematics/kinematics_utils.py +24 -0
- underautomation/fanuc/kinematics/opw/__init__.py +0 -0
- underautomation/fanuc/kinematics/opw/opw_kinematics_utils.py +21 -0
- underautomation/fanuc/lib/UnderAutomation.Fanuc.dll +0 -0
- underautomation/fanuc/lib/version.txt +1 -1
- underautomation/fanuc/rmi/internal/rmi_client_base.py +13 -13
- underautomation/fanuc/rmi/internal/rmi_connect_parameters_base.py +6 -18
- underautomation/fanuc/snpx/internal/batch_assignment_2.py +2 -2
- underautomation/fanuc/snpx/internal/position_registers.py +1 -1
- underautomation/fanuc/snpx/internal/position_system_variables.py +1 -1
- underautomation/fanuc/snpx/internal/robot_alarm.py +1 -1
- underautomation/fanuc/snpx/internal/robot_task_status.py +1 -1
- underautomation/fanuc/snpx/internal/snpx_connect_parameters_base.py +2 -6
- underautomation/fanuc/snpx/internal/snpx_writable_assignable_elements_3.py +1 -1
- underautomation/fanuc/telnet/internal/telnet_client_base.py +3 -4
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/METADATA +1 -1
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/RECORD +45 -28
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/WHEEL +0 -0
- {underautomation_fanuc-2.2.0.0.dist-info → underautomation_fanuc-3.0.0.0.dist-info}/top_level.txt +0 -0
|
@@ -14,6 +14,20 @@ class CartesianPosition(XYZPosition):
|
|
|
14
14
|
self._instance = _internal
|
|
15
15
|
def __repr__(self):
|
|
16
16
|
return self._instance.ToString()
|
|
17
|
+
def to_homogeneous_matrix(self) -> typing.List[float]:
|
|
18
|
+
return self._instance.ToHomogeneousMatrix()
|
|
19
|
+
@staticmethod
|
|
20
|
+
def from_homogeneous_matrix(R: typing.List[float]) -> 'CartesianPosition':
|
|
21
|
+
return CartesianPosition(None, None, None, None, None, None, None, cartesian_position.FromHomogeneousMatrix(R))
|
|
22
|
+
@staticmethod
|
|
23
|
+
def normalize_angle(angle: float) -> float:
|
|
24
|
+
return cartesian_position.NormalizeAngle(angle)
|
|
25
|
+
@staticmethod
|
|
26
|
+
def normalize_angles(pose: 'CartesianPosition') -> None:
|
|
27
|
+
cartesian_position.NormalizeAngles(pose._instance if pose else None)
|
|
28
|
+
@staticmethod
|
|
29
|
+
def is_near(a: 'CartesianPosition', b: 'CartesianPosition', mmTolerance: float, degreesTolerance: float) -> bool:
|
|
30
|
+
return cartesian_position.IsNear(a._instance if a else None, b._instance if b else None, mmTolerance, degreesTolerance)
|
|
17
31
|
@property
|
|
18
32
|
def w(self) -> float:
|
|
19
33
|
return self._instance.W
|
|
@@ -19,6 +19,9 @@ class Configuration:
|
|
|
19
19
|
def from_string(self, value: str) -> None:
|
|
20
20
|
self._instance.FromString(value)
|
|
21
21
|
@property
|
|
22
|
+
def is_unknown(self) -> bool:
|
|
23
|
+
return self._instance.IsUnknown
|
|
24
|
+
@property
|
|
22
25
|
def wrist_flip(self) -> WristFlip:
|
|
23
26
|
return WristFlip(self._instance.WristFlip)
|
|
24
27
|
@wrist_flip.setter
|
|
@@ -43,20 +46,20 @@ class Configuration:
|
|
|
43
46
|
def arm_front_back(self, value: ArmFrontBack):
|
|
44
47
|
self._instance.ArmFrontBack = value
|
|
45
48
|
@property
|
|
46
|
-
def
|
|
47
|
-
return self._instance.
|
|
48
|
-
@
|
|
49
|
-
def
|
|
50
|
-
self._instance.
|
|
51
|
-
@property
|
|
52
|
-
def
|
|
53
|
-
return self._instance.
|
|
54
|
-
@
|
|
55
|
-
def
|
|
56
|
-
self._instance.
|
|
57
|
-
@property
|
|
58
|
-
def
|
|
59
|
-
return self._instance.
|
|
60
|
-
@
|
|
61
|
-
def
|
|
62
|
-
self._instance.
|
|
49
|
+
def turn_axis4(self) -> int:
|
|
50
|
+
return self._instance.TurnAxis4
|
|
51
|
+
@turn_axis4.setter
|
|
52
|
+
def turn_axis4(self, value: int):
|
|
53
|
+
self._instance.TurnAxis4 = value
|
|
54
|
+
@property
|
|
55
|
+
def turn_axis5(self) -> int:
|
|
56
|
+
return self._instance.TurnAxis5
|
|
57
|
+
@turn_axis5.setter
|
|
58
|
+
def turn_axis5(self, value: int):
|
|
59
|
+
self._instance.TurnAxis5 = value
|
|
60
|
+
@property
|
|
61
|
+
def turn_axis6(self) -> int:
|
|
62
|
+
return self._instance.TurnAxis6
|
|
63
|
+
@turn_axis6.setter
|
|
64
|
+
def turn_axis6(self, value: int):
|
|
65
|
+
self._instance.TurnAxis6 = value
|
|
@@ -6,9 +6,9 @@ clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..",
|
|
|
6
6
|
from UnderAutomation.Fanuc.Common import ExtendedCartesianPosition as extended_cartesian_position
|
|
7
7
|
|
|
8
8
|
class ExtendedCartesianPosition(CartesianPosition):
|
|
9
|
-
def __init__(self, x: float, y: float, z: float, w: float, p: float, r: float, e1: float, e2: float, e3: float,
|
|
9
|
+
def __init__(self, x: float, y: float, z: float, w: float, p: float, r: float, e1: float, e2: float, e3: float, _internal = 0):
|
|
10
10
|
if(_internal == 0):
|
|
11
|
-
self._instance = extended_cartesian_position(x, y, z, w, p, r, e1, e2, e3
|
|
11
|
+
self._instance = extended_cartesian_position(x, y, z, w, p, r, e1, e2, e3)
|
|
12
12
|
else:
|
|
13
13
|
self._instance = _internal
|
|
14
14
|
@property
|
|
@@ -29,21 +29,3 @@ class ExtendedCartesianPosition(CartesianPosition):
|
|
|
29
29
|
@e3.setter
|
|
30
30
|
def e3(self, value: float):
|
|
31
31
|
self._instance.E3 = value
|
|
32
|
-
@property
|
|
33
|
-
def t4(self) -> int:
|
|
34
|
-
return self._instance.T4
|
|
35
|
-
@t4.setter
|
|
36
|
-
def t4(self, value: int):
|
|
37
|
-
self._instance.T4 = value
|
|
38
|
-
@property
|
|
39
|
-
def t5(self) -> int:
|
|
40
|
-
return self._instance.T5
|
|
41
|
-
@t5.setter
|
|
42
|
-
def t5(self, value: int):
|
|
43
|
-
self._instance.T5 = value
|
|
44
|
-
@property
|
|
45
|
-
def t6(self) -> int:
|
|
46
|
-
return self._instance.T6
|
|
47
|
-
@t6.setter
|
|
48
|
-
def t6(self, value: int):
|
|
49
|
-
self._instance.T6 = value
|
|
@@ -5,13 +5,22 @@ clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..",
|
|
|
5
5
|
from UnderAutomation.Fanuc.Common import JointsPosition as joints_position
|
|
6
6
|
|
|
7
7
|
class JointsPosition:
|
|
8
|
-
def __init__(self,
|
|
8
|
+
def __init__(self, j1Deg: float, j2Deg: float, j3Deg: float, j4Deg: float, j5Deg: float, j6Deg: float, j7Deg: float, j8Deg: float, j9Deg: float, _internal = 0):
|
|
9
9
|
if(_internal == 0):
|
|
10
|
-
self._instance = joints_position(
|
|
10
|
+
self._instance = joints_position(j1Deg, j2Deg, j3Deg, j4Deg, j5Deg, j6Deg, j7Deg, j8Deg, j9Deg)
|
|
11
11
|
else:
|
|
12
12
|
self._instance = _internal
|
|
13
13
|
def __repr__(self):
|
|
14
14
|
return self._instance.ToString()
|
|
15
|
+
@staticmethod
|
|
16
|
+
def is_near(j1: 'JointsPosition', j2: 'JointsPosition', degreesTolerance: float) -> bool:
|
|
17
|
+
return joints_position.IsNear(j1._instance if j1 else None, j2._instance if j2 else None, degreesTolerance)
|
|
18
|
+
@property
|
|
19
|
+
def item(self) -> float:
|
|
20
|
+
return self._instance.Item
|
|
21
|
+
@item.setter
|
|
22
|
+
def item(self, value: float):
|
|
23
|
+
self._instance.Item = value
|
|
15
24
|
@property
|
|
16
25
|
def values(self) -> typing.List[float]:
|
|
17
26
|
return self._instance.Values
|
|
@@ -32,7 +32,7 @@ class Position:
|
|
|
32
32
|
self._instance.JointsPosition = value
|
|
33
33
|
@property
|
|
34
34
|
def cartesian_position(self) -> ExtendedCartesianPosition:
|
|
35
|
-
return ExtendedCartesianPosition(None, None, None, None, None, None, None, None, None,
|
|
35
|
+
return ExtendedCartesianPosition(None, None, None, None, None, None, None, None, None, self._instance.CartesianPosition)
|
|
36
36
|
@cartesian_position.setter
|
|
37
37
|
def cartesian_position(self, value: ExtendedCartesianPosition):
|
|
38
38
|
self._instance.CartesianPosition = value
|
|
@@ -17,7 +17,7 @@ class FanucRobot:
|
|
|
17
17
|
else:
|
|
18
18
|
self._instance = _internal
|
|
19
19
|
def connect(self, parameters: ConnectionParameters) -> None:
|
|
20
|
-
self._instance.Connect(parameters._instance)
|
|
20
|
+
self._instance.Connect(parameters._instance if parameters else None)
|
|
21
21
|
def disconnect(self) -> None:
|
|
22
22
|
self._instance.Disconnect()
|
|
23
23
|
@staticmethod
|
|
@@ -30,24 +30,17 @@ class FanucFileReaders:
|
|
|
30
30
|
@property
|
|
31
31
|
def readers(self) -> typing.List[IFileReader1]:
|
|
32
32
|
return [IFileReader1(x) for x in self._instance.Readers]
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return DiagnosisReader2[IOState, IOStateParser](self._instance.IOStateReader)
|
|
48
|
-
@property
|
|
49
|
-
def safety_status_reader(self) -> DiagnosisReader2[SafetyStatus, SafetyStatusParser]:
|
|
50
|
-
return DiagnosisReader2[SafetyStatus, SafetyStatusParser](self._instance.SafetyStatusReader)
|
|
51
|
-
@property
|
|
52
|
-
def program_states(self) -> DiagnosisReader2[ProgramStates, ProgramStatesParser]:
|
|
53
|
-
return DiagnosisReader2[ProgramStates, ProgramStatesParser](self._instance.ProgramStates)
|
|
33
|
+
|
|
34
|
+
FanucFileReaders.variable_reader = FanucFileReaders(fanuc_file_readers.VariableReader)
|
|
35
|
+
|
|
36
|
+
FanucFileReaders.error_list_reader = FanucFileReaders(fanuc_file_readers.ErrorListReader)
|
|
37
|
+
|
|
38
|
+
FanucFileReaders.summary_diagnostic_reader = FanucFileReaders(fanuc_file_readers.SummaryDiagnosticReader)
|
|
39
|
+
|
|
40
|
+
FanucFileReaders.current_position_reader = FanucFileReaders(fanuc_file_readers.CurrentPositionReader)
|
|
41
|
+
|
|
42
|
+
FanucFileReaders.io_state_reader = FanucFileReaders(fanuc_file_readers.IOStateReader)
|
|
43
|
+
|
|
44
|
+
FanucFileReaders.safety_status_reader = FanucFileReaders(fanuc_file_readers.SafetyStatusReader)
|
|
45
|
+
|
|
46
|
+
FanucFileReaders.program_states = FanucFileReaders(fanuc_file_readers.ProgramStates)
|
|
@@ -15,7 +15,6 @@ import os
|
|
|
15
15
|
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
16
16
|
from UnderAutomation.Fanuc.Ftp.Internal import FtpClientBase as ftp_client_base
|
|
17
17
|
|
|
18
|
-
뼁 = typing.TypeVar('뼁')
|
|
19
18
|
class FtpClientBase:
|
|
20
19
|
def __init__(self, _internal = 0):
|
|
21
20
|
if(_internal == 0):
|
|
@@ -13,17 +13,20 @@ class ErrallSectionItem:
|
|
|
13
13
|
def __repr__(self):
|
|
14
14
|
return self._instance.ToString()
|
|
15
15
|
@property
|
|
16
|
-
def is_reset(self) -> bool:
|
|
17
|
-
return self._instance.IsReset
|
|
18
|
-
@property
|
|
19
16
|
def id(self) -> int:
|
|
20
17
|
return self._instance.Id
|
|
21
|
-
@id.setter
|
|
22
|
-
def id(self, value: int):
|
|
23
|
-
self._instance.Id = value
|
|
24
18
|
@property
|
|
25
19
|
def text(self) -> str:
|
|
26
20
|
return self._instance.Text
|
|
27
|
-
@
|
|
28
|
-
def
|
|
29
|
-
self._instance.
|
|
21
|
+
@property
|
|
22
|
+
def error_code(self) -> str:
|
|
23
|
+
return self._instance.ErrorCode
|
|
24
|
+
@property
|
|
25
|
+
def message(self) -> str:
|
|
26
|
+
return self._instance.Message
|
|
27
|
+
@property
|
|
28
|
+
def occurring_time(self) -> typing.Any:
|
|
29
|
+
return self._instance.OccurringTime
|
|
30
|
+
@property
|
|
31
|
+
def is_reset(self) -> bool:
|
|
32
|
+
return self._instance.IsReset
|
|
@@ -12,6 +12,8 @@ class ErrorList(IFanucContent):
|
|
|
12
12
|
self._instance = error_list()
|
|
13
13
|
else:
|
|
14
14
|
self._instance = _internal
|
|
15
|
+
def filter_active_alarms(self) -> typing.List[ErrallSectionItem]:
|
|
16
|
+
return [ErrallSectionItem(x) for x in self._instance.FilterActiveAlarms()]
|
|
15
17
|
@property
|
|
16
18
|
def name(self) -> str:
|
|
17
19
|
return self._instance.Name
|
|
@@ -13,7 +13,7 @@ class GenericVariableTypeHelpers:
|
|
|
13
13
|
self._instance = _internal
|
|
14
14
|
@staticmethod
|
|
15
15
|
def get_ancestors(element: IGenericVariableType) -> typing.List[IGenericVariableType]:
|
|
16
|
-
return [IGenericVariableType(x) for x in generic_variable_type_helpers.GetAncestors(element._instance)]
|
|
16
|
+
return [IGenericVariableType(x) for x in generic_variable_type_helpers.GetAncestors(element._instance if element else None)]
|
|
17
17
|
@staticmethod
|
|
18
18
|
def get_field(element: IGenericVariableType, name: str) -> IGenericVariableType:
|
|
19
|
-
return IGenericVariableType(generic_variable_type_helpers.GetField(element._instance, name))
|
|
19
|
+
return IGenericVariableType(generic_variable_type_helpers.GetField(element._instance if element else None, name))
|
|
@@ -43,7 +43,6 @@ import os
|
|
|
43
43
|
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
44
44
|
from UnderAutomation.Fanuc.Ftp.Variables import VariableReader as variable_reader
|
|
45
45
|
|
|
46
|
-
뼁 = typing.TypeVar('뼁')
|
|
47
46
|
class VariableReader(FileReader1[GenericVariableFile]):
|
|
48
47
|
def __init__(self, _internal = 0):
|
|
49
48
|
if(_internal == 0):
|
|
@@ -58,108 +57,73 @@ class VariableReader(FileReader1[GenericVariableFile]):
|
|
|
58
57
|
@staticmethod
|
|
59
58
|
def parse_variable_file(stream: typing.Any) -> typing.List[GenericVariable]:
|
|
60
59
|
return [GenericVariable(x) for x in variable_reader.ParseVariableFile(stream)]
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
def synosave_file(self) -> VariableReader1[SynosaveFile]:
|
|
132
|
-
return VariableReader1[SynosaveFile](self._instance.SynosaveFile)
|
|
133
|
-
@property
|
|
134
|
-
def sysframe_file(self) -> VariableReader1[SysframeFile]:
|
|
135
|
-
return VariableReader1[SysframeFile](self._instance.SysframeFile)
|
|
136
|
-
@property
|
|
137
|
-
def sysfsac_file(self) -> VariableReader1[SysfsacFile]:
|
|
138
|
-
return VariableReader1[SysfsacFile](self._instance.SysfsacFile)
|
|
139
|
-
@property
|
|
140
|
-
def syshost_file(self) -> VariableReader1[SyshostFile]:
|
|
141
|
-
return VariableReader1[SyshostFile](self._instance.SyshostFile)
|
|
142
|
-
@property
|
|
143
|
-
def sysmacro_file(self) -> VariableReader1[SysmacroFile]:
|
|
144
|
-
return VariableReader1[SysmacroFile](self._instance.SysmacroFile)
|
|
145
|
-
@property
|
|
146
|
-
def sysmast_file(self) -> VariableReader1[SysmastFile]:
|
|
147
|
-
return VariableReader1[SysmastFile](self._instance.SysmastFile)
|
|
148
|
-
@property
|
|
149
|
-
def syspass_file(self) -> VariableReader1[SyspassFile]:
|
|
150
|
-
return VariableReader1[SyspassFile](self._instance.SyspassFile)
|
|
151
|
-
@property
|
|
152
|
-
def sysservo_file(self) -> VariableReader1[SysservoFile]:
|
|
153
|
-
return VariableReader1[SysservoFile](self._instance.SysservoFile)
|
|
154
|
-
@property
|
|
155
|
-
def system_file(self) -> VariableReader1[SystemFile]:
|
|
156
|
-
return VariableReader1[SystemFile](self._instance.SystemFile)
|
|
157
|
-
@property
|
|
158
|
-
def sysuif_file(self) -> VariableReader1[SysuifFile]:
|
|
159
|
-
return VariableReader1[SysuifFile](self._instance.SysuifFile)
|
|
160
|
-
@property
|
|
161
|
-
def tpsnap_file(self) -> VariableReader1[TpsnapFile]:
|
|
162
|
-
return VariableReader1[TpsnapFile](self._instance.TpsnapFile)
|
|
163
|
-
@property
|
|
164
|
-
def vcmrinit_file(self) -> VariableReader1[VcmrinitFile]:
|
|
165
|
-
return VariableReader1[VcmrinitFile](self._instance.VcmrinitFile)
|
|
60
|
+
|
|
61
|
+
VariableReader.aavmmain_file = VariableReader(variable_reader.AavmmainFile)
|
|
62
|
+
|
|
63
|
+
VariableReader.bicsetup_file = VariableReader(variable_reader.BicsetupFile)
|
|
64
|
+
|
|
65
|
+
VariableReader.cbparam_file = VariableReader(variable_reader.CbparamFile)
|
|
66
|
+
|
|
67
|
+
VariableReader.cellio_file = VariableReader(variable_reader.CellioFile)
|
|
68
|
+
|
|
69
|
+
VariableReader.comset_file = VariableReader(variable_reader.ComsetFile)
|
|
70
|
+
|
|
71
|
+
VariableReader.diocfgsv_file = VariableReader(variable_reader.DiocfgsvFile)
|
|
72
|
+
|
|
73
|
+
VariableReader.gemdata_file = VariableReader(variable_reader.GemdataFile)
|
|
74
|
+
|
|
75
|
+
VariableReader.htcolrec_file = VariableReader(variable_reader.HtcolrecFile)
|
|
76
|
+
|
|
77
|
+
VariableReader.httpkcl_file = VariableReader(variable_reader.HttpkclFile)
|
|
78
|
+
|
|
79
|
+
VariableReader.irc_counter_file = VariableReader(variable_reader.IrcCounterFile)
|
|
80
|
+
|
|
81
|
+
VariableReader.irc_msg_file = VariableReader(variable_reader.IrcMsgFile)
|
|
82
|
+
|
|
83
|
+
VariableReader.irc_status_file = VariableReader(variable_reader.IrcStatusFile)
|
|
84
|
+
|
|
85
|
+
VariableReader.irc_stlabel_file = VariableReader(variable_reader.IrcStlabelFile)
|
|
86
|
+
|
|
87
|
+
VariableReader.klaction_file = VariableReader(variable_reader.KlactionFile)
|
|
88
|
+
|
|
89
|
+
VariableReader.mixlogic_file = VariableReader(variable_reader.MixlogicFile)
|
|
90
|
+
|
|
91
|
+
VariableReader.mtparam_file = VariableReader(variable_reader.MtparamFile)
|
|
92
|
+
|
|
93
|
+
VariableReader.numreg_file = VariableReader(variable_reader.NumregFile)
|
|
94
|
+
|
|
95
|
+
VariableReader.palreg_file = VariableReader(variable_reader.PalregFile)
|
|
96
|
+
|
|
97
|
+
VariableReader.posreg_file = VariableReader(variable_reader.PosregFile)
|
|
98
|
+
|
|
99
|
+
VariableReader.strreg_file = VariableReader(variable_reader.StrregFile)
|
|
100
|
+
|
|
101
|
+
VariableReader.swiupdt_file = VariableReader(variable_reader.SwiupdtFile)
|
|
102
|
+
|
|
103
|
+
VariableReader.sycldint_file = VariableReader(variable_reader.SycldintFile)
|
|
104
|
+
|
|
105
|
+
VariableReader.symotn_file = VariableReader(variable_reader.SymotnFile)
|
|
106
|
+
|
|
107
|
+
VariableReader.synosave_file = VariableReader(variable_reader.SynosaveFile)
|
|
108
|
+
|
|
109
|
+
VariableReader.sysframe_file = VariableReader(variable_reader.SysframeFile)
|
|
110
|
+
|
|
111
|
+
VariableReader.sysfsac_file = VariableReader(variable_reader.SysfsacFile)
|
|
112
|
+
|
|
113
|
+
VariableReader.syshost_file = VariableReader(variable_reader.SyshostFile)
|
|
114
|
+
|
|
115
|
+
VariableReader.sysmacro_file = VariableReader(variable_reader.SysmacroFile)
|
|
116
|
+
|
|
117
|
+
VariableReader.sysmast_file = VariableReader(variable_reader.SysmastFile)
|
|
118
|
+
|
|
119
|
+
VariableReader.syspass_file = VariableReader(variable_reader.SyspassFile)
|
|
120
|
+
|
|
121
|
+
VariableReader.sysservo_file = VariableReader(variable_reader.SysservoFile)
|
|
122
|
+
|
|
123
|
+
VariableReader.system_file = VariableReader(variable_reader.SystemFile)
|
|
124
|
+
|
|
125
|
+
VariableReader.sysuif_file = VariableReader(variable_reader.SysuifFile)
|
|
126
|
+
|
|
127
|
+
VariableReader.tpsnap_file = VariableReader(variable_reader.TpsnapFile)
|
|
128
|
+
|
|
129
|
+
VariableReader.vcmrinit_file = VariableReader(variable_reader.VcmrinitFile)
|
|
File without changes
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import clr
|
|
2
|
+
import os
|
|
3
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
4
|
+
from UnderAutomation.Fanuc.Kinematics import ArmKinematicModels as arm_kinematic_models
|
|
5
|
+
|
|
6
|
+
class ArmKinematicModels(int):
|
|
7
|
+
ARCMate0iA = arm_kinematic_models.ARCMate0iA
|
|
8
|
+
ARCMate0iB = arm_kinematic_models.ARCMate0iB
|
|
9
|
+
ARCMate0iB_2 = arm_kinematic_models.ARCMate0iB_2
|
|
10
|
+
ARCMate100iD = arm_kinematic_models.ARCMate100iD
|
|
11
|
+
ARCMate100iD10L = arm_kinematic_models.ARCMate100iD10L
|
|
12
|
+
ARCMate100iD16S = arm_kinematic_models.ARCMate100iD16S
|
|
13
|
+
ARCMate100iD8L = arm_kinematic_models.ARCMate100iD8L
|
|
14
|
+
ARCMate120iD = arm_kinematic_models.ARCMate120iD
|
|
15
|
+
ARCMate120iD12L = arm_kinematic_models.ARCMate120iD12L
|
|
16
|
+
ARCMate120iD35 = arm_kinematic_models.ARCMate120iD35
|
|
17
|
+
CR14iAL = arm_kinematic_models.CR14iAL
|
|
18
|
+
CR15iA = arm_kinematic_models.CR15iA
|
|
19
|
+
CR35iA = arm_kinematic_models.CR35iA
|
|
20
|
+
CR7iA = arm_kinematic_models.CR7iA
|
|
21
|
+
CR7iAL = arm_kinematic_models.CR7iAL
|
|
22
|
+
CRX10iA = arm_kinematic_models.CRX10iA
|
|
23
|
+
CRX10iAL = arm_kinematic_models.CRX10iAL
|
|
24
|
+
LRMate200iD = arm_kinematic_models.LRMate200iD
|
|
25
|
+
LRMate200iD7C = arm_kinematic_models.LRMate200iD7C
|
|
26
|
+
LRMate200iD7L = arm_kinematic_models.LRMate200iD7L
|
|
27
|
+
LRMate200iD7LC = arm_kinematic_models.LRMate200iD7LC
|
|
28
|
+
LaserRobotHA = arm_kinematic_models.LaserRobotHA
|
|
29
|
+
M10iA10M = arm_kinematic_models.M10iA10M
|
|
30
|
+
M10iA10MS = arm_kinematic_models.M10iA10MS
|
|
31
|
+
M10iA12 = arm_kinematic_models.M10iA12
|
|
32
|
+
M10iA12S = arm_kinematic_models.M10iA12S
|
|
33
|
+
M10iA7L = arm_kinematic_models.M10iA7L
|
|
34
|
+
M10iA8L = arm_kinematic_models.M10iA8L
|
|
35
|
+
M2000iA1700L = arm_kinematic_models.M2000iA1700L
|
|
36
|
+
M2000iA2300 = arm_kinematic_models.M2000iA2300
|
|
37
|
+
M2000iA1200 = arm_kinematic_models.M2000iA1200
|
|
38
|
+
M2000iA900L = arm_kinematic_models.M2000iA900L
|
|
39
|
+
M20iA = arm_kinematic_models.M20iA
|
|
40
|
+
M20iA12L = arm_kinematic_models.M20iA12L
|
|
41
|
+
M20iA20M = arm_kinematic_models.M20iA20M
|
|
42
|
+
M20iA35M = arm_kinematic_models.M20iA35M
|
|
43
|
+
M20iB25C = arm_kinematic_models.M20iB25C
|
|
44
|
+
M410iC110 = arm_kinematic_models.M410iC110
|
|
45
|
+
M410iC185_2 = arm_kinematic_models.M410iC185_2
|
|
46
|
+
M410iC185 = arm_kinematic_models.M410iC185
|
|
47
|
+
M410iC500 = arm_kinematic_models.M410iC500
|
|
48
|
+
M410iC500_2 = arm_kinematic_models.M410iC500_2
|
|
49
|
+
M800iA60 = arm_kinematic_models.M800iA60
|
|
50
|
+
M900iB280L = arm_kinematic_models.M900iB280L
|
|
51
|
+
M900iB330L = arm_kinematic_models.M900iB330L
|
|
52
|
+
M900iB360 = arm_kinematic_models.M900iB360
|
|
53
|
+
M900iB400L = arm_kinematic_models.M900iB400L
|
|
54
|
+
M900iB700 = arm_kinematic_models.M900iB700
|
|
55
|
+
M900iBKAI = arm_kinematic_models.M900iBKAI
|
|
56
|
+
M20iB25 = arm_kinematic_models.M20iB25
|
|
57
|
+
M20iB35S = arm_kinematic_models.M20iB35S
|
|
58
|
+
M710iC12L = arm_kinematic_models.M710iC12L
|
|
59
|
+
M710iC20M = arm_kinematic_models.M710iC20M
|
|
60
|
+
M710iC45M = arm_kinematic_models.M710iC45M
|
|
61
|
+
M710iC50 = arm_kinematic_models.M710iC50
|
|
62
|
+
P700iANewRightyArmRightOffset = arm_kinematic_models.P700iANewRightyArmRightOffset
|
|
63
|
+
P350iA45LeftHand = arm_kinematic_models.P350iA45LeftHand
|
|
64
|
+
P350iA45RightHand = arm_kinematic_models.P350iA45RightHand
|
|
65
|
+
R1000iA100F = arm_kinematic_models.R1000iA100F
|
|
66
|
+
R1000iA130F = arm_kinematic_models.R1000iA130F
|
|
67
|
+
R1000iA80F = arm_kinematic_models.R1000iA80F
|
|
68
|
+
R2000iB125L = arm_kinematic_models.R2000iB125L
|
|
69
|
+
R2000iB175L = arm_kinematic_models.R2000iB175L
|
|
70
|
+
R2000iC100S = arm_kinematic_models.R2000iC100S
|
|
71
|
+
R2000iC270F = arm_kinematic_models.R2000iC270F
|
|
72
|
+
R2000iD100FH = arm_kinematic_models.R2000iD100FH
|
|
73
|
+
R1000iA100F7 = arm_kinematic_models.R1000iA100F7
|
|
74
|
+
R1000iA120F7B_3 = arm_kinematic_models.R1000iA120F7B_3
|
|
75
|
+
R1000iA120F7B_2 = arm_kinematic_models.R1000iA120F7B_2
|
|
76
|
+
R1000iA120F7B = arm_kinematic_models.R1000iA120F7B
|
|
77
|
+
R1000iA120F7BS = arm_kinematic_models.R1000iA120F7BS
|
|
78
|
+
R1000iA120F7BS_3 = arm_kinematic_models.R1000iA120F7BS_3
|
|
79
|
+
R1000iA120F7BS_2 = arm_kinematic_models.R1000iA120F7BS_2
|
|
80
|
+
R2000iB210FS = arm_kinematic_models.R2000iB210FS
|
|
81
|
+
R2000iB220US = arm_kinematic_models.R2000iB220US
|
|
82
|
+
R2000iC125L = arm_kinematic_models.R2000iC125L
|
|
83
|
+
R2000iC190U = arm_kinematic_models.R2000iC190U
|
|
84
|
+
R2000iC210F = arm_kinematic_models.R2000iC210F
|
|
85
|
+
R2000iC210L = arm_kinematic_models.R2000iC210L
|
|
86
|
+
R2000iC210WE = arm_kinematic_models.R2000iC210WE
|
|
87
|
+
R2000iC210WEProto = arm_kinematic_models.R2000iC210WEProto
|
|
88
|
+
R2000iC220U = arm_kinematic_models.R2000iC220U
|
|
File without changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.crx.i_crx_dhm_parameters import ICrxDhmParameters
|
|
3
|
+
import clr
|
|
4
|
+
import os
|
|
5
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
6
|
+
from UnderAutomation.Fanuc.Kinematics.Crx import Crx10iaDhmParameters as crx10ia_dhm_parameters
|
|
7
|
+
|
|
8
|
+
class Crx10iaDhmParameters(ICrxDhmParameters):
|
|
9
|
+
def __init__(self, _internal = 0):
|
|
10
|
+
if(_internal == 0):
|
|
11
|
+
self._instance = crx10ia_dhm_parameters()
|
|
12
|
+
else:
|
|
13
|
+
self._instance = _internal
|
|
14
|
+
@property
|
|
15
|
+
def a2(self) -> float:
|
|
16
|
+
return self._instance.A2
|
|
17
|
+
@property
|
|
18
|
+
def d4(self) -> float:
|
|
19
|
+
return self._instance.D4
|
|
20
|
+
@property
|
|
21
|
+
def d5(self) -> float:
|
|
22
|
+
return self._instance.D5
|
|
23
|
+
@property
|
|
24
|
+
def d6(self) -> float:
|
|
25
|
+
return self._instance.D6
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.crx.i_crx_dhm_parameters import ICrxDhmParameters
|
|
3
|
+
import clr
|
|
4
|
+
import os
|
|
5
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
6
|
+
from UnderAutomation.Fanuc.Kinematics.Crx import Crx10iaLDhmParameters as crx10ia_l_dhm_parameters
|
|
7
|
+
|
|
8
|
+
class Crx10iaLDhmParameters(ICrxDhmParameters):
|
|
9
|
+
def __init__(self, _internal = 0):
|
|
10
|
+
if(_internal == 0):
|
|
11
|
+
self._instance = crx10ia_l_dhm_parameters()
|
|
12
|
+
else:
|
|
13
|
+
self._instance = _internal
|
|
14
|
+
@property
|
|
15
|
+
def a2(self) -> float:
|
|
16
|
+
return self._instance.A2
|
|
17
|
+
@property
|
|
18
|
+
def d4(self) -> float:
|
|
19
|
+
return self._instance.D4
|
|
20
|
+
@property
|
|
21
|
+
def d5(self) -> float:
|
|
22
|
+
return self._instance.D5
|
|
23
|
+
@property
|
|
24
|
+
def d6(self) -> float:
|
|
25
|
+
return self._instance.D6
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.kinematics.crx.i_crx_dhm_parameters import ICrxDhmParameters
|
|
3
|
+
import clr
|
|
4
|
+
import os
|
|
5
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
6
|
+
from UnderAutomation.Fanuc.Kinematics.Crx import CrxDhmParameters as crx_dhm_parameters
|
|
7
|
+
|
|
8
|
+
class CrxDhmParameters(ICrxDhmParameters):
|
|
9
|
+
def __init__(self, a1: float, r4: float, r5: float, r6: float, _internal = 0):
|
|
10
|
+
if(_internal == 0):
|
|
11
|
+
self._instance = crx_dhm_parameters(a1, r4, r5, r6)
|
|
12
|
+
else:
|
|
13
|
+
self._instance = _internal
|
|
14
|
+
@property
|
|
15
|
+
def a2(self) -> float:
|
|
16
|
+
return self._instance.A2
|
|
17
|
+
@a2.setter
|
|
18
|
+
def a2(self, value: float):
|
|
19
|
+
self._instance.A2 = value
|
|
20
|
+
@property
|
|
21
|
+
def d4(self) -> float:
|
|
22
|
+
return self._instance.D4
|
|
23
|
+
@d4.setter
|
|
24
|
+
def d4(self, value: float):
|
|
25
|
+
self._instance.D4 = value
|
|
26
|
+
@property
|
|
27
|
+
def d5(self) -> float:
|
|
28
|
+
return self._instance.D5
|
|
29
|
+
@d5.setter
|
|
30
|
+
def d5(self, value: float):
|
|
31
|
+
self._instance.D5 = value
|
|
32
|
+
@property
|
|
33
|
+
def d6(self) -> float:
|
|
34
|
+
return self._instance.D6
|
|
35
|
+
@d6.setter
|
|
36
|
+
def d6(self, value: float):
|
|
37
|
+
self._instance.D6 = value
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import typing
|
|
2
|
+
from underautomation.fanuc.common.joints_position import JointsPosition
|
|
3
|
+
from underautomation.fanuc.common.cartesian_position import CartesianPosition
|
|
4
|
+
from underautomation.fanuc.kinematics.dh_parameters import DhParameters
|
|
5
|
+
import clr
|
|
6
|
+
import os
|
|
7
|
+
clr.AddReference(os.path.realpath(os.path.join(os.path.dirname(__file__), "..", "..", 'lib', 'UnderAutomation.Fanuc.dll')))
|
|
8
|
+
from UnderAutomation.Fanuc.Kinematics.Crx import CrxKinematicsUtils as crx_kinematics_utils
|
|
9
|
+
|
|
10
|
+
class CrxKinematicsUtils:
|
|
11
|
+
def __init__(self, _internal = 0):
|
|
12
|
+
if(_internal == 0):
|
|
13
|
+
self._instance = crx_kinematics_utils()
|
|
14
|
+
else:
|
|
15
|
+
self._instance = _internal
|
|
16
|
+
@staticmethod
|
|
17
|
+
def inverse_kinematics(pose: CartesianPosition, parameters: DhParameters, includeDuals: bool=True, seedJoints: typing.List[float]=None) -> typing.List[JointsPosition]:
|
|
18
|
+
return [JointsPosition(x) for x in crx_kinematics_utils.InverseKinematics(pose._instance if pose else None, parameters._instance if parameters else None, includeDuals, seedJoints)]
|