[openrtm-users 01441] Re: regarding rtprint and rtinject

Geoffrey Biggs geoffrey.biggs @ aist.go.jp
2010年 10月 22日 (金) 14:38:07 JST


Hi Tony,

In versions 1 and 2 of rtshell, each call to a command requires building
an entire RTC Tree, which requires many calls to the components to fill
in their data. This will cause delays if the remote components take a
while to return. You also suffer the delay in starting the Python
interpreter the first time you run a command (it caches in memory after
that).

Version 3, which should be released next month, has many optimisations
to speed up the commands, like only parsing the components involved.
They should have a significant speed increase.

Geoff


On 22/10/10 13:24, Tony Kuo wrote:
> Hi Geoff:
> Thank you for your reply.
> and also Congratulation on the OpenSource Award from Willow Garage. !
> 
> Another thing I want to say was that,
> these rt commands like rtcwd, rtact, rtcon can sometimes take really
> long to return.
> Sometimes it can take up to 5~7 seconds for one rtcon connection.
> 
> Do you know why is that?
> I am using windows, and have components distributed over two computers
> but with only one nameserver.
> They are all on ethernet wired network.
> 
> Thanks
> Tony
> 
> On 22 October 2010 15:40, Geoffrey Biggs <geoffrey.biggs @ aist.go.jp
> <mailto:geoffrey.biggs @ aist.go.jp>> wrote:
> 
>     Hi Tony,
> 
>     One of our developers has been able to duplicate the rtprint bug. I'm
>     currently at IROS, where I don't have a Windows computer, so I will need
>     to take a look when I get back.
> 
>     For rtinject, I've had a report that you need to use double quotes on
>     Windows, not single quotes. Try this:
> 
>     > rtinject /SPC105/SPC105.host_cxt/ConsoleOut0.rtc:in
>        "RTC.TimedLong({time},3)"
> 
>     Geoff
> 
> 
> 
>     On 20/10/10 05:02, Tony Kuo wrote:
>     > Hi OpenRTM ML:
>     >
>     > I installed openrtm-python and related package to get rtcshell
>     running.
>     > rtls, rtact, rtdel, rtcwd all are working fine.
>     > But rtprint and rtinject don't work for me.
>     >
>     > I got some error print out. If anyone knows what's happening
>     > please let me know.
>     >
>     > (error message from rtprint)
>     >             C:\Documents and Settings\xxxx>rtprint ConsoleIn0.rtc:out
>     >             comp_args: rtprint_listener0
>     >             c:\python26\scripts\rtprint.py: Could not find listener
>     > component.
>     >             Exception in thread Thread-2 (most likely raised during
>     > interpreter shutdown):Ex
>     >             ception in thread Thread-3 (most likely raised during
>     > interpreter shutdown):
>     >
>     >             Traceback (most recent call last):Traceback (most recent
>     > call last):
>     >
>     >               File "C:\Python26\lib\threading.py", line 527, in
>     > __bootstrap_inner  File "C:\
>     >             Python26\lib\threading.py", line 527, in __bootstrap_inner
>     >
>     >               File "C:\Python26\lib\threading.py", line 479, in run
>     > File "C:\Python26\lib\t
>     >             hreading.py", line 479, in run
>     >
>     > My rtinject works but it injects strange data
>     > I inject a number of 3 but 1701661012 was received.
>     >
>     > C:\Documents and Settings\xxxxx>rtinject
>     > /SPC105/SPC105.host_cxt/ConsoleOut0.rtc:in 'RTC.TimedLong({time},3)'
>     >
>     >         Screen Output
>     >         ------------------------------
>     >         Connector Listener: ON_CONNECT
>     >         Profile::name:      ConsoleOut0.rtc.inject_conn
>     >         Profile::id:        ConsoleOut0.rtc.temp
>     >         Profile::properties:
>     >         - dataflow_type: push
>     >         - interface_type: corba_cdr
>     >         - subscription_type: flush
>     >         - data_type: <type 'str'>
>     >         - serializer
>     >           - cdr
>     >             - endian: little,big
>     >         - provider:
>     >
>     >         ------------------------------
>     >         ------------------------------
>     >         Data Listener: ON_RECEIVED
>     >         Profile::name: ConsoleOut0.rtc.inject_conn
>     >         Profile::id:   ConsoleOut0.rtc.temp
>     >         Data:          1701661012
>     >         ------------------------------
>     >         ------------------------------Received:
>     >         1701661012Data Listener:
>     >         ON_BUFFER_WRITETimeStamp:
>     >         58Profile::name: [s] ConsoleOut0.rtc.inject_conn776164434
>     >         [ns]Profile::id:
>     >         ConsoleOut0.rtc.temp
>     >         Data:          1701661012
>     >         ------------------------------
>     >         ------------------------------
>     >         Connector Listener: ON_DISCONNECT
>     >         Profile::name:      ConsoleOut0.rtc.inject_conn
>     >         Profile::id:        ConsoleOut0.rtc.temp
>     >         Profile::properties:
>     >         - dataflow_type: push
>     >         - interface_type: corba_cdr
>     >         - subscription_type: flush
>     >         - data_type: <type 'str'>
>     >         - serializer
>     >           - cdr
>     >             - endian: little,big
>     >         - provider:
>     > Thanks!
>     > Tony
>     >
>     >
> 
> 




openrtm-users メーリングリストの案内