ur-sock 0.3.2 → 0.3.3

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/lib/dashboard.rb +46 -25
  3. data/lib/rtde.rb +60 -15
  4. data/ur-sock.gemspec +1 -1
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 54d9351d7f44499bd4dada3e3a015c23d75901518451ae817b663b0b0ccf4255
4
- data.tar.gz: ac3846b9dd6bae74131d2eaa3e0190b4d041e614f7335952d3d6f72084064e07
3
+ metadata.gz: f8dde2b66e0d8f0ab96fdbe057344b2b7472b65e08811d643ec4d55fa784b55f
4
+ data.tar.gz: 9fb11b94f2b0de59f0708e8d785b06a86116080259969e85b9e56dd25eb953cb
5
5
  SHA512:
6
- metadata.gz: 78c4b31e86ea096df4a53cb38454ad866da02115cbcaf2e93ef0ef049ee42d746668d60cc841af189b2b1630f73664f7d2a1288a00870dda06393d4e98a128a9
7
- data.tar.gz: e61971e886631b1a6aac252f7aab31ceeb5d11deee2c331bc1c207f1641354d0dc2216f97e0c039cb237e754dd2f21669aa8f28b5579d860675561134d78d586
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.info "loadprogram"
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info @sock.gets.strip
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.info @sock.gets.strip
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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.info line
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
- @@robotmode = {-1 => 'No Controller',
11
- 0 => 'Disconnected',
12
- 1 => 'Confirm Safety',
13
- 2 => 'Booting',
14
- 3 => 'Power Off',
15
- 4 => 'Power On',
16
- 5 => 'Idle',
17
- 6 => 'Backdrive',
18
- 7 => 'Running',
19
- 8 => 'Updating Firmware'
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
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |s|
2
2
  s.name = "ur-sock"
3
- s.version = "0.3.2"
3
+ s.version = "0.3.3"
4
4
  s.platform = Gem::Platform::RUBY
5
5
  s.license = "LGPL-3.0"
6
6
  s.summary = "Preliminary release of Universal Robot (UR) Socket Communication."
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.2
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-05-23 00:00:00.000000000 Z
12
+ date: 2019-06-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: xml-smart