Re: First draft of "OROCOS II" proposal...

"Henrik I. Christensen" <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Message-ID <[email protected]>
>>>>> "HB" == Herman Bruyninckx <[email protected]> writes:

Hi!

    HB> On Wed, 9 Jul 2003, Sebastian Wrede wrote: [...]
    >> I strongly agree with Markus that vision-oriented projects
    >> sometimes have other requirements and differently to Herman's
    >> opinion I cannot currently see an obvious solution to realize
    >> complex vision systems.

    HB> Did I suggest that these solutions are obvious? :-)

I think the issue here is that within the general framework of
robotics there are a number of different system types that needs to be
considered.

a) Hard real-time manipulation type control systems
   -- As done at KU Leuven
   -- Typically local system with a well defined system architecture
      and clear control objectives.

b) Soft real-time systems for mobile robotics ...
   -- As done at KTH and FAW (Christian where are you today?)
   -- Loosely synchronous processes typically interconnected using IPC
      techniques (typically implies soft real-time synchronisation).
   -- Architecture might be time varying and the control objectives
      might change over time.

c) Non realtime
   -- Well anything goes.

    >> >From past experiences with realizing complex vision systems, I
    >> think that the limited usability and high complexity of CORBA
    >> is a problem for application developers.

    HB> Yes, that's why (i) Orocos does not depend on CORBA, but is
    HB> CORBA-ready for those who want to use it; (ii) if you _really_
    HB> need networked complex systems, you are either doomed to
    HB> re-invent CORBA (poorly) or to use it (or other forms of
    HB> middleware such as offered in Java or .NET).

Yep OROCOS should provide an abstraction for IPC and below the
abstraction one might use Corba (as KTH/FAW uses TAO). One problem is
often to provide the hiding in such a fashion that the programmer of
OROCOS is completely hidden from the Corba layer, but this should be
the case. For general communication to make it transparent across
templates... (all the fancy C++ features) is use of valuetypes, which
makes programming more difficult to understand, but the software
engineering is "prettier", so there is trade-off. 

    HB> Also note that CORBA has provisions (but not yet
    HB> implementations, if I am not mistaken) to use "streaming-like"
    HB> data flows; CORBA is just used to set up the stream, which can
    HB> then stream efficiently without CORBA intervention.

Corba is a moving target and it ought to be possible to provide an
abstraction in OROCOS that makes the OROCOS less of a moving
target. So bleeding edge features might be useful but they do pose a
threat to portability ....

    >> We at Bielefeld University are dealing with integrating several
    >> vision components, e.g. in the IST-project VAMPIRE.  As we also
    >> have a mobile robot, we ended up testing OROCOS@KTH which was
    >> indeed non-trivial to get running on our linux machines.

    HB> All these things are still beta, you know. It's only by
    HB> feedback and help from courageous groups like yours that these
    HB> things will mature :-)

We are always happy to get development assistance. Use of the system
of course give feedback on features but it is better if more people
contribute.

    >> But finally we got it to work and we are now in the process of
    >> evaluating how well it fits our needs. Although OROCOS@KTH is
    >> work in progress, we have the impression that it might be very
    >> well suited as middleware solution.
    HB> Good! So work with them to make it better...

Excellent, thank you will you contribute your code back to the
community??

    >> For us at Bielefeld as 'vision and robotics' application
    >> developers, we would be very interested in a reliable and
    >> simple to use framework that could be used to integrate systems
    >> in both domains.

    HB> Do you have any concrete suggestions about what would be your
    HB> requirements?

The problem here is several:

a) You want the soft synchronous system support, but more importantly
   there is a need to integrate VISION functionality / libraries into
   the system. This is more than access to a frame grabber, so you
   need to have libraries for basic image processing, tracking,
   recognition, so far noone in OROCOS is working on this, but it
   would be useful to have various code contributed and interfaced.

   To me it would be useful to have an effort to define a standard set
   of datatypes (point, lines, planes) and datatypes with uncertainty
   (points, lines, planes) and of course basic types of
   semantics. This could be used in vision and in various robotics
   systems with estimation libraries ....

Soon the present OROCOS effort will finish its contract, and there is
still a need to determine how / if OROCOS will survive once there are
not funds to maintain the effort. At KTH we have had no funds for
quite some time (for OROCOS), and a community has to come into place
in which several institutions contribute to the same body of
code. Today there seem to be several competing software bodies, but
unless we start to see contribution to one or more of them, I suspect
the effort might cease to exist. The KUL activity is involved in
several projects and I am sure it will continue to operate, but for
the others SmartSoft and OROCOS@KTH it is not obvious that "free"
support is a good model for a long-term contributions to the
community.

Cheers

Henrik
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.