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.
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