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

Tony Kuo ikuo005 @ aucklanduni.ac.nz
2010年 10月 29日 (金) 07:53:23 JST


Hi Geoff:
The first thing that came to my mind are
to improve the speed (which you already know) and also to allow connections
to be restored.

The reason I don't find rts-shells useful is that it doesn't restore the
connections between the components (correct me if I am not wrong).
And restoring the connections is probably the most time consuming process in
developing my system.
Because I can do start, stop, activate and deactive in the Eclipse-based
RTSystemEditor.

While testing 1 particular component in a large system, I sometime find it
necessary to start, stop and reconnect the connections around just that
component.
Running my bash script for the whole system would duplicate some of the
connections that are already there (there is no way to find out whether they
are connected already or not)

If somehow, the scripts allow some kind of check on whether the component is
already alive, the connection is already done or the components are all in
Activated state (not in error or inactivated state)
it would be quite convenient I think.

Another small thing is if an installation has pre-requisite to run, for
example, rtcshell requires rtctree, there should be a dependency check
during installation to make it easier for users?

Thanks!
Tony





On 28 October 2010 14:22, Geoffrey Biggs <geoffrey.biggs @ aist.go.jp> wrote:

> Hi Tony,
>
> I'm glad to hear the shell tools are proving useful. If you have any
> comments on how they can be improved, I'd like to hear them.
>
> You might be able to avoid some of the batch script writing by using
> rtsshell as well. The tools in there can be used with RtsProfile files
> created in RTSystemEditor to make setting up, starting, and stopping
> complete systems one-step operations.
>
> Geoff
>
>
> On 28/10/10 09:34, Tony Kuo wrote:
> > Hi Geoff:
> > Thank you for your explanation.
> > Your python scripts helped me alot in automating the process to start,
> > connect and activate my components
> > (although writing batch script under Windows was quite painful)
> > At the moment, I only use rtprint and a few others for debugging purpose
> >
> > Looking forward to try the next version with the optimisations.
> > Thanks!
> > Tony
> >
> >
> >
> > On 25 October 2010 12:33, Geoffrey Biggs <geoffrey.biggs @ aist.go.jp
> > <mailto:geoffrey.biggs @ aist.go.jp>> wrote:
> >
> >     Hi Tony,
> >
> >     We've tracked down the problem with rtprint. A flaw in the way
> rtprint
> >     locates its temporary component is causing the problem. We've found
> that
> >     if you set RTCTREE_NAMESERVERS to an address, and then use the
> >     alternative form of that address (e.g. the IP vs the domain name) in
> >     commands, the tree will contain two copies of the name server. This
> >     confuses rtprint, since it does not expect two versions of its
> temporary
> >     component.The new version of rtprint coincidentally already solves
> this
> >     problem.
> >
> >     Until the new version is released, you can work around the problem in
> >     one of two ways:
> >
> >     1. Use the same address in RTCTREE_NAMESERVERS and in paths.
> >     2. On line 63 of rtprint.py, remove "or len(matches) != 1)".
> >
> >     Geoff
> >
> >
> >     On 22/10/10 11:40, Geoffrey Biggs 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
> >     >>
> >     >>
> >     >
> >
> >
>
-------------- next part --------------
HTML$B$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
URL: <http://www.openrtm.org/pipermail/openrtm-users/attachments/20101029/3747cd54/attachment-0001.html>


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