Re: My 2c

Herman Bruyninckx <[email protected]>
Newsgroups gmane.science.robotics.orocos.user
Message-ID <Pine.LNX.4.33.0108090904150.3390-100000@pc25-213.mech.kuleuven.ac.be>
On Thu, 9 Aug 2001, David Austin wrote:

>
> Here are my thoughts on Orocos (as it stands today):
Thanks.

This paragraph is written after I've carefully read your whole email: I
strongly believe we are thinking along very compatible lines. To
summarize: my idea of what Orocos should become is, in the first
place, a set of robotics _libraries_ of high quality, and, only in the
second place, a reference architecture (or rather, a _set_ of possible
reference architectures, because I don't believe that there is only
one superior design). Both things (libraries and designs) have to be
as decoupled as possible: whatever architecture you want to use for
your system you should be able to construct it out of Orocos (and
other) building blocks for more than 90%. And the issues you mention
(CORBA and XML) should only be means to _glue_ things together, and
not key factors in the _contents_ of Orocos.

Now about the more detailed discussion:

[...]
> My biggest problems are with CORBA and XML:

If these are your problems then there are no problems at all :-) Why?
Because the CORBA thing is nothing but glue that _can_ be used to
connect things. Nothing in the orocos code should depend on CORBA if
you don't want to use it. For example, our own interests are in force
control, and I would not even think of using CORBA in such
time-critical applications.

But `higher-level' users and companies will want use Orocos (and
other) code, and integrate it. (I hope.) I just have another (Belgian)
open source project approved, in which three machine tool companies
are involved: they have explicitly expressed their interest in
standard communication protocols and tools such as CORBA and XML; so I
know these things matter, albeit not directly at the core of Orocos.

>  1) I don't think that it has reached maturity and become a widely
>     accepted standard
I agree with you. But doesn't the same hold for alternatives?

>  2) I don't think that it will ever reach the real-time performance
>     that we desire for the low-level control
Of course. As I said earlier, CORBA is no option for these
applications. Apparently, what is on the web is not sufficiently clear
in this respect, so I will have to change it :-)

>  3) While the standard is portable and can in theory be used on any
>     software platform, reality is a little different.  CORBA would be
>     another *major* software component to install on every computer in
>     the lab

I agree.

>  4) It is a complex, abstract system that every PhD student would have
>     to learn

I agree.

But I do see some useful applications for CORBA (or SOAP, or...), at
higher, less time-critical and machine-dependent levels. For example:
I want to test your motion planner on my system, or you want to
compare my pattern recognition algorithm with yours, etc.


> XML: I think that XML is a total waste of time.  There are many
> portable messaging schemes and the only difference with XML is that it
> wastes more bandwith than all the others by using [almost]
> human-readable messages. Note that whatever encoding scheme one uses,
> it is still necessary to have knowledge of the semantics at both the
> sender and the receiver.  XML doesn't help with this and it is hugely
> wasteful of bandwidth.  XML is just the latest fancy buzzword that
> managers like to use - there have been solutions to this problem for
> decades! (see http://www.eetimes.com/story/OEG20010807S0038)

I am open to any alternative! But I really believe the value of having
a real standard, mainly because of :
1. the _tools_ that exist for it.
2. the familiarity of the average Linux programmer with the concepts
   and tools of XML. For example, XML in more and more in the core of
   popular projects such as Gnome, which guarantees us the
   availability of up-to-date and featureful software to deal with XML.

Which other alternative has this wide support?  Of course it spoils
bandwidth, so (as for CORBA) no part of the software should use it in
time-critical situations. For example: I don't want my servo thread
talk to the sensors in XML :-)

And of course there  have been solutions to this problem for ages, but
which of them is better, and why? This ASN.1 that you mention? Who is
going to use that? What tools exist?

Just to be sure: XML is (as all other things in Orocos) not a
breakpoint for me!

> To facilitate coding by PhD students, we need to provide a system for
> modular software development.  So, we need basic systems for
> communication (using a variety of methods) and execution of processes
> (across a number of CPUs).

I agree.

>  Another issue that I believe is important
> (though, more a matter of management than technology) is that the
> interfaces between modules need to be well defined and change as
> little as possible.

I agree, and that's exactly the only reason why I tried to manage
Orocos in a way that might be a-typical for open source: first talk
about design (and interfaces is the essence of design), and only then
start coding (or wrapping existing code).
Though, of course, that's easier said than done :-)

> I will be attending the meeting at the start of September so we can
> continue this discussion over a beer or two. :-)
Great! But I'll leave the beer drinking to you, and take a glass of
wine, if you don't mind :-)

See you!

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