TkLRFViewer.py
Go to the documentation of this file.
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # -*- Python -*-
4 #
5 # @brief LRFViewer component
6 # @date $Date$
7 # @author Norkai Ando <n-ando@aist.go.jp>
8 #
9 # Copyright (C) 2008
10 # Noriaki Ando
11 # Task-intelligence Research Group,
12 # Intelligent Systems Research Institute,
13 # National Institute of
14 # Advanced Industrial Science and Technology (AIST), Japan
15 # All rights reserved.
16 #
17 # $Id$
18 #
19 
20 # $Log$
21 #
22 
23 from tkinter.tix import *
24 import time
25 import math
26 
27 # Import RTM module
28 import RTC
29 import OpenRTM_aist
30 # This module's spesification
31 # <rtc-template block="module_spec">
32 lrfviewer_spec = ["implementation_id", "LRFViewer",
33  "type_name", "LRFViewer",
34  "description", "Laser Range Finder Viewer component",
35  "version", "1.0",
36  "vendor", "Noriaki Ando, AIST",
37  "category", "example",
38  "activity_type", "DataFlowComponent",
39  "max_instance", "1",
40  "language", "Python",
41  "lang_type", "SCRIPT",
42  ""]
43 # </rtc-template>
44 
45 
46 #------------------------------------------------------------
47 # LRFViewer component
48 #
49 #------------------------------------------------------------
51  def __init__(self, manager):
52  OpenRTM_aist.DataFlowComponentBase.__init__(self, manager)
53 
54  self.range_data = []
55  self.start_point = 0
56  self.end_point = 768
57  self.angular_res = 0.0
58  return
59 
60  def onInitialize(self):
61  _pose3D = RTC.Pose3D(RTC.Point3D(0.0, 0.0, 0.0),
62  RTC.Orientation3D(0.0, 0.0, 0.0))
63  _size3D = RTC.Size3D(0.0, 0.0, 0.0)
64  _geometry3D = RTC.Geometry3D(_pose3D, _size3D)
65  _rangerConfig = RTC.RangerConfig(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0)
66  self._d_rangeData = RTC.RangeData(RTC.Time(0,0),
67  [],
68  RTC.RangerGeometry(_geometry3D, []),
69  _rangerConfig)
70 
71  self._rangeDataIn = OpenRTM_aist.InPort("range_data", self._d_rangeData)
72  self.addInPort("range_data", self._rangeDataIn)
73 
74  return RTC.RTC_OK
75 
76  def onShutdown(self, ec_id):
77  return RTC.RTC_OK
78 
79  def onDeactivated(self, ec_id):
80  self.range_data = []
81  self.start_point = 0
82  self.end_point = 768
83  return RTC.RTC_OK
84 
85  def onExecute(self, ec_id):
86  if self._rangeDataIn.isNew():
87  _rangeData = self._rangeDataIn.read()
88  self.range_data = _rangeData.ranges
89  self.start_point = _rangeData.config.minAngle
90  self.end_point = _rangeData.config.maxAngle
91  self.angular_res = _rangeData.config.angularRes
92  time.sleep(0.01)
93  return RTC.RTC_OK
94 
95  def get_range_data(self):
96  return self.range_data
97 
98  def get_start_point(self):
99  return self.start_point
100 
101  def get_end_point(self):
102  return self.end_point
103 
104  def get_angular_res(self):
105  return self.angular_res
106 
107 
109  def __init__(self):
110  self.active = True
111  return
112 
113  def __del__(self):
114  self.delete()
115  return
116 
117  def activate(self):
118  self.active = True
119  self.draw()
120  return
121 
122  def deactivate(self):
123  self.active = False
124  self.delete()
125  return
126 
127  def toggle(self):
128  if self.active:
129  self.deactivate()
130  else:
131  self.activate()
132  return
133 
134 
136  def __init__(self, canvas, text, x, y):
137  ToggleItem.__init__(self)
138  self.canvas = canvas
139  self.id = self.canvas.create_text(x, y, text=text)
140  self.text = text
141  self.x = x
142  self.y = y
143  self.draw_text(x, y, text)
144  return
145 
146  def draw(self):
147  if self.active == False: return
148  self.delete()
149  self.id = self.canvas.create_text(self.x, self.y, text=self.text)
150  return
151 
152  def draw_text(self, x, y, text):
153  self.x = x
154  self.y = y
155  self.text = text
156  self.draw()
157  return
158 
159  def delete(self):
160  self.canvas.delete(self.id)
161  return
162 
164  def __init__(self, canvas, x0, y0, width, height, pitch, color, linewd):
165  ToggleItem.__init__(self)
166  self.canvas = canvas
167  self.x0 = x0
168  self.y0 = y0
169  self.width = width
170  self.height = height
171  self.pitch = pitch
172  self.color = color
173  self.linewd = linewd
174  self.idx = []
175  self.idy = []
176 
177  self.draw()
178  return
179 
180  def draw(self):
181  if self.active == False: return
182  self.delete()
183 
184  x_start = int(self.x0 % self.pitch)
185  x_num = int((self.width - x_start) / self.pitch) + 1
186  for x in range(x_num):
187  x0 = x_start + self.pitch * x
188  id = self.canvas.create_line(x0, 0, x0, self.height,
189  fill=self.color, width=self.linewd)
190  self.idx.append(id)
191 
192  y_start = int(self.y0 % self.pitch)
193  y_num = int((self.height - y_start) / self.pitch) + 1
194  for y in range(y_num):
195  y0 = y_start + self.pitch * y
196  id = self.canvas.create_line(0, y0, self.width, y0,
197  fill=self.color, width=self.linewd)
198  self.idy.append(id)
199 
200  for i in self.idx:
201  self.canvas.tag_lower(i)
202  for i in self.idy:
203  self.canvas.tag_lower(i)
204 
205  return
206 
207  def delete(self):
208  for i in self.idx:
209  self.canvas.delete(i)
210  for i in self.idy:
211  self.canvas.delete(i)
212  return
213 
214  def set_pitch(self, pitch):
215  if pitch != 0:
216  self.pitch = pitch
217 
218  self.draw()
219  return
220 
221 
223  def __init__(self, canvas, width, height, color="#ffffff", linewd=1):
224  ToggleItem.__init__(self)
225  self.x0 = width/2
226  self.y0 = height/2
227  self.width = width
228  self.height = height
229  self.color = color
230  self.linewd = linewd
231  self.canvas = canvas
232  self.id = [None] * 4
233  self.draw()
234  return
235 
236  def draw(self):
237  if self.active == False: return
238  self.delete()
239  self.id[0] = self.canvas.create_line(0, self.height/2,
240  self.width, self.height/2,
241  fill = self.color,
242  width = self.linewd)
243  self.id[1] = self.canvas.create_text(self.width - 10,
244  self.height/2 + 10,
245  text="x",
246  fill = self.color,
247  font="courier 12")
248  self.id[2] = self.canvas.create_line(self.width/2, 0,
249  self.width/2, self.height,
250  fill = self.color,
251  width = self.linewd)
252  self.id[3] = self.canvas.create_text(self.width/2 + 10,
253  + 10, text="y",
254  fill = self.color,
255  font="courier 12")
256 
257  return
258 
259  def delete(self):
260  for i in self.id:
261  self.canvas.delete(i)
262  return
263 
264 
266  def __init__(self, simulator):
267  self.simulator = simulator
268  self.tick = simulator.get_tick()
269  self.canvas = simulator.get_canvas()
270  self.trans = simulator.get_translation()
271  return
272 
273  def translate(self, x, y, dx, dy, dth):
274  return self.trans(x, y, dx, dy, dth)
275 
276  def get_tick(self):
277  return self.simulator.get_tick()
278 
279 
280 #------------------------------------------------------------
281 # LRFrange range data drawing
282 #
283 #------------------------------------------------------------
285  def __init__(self, simulator,
286  line_color="#ff0000", fill_color="#ff0000", linewd=1):
287  ScaledObject.__init__(self, simulator)
288  self.fill_color = fill_color
289  self.line_color = line_color
290  self.default_fill_color = fill_color
291  self.default_line_color = line_color
292  self.linewd = linewd
293  self.rdata = []
294  self.pre_data = []
295  self.poly_id = None
296  self.source = None
297 
298  # URG parameter
299  self.beg_angle = -45
300  self.end_angle = 225
301  self.angle_per_step = 360.0 / 1024.0
302  self.valid_beg_angle = 44 * 360.0 / 1024.0
304  self.offset_step = 0
305 
306  self.threshold = 0.0
307  self.sfilter = 0.0
308  self.tfilter = 0.0
309 
310  self.threshold_check = BooleanVar()
311  self.threshold_check.set(True)
312  self.tfilter_check = BooleanVar()
313  self.tfilter_check.set(True)
314  self.sfilter_check = BooleanVar()
315  self.sfilter_check.set(True)
316 
317  self.threshold_var = DoubleVar()
318  self.threshold_var.set(self.threshold)
319  self.tfilter_var = DoubleVar()
320  self.tfilter_var.set(self.tfilter)
321  self.sfilter_var = DoubleVar()
322  self.sfilter_var.set(self.sfilter)
323 
324  self.update()
325  return
326 
327  def create_ctrl(self, frame):
328  self.lrf_fill_check = StringVar()
329  self.lrf_fill_check.set("on")
330  self.lrf_line_check = StringVar()
331  self.lrf_line_check.set("on")
332 
333  text = Label(frame, text="LRF range area", anchor=W, justify=LEFT)
334  # "Line" check box
335  line = Checkbutton(frame, text="Line",
336  onvalue="on", offvalue="off",
337  justify=LEFT, anchor=W,
338  variable=self.lrf_line_check,
339  command=self.line_toggle)
340  # "Fill" check box
341  fill = Checkbutton(frame, text="Fill",
342  onvalue="on", offvalue="off",
343  justify=LEFT, anchor=W,
344  variable=self.lrf_fill_check,
345  command=self.fill_toggle)
346  # Threshold (check box/scale)
347  thresh = Checkbutton(frame, text="Threshold",
348  onvalue=True, offvalue=False,
349  justify=LEFT, anchor=W,
350  variable=self.threshold_check)
351  thresh_scale = Scale(frame, from_=0, to=100, resolution=0.1,
352  label="Threshold", command=self.on_threshold,
353  variable=self.threshold_var, orient=HORIZONTAL)
354  # Time-Filter (check box/scale)
355  tfilter = Checkbutton(frame, text="Filter(Time)",
356  onvalue=True, offvalue=False,
357  justify=LEFT, anchor=W,
358  variable=self.tfilter_check)
359  tfilter_scale = Scale(frame, from_=0, to=1, resolution=0.01,
360  label="Filter", command=self.on_tfilter,
361  variable=self.tfilter_var, orient=HORIZONTAL)
362  # Spacial-Filter (check box/scale)
363  sfilter = Checkbutton(frame, text="Filter(Spacial)",
364  onvalue=True, offvalue=False,
365  justify=LEFT, anchor=W,
366  variable=self.sfilter_check)
367  sfilter_scale = Scale(frame, from_=0, to=1, resolution=0.01,
368  label="Filter", command=self.on_sfilter,
369  variable=self.sfilter_var, orient=HORIZONTAL)
370 
371  for w in [text, line, fill, thresh, thresh_scale,
372  tfilter, tfilter_scale, sfilter, sfilter_scale]:
373  w.pack(side=TOP, anchor=W, fill=X)
374  return
375 
376  def on_threshold(self, var):
377  self.threshold = self.threshold_var.get()
378  return
379 
380  def on_sfilter(self, var):
381  self.sfilter = self.sfilter_var.get()
382  return
383 
384  def on_tfilter(self, var):
385  self.tfilter = self.tfilter_var.get()
386  return
387 
388  def line_toggle(self):
389  if self.lrf_line_check.get() == "on":
390  self.line_color = self.default_line_color
391  else:
392  self.line_color = ""
393  return
394 
395  def fill_toggle(self):
396  if self.lrf_fill_check.get() == "on":
397  self.fill_color = self.default_fill_color
398  else:
399  self.fill_color = ""
400  return
401 
402  def set_data_source(self, source):
403  self.source = source
404  return
405 
406  def set_value(self, data):
407  self.rdata = data
408  return
409 
410  def draw(self):
411  self.delete()
412  rpos = []
413  rpos.append(self.translate(0, 0, 0, 0, 0))
414  rpos.append(self.range_to_pos(self.rdata))
415  self.poly_id = self.canvas.create_polygon(rpos,
416  width = self.linewd,
417  outline = self.line_color,
418  fill = self.fill_color,
419  smooth = 1,
420  splinesteps = 5)
421  return
422 
423  def range_to_pos(self, data):
424  pos = []
425  pre_d = 0
426 
427  tfilter = self.tfilter_check.get()
428  sfilter = self.sfilter_check.get()
429  thresh = self.threshold_check.get()
430 
431  # Time-Filter
432  if tfilter and len(data) == len(self.pre_data):
433  for (n, d) in enumerate(data):
434  k_t = self.tfilter
435  data[n] = self.pre_data[n] * k_t + d * (1 - k_t)
436 
437  # Spacial Filter
438  for (n, d) in enumerate(data):
439  # Threshold
440  if thresh and d < self.threshold:
441  d = 10000 #pre_d
442 
443  if sfilter:
444  k_s = self.sfilter
445  d = pre_d * k_s + d * (1 - k_s)
446  pre_d = d
447 
448  # n: step number
449  # d: length data
450  #deg = (n + self.offset_step) * self.angle_per_step + self.beg_angle
451  #th = deg * math.pi / 180
452  th = (n + self.offset_step) * self.angle_per_step + self.beg_angle
453  x = d * math.cos(th)
454  y = d * math.sin(th)
455  pos.append(self.translate(x, y, 0, 0, 0))
456  self.pre_data = data
457  return pos
458 
459  def delete(self):
460  if self.poly_id != None:
461  self.canvas.delete(self.poly_id)
462  return
463 
464  def update(self):
465  if self.source != None:
466  rdata = self.source.get_range_data()
467  if len(rdata) != 0:
468  self.rdata = rdata
469 
470  res = self.source.get_angular_res()
471  if res:
472  self.angle_per_step = res
473 
474  beg_angle = self.source.get_start_point()
475  if beg_angle:
476  self.beg_angle = beg_angle
477 
478  end_angle = self.source.get_end_point()
479  if end_angle:
480  self.end_angle = end_angle
481 
482  else:
483  pass
484  self.draw()
485 
486 
487 
488 #------------------------------------------------------------
489 # TkLRFViewer main windows class
490 #
491 #------------------------------------------------------------
492 class TkLRFViewer(Frame):
493  def __init__(self, master=None, width=480, height=480):
494  Frame.__init__(self, master)
495 
496  # canvas properties
497  self.width = width
498  self.height = height
499  # zero of canvas
500  self.x0 = width/2
501  self.y0 = height/2
502 
503  self.wd = 150
504 
505  self.robots = {}
506 
507  self.robot = None
508  self.postext = None
509 
510  self.scale = 1.0
511  self.scale_var = DoubleVar()
512  self.scale_var.set(self.scale)
513 
514  self.grid_pitch = 50
515 
516  self.tick = 0.1
517  self.default_tick = 0.1
518  self.tickscale_var = DoubleVar()
519  self.tickscale_var.set(self.tick)
520 
521  self.axis_check = StringVar()
522  self.axis_check.set("on")
523  self.grid_check = StringVar()
524  self.grid_check.set("on")
525  self.rnames = {}
526 
527 
528  self.init()
529  self.pack()
530 
531 
532  self.after(20, self.on_update)
533  return
534 
535  def init(self):
536  self.canvas = Canvas(self, bg="#000000",
537  width = self.width, height = self.height)
538  self.canvas.pack(side=LEFT)
539 
540  self.can_grid = CanvasGrid(self.canvas, self.x0, self.y0,
541  self.width, self.height, self.grid_pitch,
542  "#aaaaaa", 1)
543  self.can_axis = CanvasAxis(self.canvas, self.width, self.height,
544  "#ffffff", 1)
545 
546  self.frame = Frame(self)
547  self.frame.pack(side=LEFT)
548 
549  # Screen control
550  self.scrctrl_frame = Frame(self.frame, width=self.wd, height=300,
551  relief=GROOVE, bd=2)
552  self.scrctrl_frame.pack(side=TOP, fill=X)
553  self.create_scale(self.scrctrl_frame)
555 
556 
557  self.lrfctrl_frame = Frame(self.frame, width=self.wd, height=300,
558  relief=GROOVE, bd=2)
559  self.lrfctrl_frame.pack(side=TOP, fill=X)
560  self.lrf = LRFrange(self)
561  self.lrf.create_ctrl(self.lrfctrl_frame)
562 
563  return
564 
565 
566 
567  def on_update(self):
568  self.lrf.update()
569  self.after(20, self.on_update)
570  return
571 
572  def get_tick(self):
573  return self.tick
574 
575  def get_canvas(self):
576  return self.canvas
577 
578  def get_translation(self):
579  return self.real_to_canvas
580 
581 
582  #------------------------------------------------------------
583  # Scale control set
584  def create_scale(self, frame):
585  dummy = Frame(frame, width=self.wd)
586  dummy.pack(side=TOP)
587  sl = Scale(frame, from_=0, to=10, resolution=0.01,
588  label="Scale Factor", command=self.on_scale,
589  variable=self.scale_var, orient=HORIZONTAL)
590  bt = Button(frame, text="Reset Scale", command=self.reset_scale)
591  sl.pack(side=TOP, fill=X)
592  bt.pack(side=TOP, fill=X)
593  return
594 
595  def on_scale(self, val):
596  v = float(val)
597  if v == 0.0:
598  pitch = 0
599  else:
600  pitch = self.grid_pitch/v
601  self.scale = v
602  self.can_grid.set_pitch(pitch)
603  return
604 
605  def reset_scale(self):
606  self.scale_var.set(1.)
607  pitch = self.grid_pitch/1.0
608  self.scale = 1.0
609  self.can_grid.set_pitch(pitch)
610  return
611 
612  def on_tickchange(self, val):
613  v = self.tickscale_var.get()
614  if v == 0.0:
615  self.tick = 0
616  else:
617  self.tick = v
618  return
619 
620  def reset_tickscale(self):
621  self.tick = self.default_tick
622  self.tickscale_var.set(self.default_tick)
623 
624  # end of Scale widget set
625  #------------------------------------------------------------
626 
627  #------------------------------------------------------------
628  # Canvas control set
629  def create_checkbutton(self, frame):
630  axis = Checkbutton(frame, text="Axis",
631  onvalue="on", offvalue="off",
632  justify=LEFT, anchor=W,
633  variable=self.axis_check,
634  command=self.can_axis.toggle)
635  grid = Checkbutton(frame, text="Grid",
636  onvalue="on", offvalue="off",
637  justify=LEFT, anchor=W,
638  variable=self.grid_check,
639  command=self.can_grid.toggle)
640  for w in [axis, grid]:
641  w.pack(side=TOP, anchor=W, fill=X)
642 
643  def on_rname_toggle(self):
644  for r in list(self.rnames.keys()):
645  self.rnames[r].toggle()
646  return
647 
648  # end of Canvas control set
649  #------------------------------------------------------------
650 
651  #------------------------------------------------------------
652  #
653  def real_to_canvas(self, x, y, dx, dy, dt):
654  # Simulator coordinate system -> display coordinate system
655  # x, y: original position
656  # dx, dy, dt: translation and rotation vector
657  # translation and rotation
658  x_tmp = (math.cos(dt) * x - math.sin(dt) * y + dx)/self.scale
659  y_tmp = (math.sin(dt) * x + math.cos(dt) * y + dy)/self.scale
660  # align to canvas coordinate system (origin is center and y+ is upward)
661  xo = x_tmp + self.x0
662  yo = -y_tmp + self.y0
663  return xo, yo
664 
665 import threading
666 
667 class test_data_creator(threading.Thread):
668  def __init__(self, lrf, step = 681):
669  threading.Thread.__init__(self)
670  import time
671  self.lrf = lrf
672  self.step = step
673  self.flag = True
674  return
675 
676  def stop(self):
677  self.flag = False
678  return
679 
680  def run(self):
681  import random
682  data = [0] * 681
683  pre = 0
684  while self.flag:
685  for i in range(681):
686  if i % 5 == 0:
687  data[i] = pre * 0.9 + random.randint(0, 255) * 0.1
688  pre = data[i]
689  else:
690  data[i] = pre
691  pre = data[i]
692  self.lrf.set_value(data)
693  time.sleep(0.1)
694 
695  return
696 
697 def main():
698  m = TkLRFViewer(Tk())
699  m.master.title("Laser Range Finder Viewer")
700 
701  mgr = OpenRTM_aist.Manager.init(sys.argv)
702  mgr.activateManager()
703  profile = OpenRTM_aist.Properties(defaults_str=lrfviewer_spec)
704  mgr.registerFactory(profile, LRFViewer, OpenRTM_aist.Delete)
705  mgr.runManager(True)
706  lrf_rtc = mgr.createComponent("LRFViewer")
707  m.lrf.set_data_source(lrf_rtc)
708  m.mainloop()
709  mgr.shutdown()
710 
711 
712 if __name__ == '__main__': main()
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.angle_per_step
angle_per_step
Definition: TkLRFViewer.py:300
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.__init__
def __init__(self, simulator, line_color="#ff0000", fill_color="#ff0000", linewd=1)
Definition: TkLRFViewer.py:285
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.color
color
Definition: TkLRFViewer.py:172
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.idx
idx
Definition: TkLRFViewer.py:174
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.scale_var
scale_var
Definition: TkLRFViewer.py:511
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.run
def run(self)
Definition: TkLRFViewer.py:680
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.valid_beg_angle
valid_beg_angle
Definition: TkLRFViewer.py:301
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.text
text
Definition: TkLRFViewer.py:140
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.create_ctrl
def create_ctrl(self, frame)
Definition: TkLRFViewer.py:327
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer
Definition: TkLRFViewer.py:492
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.y0
y0
Definition: TkLRFViewer.py:226
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.reset_tickscale
def reset_tickscale(self)
Definition: TkLRFViewer.py:620
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.line_toggle
def line_toggle(self)
Definition: TkLRFViewer.py:388
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.canvas
canvas
Definition: TkLRFViewer.py:166
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.lrf_line_check
lrf_line_check
Definition: TkLRFViewer.py:330
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.flag
flag
Definition: TkLRFViewer.py:673
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.default_fill_color
default_fill_color
Definition: TkLRFViewer.py:289
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.tick
tick
Definition: TkLRFViewer.py:268
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.delete
def delete(self)
Definition: TkLRFViewer.py:459
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.create_scale
def create_scale(self, frame)
Definition: TkLRFViewer.py:584
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.delete
def delete(self)
Definition: TkLRFViewer.py:159
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.lrf_fill_check
lrf_fill_check
Definition: TkLRFViewer.py:328
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.translate
def translate(self, x, y, dx, dy, dth)
Definition: TkLRFViewer.py:273
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.lrfctrl_frame
lrfctrl_frame
Definition: TkLRFViewer.py:557
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.main
def main()
Definition: TkLRFViewer.py:697
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.color
color
Definition: TkLRFViewer.py:229
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.__init__
def __init__(self, master=None, width=480, height=480)
Definition: TkLRFViewer.py:493
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.canvas
canvas
Definition: TkLRFViewer.py:231
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.on_tfilter
def on_tfilter(self, var)
Definition: TkLRFViewer.py:384
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.linewd
linewd
Definition: TkLRFViewer.py:291
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem
Definition: TkLRFViewer.py:108
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.line_color
line_color
Definition: TkLRFViewer.py:288
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.default_tick
default_tick
Definition: TkLRFViewer.py:517
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.init
def init(self)
Definition: TkLRFViewer.py:535
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.__init__
def __init__(self, canvas, x0, y0, width, height, pitch, color, linewd)
Definition: TkLRFViewer.py:164
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.delete
def delete(self)
Definition: TkLRFViewer.py:207
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.on_sfilter
def on_sfilter(self, var)
Definition: TkLRFViewer.py:380
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.on_tickchange
def on_tickchange(self, val)
Definition: TkLRFViewer.py:612
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis
Definition: TkLRFViewer.py:222
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.pre_data
pre_data
Definition: TkLRFViewer.py:293
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.rnames
rnames
Definition: TkLRFViewer.py:525
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.active
active
Definition: TkLRFViewer.py:110
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.get_canvas
def get_canvas(self)
Definition: TkLRFViewer.py:575
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.deactivate
def deactivate(self)
Definition: TkLRFViewer.py:122
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.pitch
pitch
Definition: TkLRFViewer.py:171
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.can_grid
can_grid
Definition: TkLRFViewer.py:540
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.get_angular_res
def get_angular_res(self)
Definition: TkLRFViewer.py:104
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.height
height
Definition: TkLRFViewer.py:498
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.angular_res
angular_res
Definition: TkLRFViewer.py:57
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.rdata
rdata
Definition: TkLRFViewer.py:292
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.get_range_data
def get_range_data(self)
Definition: TkLRFViewer.py:95
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.range_data
range_data
Definition: TkLRFViewer.py:54
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.id
id
Definition: TkLRFViewer.py:232
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.x0
x0
Definition: TkLRFViewer.py:225
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.onShutdown
def onShutdown(self, ec_id)
Definition: TkLRFViewer.py:76
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.on_threshold
def on_threshold(self, var)
Definition: TkLRFViewer.py:376
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.set_pitch
def set_pitch(self, pitch)
Definition: TkLRFViewer.py:214
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.set_data_source
def set_data_source(self, source)
Definition: TkLRFViewer.py:402
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.sfilter
sfilter
Definition: TkLRFViewer.py:306
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.tfilter
tfilter
Definition: TkLRFViewer.py:307
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid
Definition: TkLRFViewer.py:163
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.valid_end_angle
valid_end_angle
Definition: TkLRFViewer.py:302
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.onDeactivated
def onDeactivated(self, ec_id)
Definition: TkLRFViewer.py:79
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer._d_rangeData
_d_rangeData
Definition: TkLRFViewer.py:66
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.x0
x0
Definition: TkLRFViewer.py:167
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.trans
trans
Definition: TkLRFViewer.py:270
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.draw
def draw(self)
Definition: TkLRFViewer.py:236
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.fill_color
fill_color
Definition: TkLRFViewer.py:287
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.range_to_pos
def range_to_pos(self, data)
Definition: TkLRFViewer.py:423
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.on_scale
def on_scale(self, val)
Definition: TkLRFViewer.py:595
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.y0
y0
Definition: TkLRFViewer.py:168
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.y
y
Definition: TkLRFViewer.py:142
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.__init__
def __init__(self, lrf, step=681)
Definition: TkLRFViewer.py:668
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.sfilter_var
sfilter_var
Definition: TkLRFViewer.py:320
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.__init__
def __init__(self, simulator)
Definition: TkLRFViewer.py:266
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.on_update
def on_update(self)
Definition: TkLRFViewer.py:567
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.wd
wd
Definition: TkLRFViewer.py:503
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.linewd
linewd
Definition: TkLRFViewer.py:230
OpenRTM_aist.DataFlowComponentBase.DataFlowComponentBase
DataFlowComponentBase class.
Definition: DataFlowComponentBase.py:35
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.threshold_var
threshold_var
Definition: TkLRFViewer.py:316
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.canvas
canvas
Definition: TkLRFViewer.py:138
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.stop
def stop(self)
Definition: TkLRFViewer.py:676
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.get_start_point
def get_start_point(self)
Definition: TkLRFViewer.py:98
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.id
id
Definition: TkLRFViewer.py:139
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.scale
scale
Definition: TkLRFViewer.py:510
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.grid_check
grid_check
Definition: TkLRFViewer.py:523
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.step
step
Definition: TkLRFViewer.py:672
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.__init__
def __init__(self, canvas, width, height, color="#ffffff", linewd=1)
Definition: TkLRFViewer.py:223
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.height
height
Definition: TkLRFViewer.py:170
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.width
width
Definition: TkLRFViewer.py:227
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.tfilter_var
tfilter_var
Definition: TkLRFViewer.py:318
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.get_tick
def get_tick(self)
Definition: TkLRFViewer.py:572
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.x
x
Definition: TkLRFViewer.py:141
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.frame
frame
Definition: TkLRFViewer.py:546
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.canvas
canvas
Definition: TkLRFViewer.py:269
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.onExecute
def onExecute(self, ec_id)
Definition: TkLRFViewer.py:85
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator
Definition: TkLRFViewer.py:667
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.tickscale_var
tickscale_var
Definition: TkLRFViewer.py:518
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer
Definition: TkLRFViewer.py:50
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.tick
tick
Definition: TkLRFViewer.py:516
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.lrf
lrf
Definition: TkLRFViewer.py:560
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.start_point
start_point
Definition: TkLRFViewer.py:55
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.__init__
def __init__(self, canvas, text, x, y)
Definition: TkLRFViewer.py:136
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText
Definition: TkLRFViewer.py:135
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.toggle
def toggle(self)
Definition: TkLRFViewer.py:127
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.onInitialize
def onInitialize(self)
Definition: TkLRFViewer.py:60
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.simulator
simulator
Definition: TkLRFViewer.py:267
tix
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.update
def update(self)
Definition: TkLRFViewer.py:464
OpenRTM_aist.InPort.InPort
InPort template class.
Definition: InPort.py:58
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.end_point
end_point
Definition: TkLRFViewer.py:56
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.robots
robots
Definition: TkLRFViewer.py:505
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer._rangeDataIn
_rangeDataIn
Definition: TkLRFViewer.py:71
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.end_angle
end_angle
Definition: TkLRFViewer.py:299
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.linewd
linewd
Definition: TkLRFViewer.py:173
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.fill_toggle
def fill_toggle(self)
Definition: TkLRFViewer.py:395
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.draw
def draw(self)
Definition: TkLRFViewer.py:180
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.beg_angle
beg_angle
Definition: TkLRFViewer.py:298
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.test_data_creator.lrf
lrf
Definition: TkLRFViewer.py:671
OpenRTM_aist.Properties.Properties
Definition: Properties.py:83
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.offset_step
offset_step
Definition: TkLRFViewer.py:303
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange
Definition: TkLRFViewer.py:284
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.__del__
def __del__(self)
Definition: TkLRFViewer.py:113
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.threshold_check
threshold_check
Definition: TkLRFViewer.py:309
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.get_translation
def get_translation(self)
Definition: TkLRFViewer.py:578
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.reset_scale
def reset_scale(self)
Definition: TkLRFViewer.py:605
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.get_end_point
def get_end_point(self)
Definition: TkLRFViewer.py:101
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject.get_tick
def get_tick(self)
Definition: TkLRFViewer.py:276
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.y0
y0
Definition: TkLRFViewer.py:501
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.height
height
Definition: TkLRFViewer.py:228
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.real_to_canvas
def real_to_canvas(self, x, y, dx, dy, dt)
Definition: TkLRFViewer.py:653
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.width
width
Definition: TkLRFViewer.py:497
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.threshold
threshold
Definition: TkLRFViewer.py:305
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.draw
def draw(self)
Definition: TkLRFViewer.py:146
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.activate
def activate(self)
Definition: TkLRFViewer.py:117
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.on_rname_toggle
def on_rname_toggle(self)
Definition: TkLRFViewer.py:643
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasText.draw_text
def draw_text(self, x, y, text)
Definition: TkLRFViewer.py:152
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.robot
robot
Definition: TkLRFViewer.py:507
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.source
source
Definition: TkLRFViewer.py:295
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.sfilter_check
sfilter_check
Definition: TkLRFViewer.py:313
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ToggleItem.__init__
def __init__(self)
Definition: TkLRFViewer.py:109
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.create_checkbutton
def create_checkbutton(self, frame)
Definition: TkLRFViewer.py:629
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.scrctrl_frame
scrctrl_frame
Definition: TkLRFViewer.py:550
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.poly_id
poly_id
Definition: TkLRFViewer.py:294
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.tfilter_check
tfilter_check
Definition: TkLRFViewer.py:311
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.ScaledObject
Definition: TkLRFViewer.py:265
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasAxis.delete
def delete(self)
Definition: TkLRFViewer.py:259
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.can_axis
can_axis
Definition: TkLRFViewer.py:543
OpenRTM_aist.RTObject.RTObject_impl.addInPort
def addInPort(self, name, inport)
Definition: RTObject.py:2721
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.grid_pitch
grid_pitch
Definition: TkLRFViewer.py:514
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.default_line_color
default_line_color
Definition: TkLRFViewer.py:290
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.postext
postext
Definition: TkLRFViewer.py:508
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.canvas
canvas
Definition: TkLRFViewer.py:536
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.idy
idy
Definition: TkLRFViewer.py:175
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFViewer.__init__
def __init__(self, manager)
Constructor.
Definition: TkLRFViewer.py:51
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.x0
x0
Definition: TkLRFViewer.py:500
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.CanvasGrid.width
width
Definition: TkLRFViewer.py:169
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.set_value
def set_value(self, data)
Definition: TkLRFViewer.py:406
OpenRTM_aist.NVUtil.append
def append(dest, src)
Definition: NVUtil.py:386
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.TkLRFViewer.axis_check
axis_check
Definition: TkLRFViewer.py:521
OpenRTM_aist.examples.TkLRFViewer.TkLRFViewer.LRFrange.draw
def draw(self)
Definition: TkLRFViewer.py:410


openrtm_aist_python
Author(s): Shinji Kurihara
autogenerated on Mon Apr 21 2025 02:45:07