ur-sock 0.3.2 → 0.3.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/dashboard.rb +46 -25
- data/lib/rtde.rb +60 -15
- data/ur-sock.gemspec +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8dde2b66e0d8f0ab96fdbe057344b2b7472b65e08811d643ec4d55fa784b55f
|
4
|
+
data.tar.gz: 9fb11b94f2b0de59f0708e8d785b06a86116080259969e85b9e56dd25eb953cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2ea13d1e1859e308f8d5c8e802987d666ad0fa84ccaf92419234d90ced941ff0fe220ba30d210b507c892d6839dd37f24100dad5131b0109fd2b6018528b2712
|
7
|
+
data.tar.gz: 926a8c316f11eb496add47ee6de9dd72dfd33cdc1b3b5ff3550592369cdebaea864417440ee7226c8d879e7235d22767ae9253e73e7608281c725f0e5d1baa77
|
data/lib/dashboard.rb
CHANGED
@@ -77,13 +77,13 @@ module UR
|
|
77
77
|
end
|
78
78
|
|
79
79
|
def load_program (programname)
|
80
|
-
@logger.
|
80
|
+
@logger.debug "loadprogram"
|
81
81
|
send = "load " + programname + ".urp\n"
|
82
82
|
puts send
|
83
83
|
@sock.write (send)
|
84
84
|
line = @sock.gets.strip
|
85
85
|
if line.match(/^./) == 'L'
|
86
|
-
@logger.
|
86
|
+
@logger.debug line
|
87
87
|
true
|
88
88
|
else
|
89
89
|
@logger.error line
|
@@ -95,7 +95,7 @@ module UR
|
|
95
95
|
@sock.write("play\n")
|
96
96
|
line = @sock.gets.strip
|
97
97
|
if line == "Starting program"
|
98
|
-
@logger.
|
98
|
+
@logger.debug line
|
99
99
|
true
|
100
100
|
else
|
101
101
|
@logger.error line
|
@@ -107,7 +107,7 @@ module UR
|
|
107
107
|
@sock.write("stop\n")
|
108
108
|
line = @sock.gets.strip
|
109
109
|
if line == "Stopped"
|
110
|
-
@logger.
|
110
|
+
@logger.debug line
|
111
111
|
true
|
112
112
|
else
|
113
113
|
@logger.error line
|
@@ -117,8 +117,9 @@ module UR
|
|
117
117
|
|
118
118
|
def pause_program
|
119
119
|
@sock.write("pause\n")
|
120
|
+
line = @sock.gets.strip
|
120
121
|
if line == "Pausing program"
|
121
|
-
@logger.
|
122
|
+
@logger.debug line
|
122
123
|
true
|
123
124
|
else
|
124
125
|
@logger.error line
|
@@ -128,8 +129,9 @@ module UR
|
|
128
129
|
|
129
130
|
def shutdown
|
130
131
|
@sock.write("shutdown\n")
|
132
|
+
line = @sock.gets.strip
|
131
133
|
if line == "Shutting down"
|
132
|
-
@logger.
|
134
|
+
@logger.debug line
|
133
135
|
true
|
134
136
|
else
|
135
137
|
@logger.error line
|
@@ -139,8 +141,9 @@ module UR
|
|
139
141
|
|
140
142
|
def running?
|
141
143
|
@sock.write("running\n")
|
144
|
+
line = @sock.gets.strip
|
142
145
|
if line == "Program running: True"
|
143
|
-
@logger.
|
146
|
+
@logger.debug line
|
144
147
|
true
|
145
148
|
else
|
146
149
|
@logger.error line
|
@@ -151,7 +154,7 @@ module UR
|
|
151
154
|
def get_robotmode
|
152
155
|
@sock.write("robotmode\n")
|
153
156
|
line = @sock.gets.strip
|
154
|
-
@logger.
|
157
|
+
@logger.debug line
|
155
158
|
result = $1.strip if line.match(/^Robotmode:\s(.+)/)
|
156
159
|
end
|
157
160
|
|
@@ -159,7 +162,7 @@ module UR
|
|
159
162
|
@sock.write ("get loaded program\n")
|
160
163
|
line = @sock.gets.strip
|
161
164
|
if line.match(/^Loaded program:\s(.+)/)
|
162
|
-
@logger.
|
165
|
+
@logger.debug line
|
163
166
|
path = $1.strip
|
164
167
|
else
|
165
168
|
@logger.error line
|
@@ -169,19 +172,19 @@ module UR
|
|
169
172
|
|
170
173
|
def open_popupmessage(message)
|
171
174
|
@sock.write ("popup " + message.to_s + "\n")
|
172
|
-
@logger.
|
175
|
+
@logger.debug @sock.gets.strip
|
173
176
|
end
|
174
177
|
|
175
178
|
def close_popupmessage
|
176
179
|
@sock.write ("close popup\n")
|
177
|
-
@logger.
|
180
|
+
@logger.debug @sock.gets.strip
|
178
181
|
end
|
179
182
|
|
180
183
|
def add_to_log(message)
|
181
184
|
@sock.write ("addToLog " + message.to_s + "\n")
|
182
185
|
line = @sock.gets.strip
|
183
186
|
if line.match(/^Added log message/)
|
184
|
-
@logger.
|
187
|
+
@logger.debug line
|
185
188
|
else
|
186
189
|
@logger.error line
|
187
190
|
end
|
@@ -189,8 +192,9 @@ module UR
|
|
189
192
|
|
190
193
|
def is_program_saved?
|
191
194
|
@sock.write("isProgramSaved\n")
|
195
|
+
line = @sock.gets.strip
|
192
196
|
if line == "True"
|
193
|
-
@logger.
|
197
|
+
@logger.debug line
|
194
198
|
true
|
195
199
|
else
|
196
200
|
@logger.error line
|
@@ -201,22 +205,32 @@ module UR
|
|
201
205
|
def get_program_state
|
202
206
|
@sock.write("programState\n")
|
203
207
|
line = @sock.gets.strip
|
204
|
-
@logger.
|
208
|
+
@logger.debug line
|
205
209
|
line
|
206
210
|
end
|
207
211
|
|
208
212
|
def get_polyscope_version
|
209
213
|
@sock.write("PolyscopeVersion\n")
|
210
214
|
line = @sock.gets.strip
|
211
|
-
@logger.
|
215
|
+
@logger.debug line
|
212
216
|
line
|
213
217
|
end
|
214
218
|
|
219
|
+
def set_operation_mode_manual
|
220
|
+
@sock.write("set operational mode manual\n")
|
221
|
+
line = @sock.gets.strip
|
222
|
+
if line.match(/^S/)
|
223
|
+
@logger.debug line
|
224
|
+
else
|
225
|
+
@logger.error line
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
215
229
|
def set_operation_mode_auto
|
216
230
|
@sock.write("set operational mode automatic\n")
|
217
231
|
line = @sock.gets.strip
|
218
232
|
if line.match(/^S/)
|
219
|
-
@logger.
|
233
|
+
@logger.debug line
|
220
234
|
else
|
221
235
|
@logger.error line
|
222
236
|
end
|
@@ -226,7 +240,7 @@ module UR
|
|
226
240
|
@sock.write("clear operational mode\n")
|
227
241
|
line = @sock.gets.strip
|
228
242
|
if line.match(/^operational/)
|
229
|
-
@logger.
|
243
|
+
@logger.debug line
|
230
244
|
true
|
231
245
|
else
|
232
246
|
@logger.error line
|
@@ -235,8 +249,9 @@ module UR
|
|
235
249
|
|
236
250
|
def power_on
|
237
251
|
@sock.write("power on\n")
|
252
|
+
line = @sock.gets.strip
|
238
253
|
if line.match(/^Powering/)
|
239
|
-
@logger.
|
254
|
+
@logger.debug line
|
240
255
|
true
|
241
256
|
else
|
242
257
|
@logger.error line
|
@@ -246,8 +261,9 @@ module UR
|
|
246
261
|
|
247
262
|
def power_off
|
248
263
|
@sock.write("power off\n")
|
264
|
+
line = @sock.gets.strip
|
249
265
|
if line.match(/^Powering/)
|
250
|
-
@logger.
|
266
|
+
@logger.debug line
|
251
267
|
true
|
252
268
|
else
|
253
269
|
@logger.error line
|
@@ -257,8 +273,9 @@ module UR
|
|
257
273
|
|
258
274
|
def break_release
|
259
275
|
@sock.write("brake release\n")
|
276
|
+
line = @sock.gets.strip
|
260
277
|
if line.match(/^Brake/)
|
261
|
-
@logger.
|
278
|
+
@logger.debug line
|
262
279
|
true
|
263
280
|
else
|
264
281
|
@logger.error line
|
@@ -269,14 +286,15 @@ module UR
|
|
269
286
|
def get_safety_mode
|
270
287
|
@sock.write("safetymode\n")
|
271
288
|
line = @sock.gets.strip
|
272
|
-
@logger.
|
289
|
+
@logger.debug line
|
273
290
|
result = $1.strip if line.match(/^Safetymode:\s(.+)/)
|
274
291
|
end
|
275
292
|
|
276
293
|
def unlock_protective_stop
|
277
294
|
@sock.write("unlock protective stop\n")
|
295
|
+
line = @sock.gets.strip
|
278
296
|
if line.match(/^Protective/)
|
279
|
-
@logger.
|
297
|
+
@logger.debug line
|
280
298
|
true
|
281
299
|
else
|
282
300
|
@logger.error line
|
@@ -286,8 +304,9 @@ module UR
|
|
286
304
|
|
287
305
|
def close_safety_popup
|
288
306
|
@sock.write("close safety popup\n")
|
307
|
+
line = @sock.gets.strip
|
289
308
|
if line.match(/^closing/)
|
290
|
-
@logger.
|
309
|
+
@logger.debug line
|
291
310
|
true
|
292
311
|
else
|
293
312
|
@logger.error line
|
@@ -297,8 +316,9 @@ module UR
|
|
297
316
|
|
298
317
|
def load_installation
|
299
318
|
@sock.write("load installation\n")
|
319
|
+
line = @sock.gets.strip
|
300
320
|
if line.match(/^Loading/)
|
301
|
-
@logger.
|
321
|
+
@logger.debug line
|
302
322
|
true
|
303
323
|
else
|
304
324
|
@logger.error line
|
@@ -308,8 +328,9 @@ module UR
|
|
308
328
|
|
309
329
|
def restart_safety
|
310
330
|
@sock.write("restart safety\n")
|
331
|
+
line = @sock.gets.strip
|
311
332
|
if line.match(/^Brake/)
|
312
|
-
@logger.
|
333
|
+
@logger.debug line
|
313
334
|
true
|
314
335
|
else
|
315
336
|
@logger.error line
|
data/lib/rtde.rb
CHANGED
@@ -7,17 +7,66 @@ module UR
|
|
7
7
|
|
8
8
|
class Rtde
|
9
9
|
PROTOCOL_VERSION = 2
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
10
|
+
ROBOTMODE = {
|
11
|
+
-1 => 'No Controller',
|
12
|
+
0 => 'Disconnected',
|
13
|
+
1 => 'Confirm Safety',
|
14
|
+
2 => 'Booting',
|
15
|
+
3 => 'Power Off',
|
16
|
+
4 => 'Power On',
|
17
|
+
5 => 'Idle',
|
18
|
+
6 => 'Backdrive',
|
19
|
+
7 => 'Running',
|
20
|
+
8 => 'Updating Firmware'
|
21
|
+
}
|
22
|
+
PROGRAMSTATE = {
|
23
|
+
1 => 'Stopped',
|
24
|
+
2 => 'Playing',
|
25
|
+
4 => 'Paused'
|
26
|
+
}
|
27
|
+
JOINTMODE = {
|
28
|
+
235 => 'JOINT_MODE_RESET',
|
29
|
+
236 => 'JOINT_MODE_SHUTTING_DOWN',
|
30
|
+
237 => 'JOINT_PART_D_CALIBRATION_MODE (INTERNAL USE ONLY)',
|
31
|
+
238 => 'JOINT_MODE_BACKDRIVE',
|
32
|
+
239 => 'JOINT_MODE_POWER_OFF',
|
33
|
+
240 => 'JOINT_MODE_READY_FOR_POWER_OFF (FROM VERSION 5.1)',
|
34
|
+
245 => 'JOINT_MODE_NOT_RESPONDING',
|
35
|
+
246 => 'JOINT_MODE_MOTOR_INITIALISATION',
|
36
|
+
247 => 'JOINT_MODE_BOOTING',
|
37
|
+
248 => 'JOINT_PART_D_CALIBRATION_ERROR_MODE (INTERNAL USE ONLY)',
|
38
|
+
249 => 'JOINT_MODE_BOOTLOADER',
|
39
|
+
250 => 'JOINT_CALIBRATION_MODE (INTERNAL USE ONLY)',
|
40
|
+
251 => 'JOINT_MODE_VIOLATION',
|
41
|
+
252 => 'JOINT_MODE_FAULT',
|
42
|
+
253 => 'JOINT_MODE_RUNNING',
|
43
|
+
255 => 'JOINT_MODE_IDLE'
|
44
|
+
}
|
45
|
+
SAFETYMODE = {
|
46
|
+
11 => 'SAFETY_MODE_UNDEFINED_SAFETY_MODE',
|
47
|
+
10 => 'SAFETY_MODE_VALIDATE_JOINT_ID',
|
48
|
+
9 => 'SAFETY_MODE_FAULT',
|
49
|
+
8 => 'SAFETY_MODE_VIOLATION',
|
50
|
+
7 => 'SAFETY_MODE_ROBOT_EMERGENCY_STOP',
|
51
|
+
6 => 'SAFETY_MODE_SYSTEM_EMERGENCY_STOP',
|
52
|
+
5 => 'SAFETY_MODE_SAFEGUARD_STOP',
|
53
|
+
4 => 'SAFETY_MODE_RECOVERY',
|
54
|
+
3 => 'SAFETY_MODE_PROTECTIVE_STOP',
|
55
|
+
2 => 'SAFETY_MODE_REDUCED',
|
56
|
+
1 => 'SAFETY_MODE_NORMAL'
|
57
|
+
}
|
58
|
+
|
59
|
+
TOOLMODE = {
|
60
|
+
235 => 'JOINT_MODE_RESET',
|
61
|
+
236 => 'JOINT_MODE_SHUTTING_DOWN',
|
62
|
+
239 => 'JOINT_MODE_POWER_OFF',
|
63
|
+
245 => 'JOINT_MODE_NOT_RESPONDING',
|
64
|
+
247 => 'JOINT_MODE_BOOTING',
|
65
|
+
249 => 'JOINT_MODE_BOOTLOADER',
|
66
|
+
252 => 'JOINT_MODE_FAULT',
|
67
|
+
253 => 'JOINT_MODE_RUNNING',
|
68
|
+
255 => 'JOINT_MODE_IDLE'
|
69
|
+
}
|
21
70
|
|
22
71
|
module Command #{{{
|
23
72
|
RTDE_REQUEST_PROTOCOL_VERSION = 86 # ASCII V
|
@@ -37,10 +86,6 @@ module UR
|
|
37
86
|
PAUSED = 3
|
38
87
|
end #}}}
|
39
88
|
|
40
|
-
def get_robotmode
|
41
|
-
@@robotmode
|
42
|
-
end
|
43
|
-
|
44
89
|
def initialize(host, logger=Logger.new(STDOUT,level: :INFO)) #{{{
|
45
90
|
host = '//' + host if host !~ /\/\//
|
46
91
|
uri = URI::parse(host)
|
data/ur-sock.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ur-sock
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Florian Pauker
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-
|
12
|
+
date: 2019-06-04 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: xml-smart
|